FPGA/CPLD 的设计思想与技巧是一个非常大的话题,由于篇幅所限,本文仅介绍一些常用的设计思想与技巧, 包括乒乓球操作、串并转换、流水线操作和数据接口的同步方法。希望本文能引起工程师们的注意, 如果能有意识地利用这些原则指导日后的设计工作,将取得事半功倍的效果!
乒乓操作” 是一个常常应用于数据流控制的处理技巧,典型的乒乓操作方法如图1 所示。
乒乓操作的处理流程为:输入数据流通过“ 输入数据选择单元” 将数据流等时分配到两个数据缓冲区, 数据缓冲模块可以为任何存储模块, 比较常用的存储单元为双口RAM(DPRAM) 、单口RAM(SPRAM) 、FIFO 等。在第一个缓冲周期,将输入的数据流缓存到“ 数据缓冲模块1” ;在第2 个缓冲周期,通过“ 输入数据选择单元” 的切换,将输入的数据流缓存到“ 数据缓冲模块2” ,同时将“ 数据缓冲模块1” 缓存的第1 个周期数据通过“ 输入数据选择单元” 的选择,送到“ 数据流运算处理模块” 进行运算处理;在第3 个缓冲周期通过“ 输入数据选择单元” 的再次切换,将输入的数据流缓存到“ 数据缓冲模块1” ,同时将“ 数据缓冲模块2” 缓存的第2 个周期的数据通过“ 输入数据选择单元” 切换,送到“ 数据流运算处理模块” 进行运算处理。如此循环。乒乓操作的最大特点是通过“ 输入数据选择单元” 和“ 输出数据选择单元”按节拍、相互配合的切换,将经过缓冲的数据流没有停顿地送到“ 数据流运算处理模块” 进行运算与处理。把乒乓操作模块当做一个整体,站在这个模块的两端看数据, 输入数据流和输出数据流都是连续不断的, 没有任何停顿, 因此非常适合对数据流进行流水线式处理。所以乒乓操作常常应用于流水线式算法, 完成数据的无缝缓冲与处理。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !