FPGA设计的四种常用思想与技巧

上传人:hs****ma 文档编号:560722917 上传时间:2023-07-10 格式:DOCX 页数:10 大小:131.98KB
返回 下载 相关 举报
FPGA设计的四种常用思想与技巧_第1页
第1页 / 共10页
FPGA设计的四种常用思想与技巧_第2页
第2页 / 共10页
FPGA设计的四种常用思想与技巧_第3页
第3页 / 共10页
FPGA设计的四种常用思想与技巧_第4页
第4页 / 共10页
FPGA设计的四种常用思想与技巧_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《FPGA设计的四种常用思想与技巧》由会员分享,可在线阅读,更多相关《FPGA设计的四种常用思想与技巧(10页珍藏版)》请在金锄头文库上搜索。

1、FPGA设计的四种常用思想与技巧本文讨论的的四种常常用FPPGA/CPLLD设计计思想与与技巧:乒乓操操作、串串并转换换、流水水线操作作、数据据接口同同步化,都都是FPPGA/CPLLD逻辑辑设计的的内在规规律的体体现,合合理地采采用这些些设计思思想能在在FPGGA/CCPLDD设计工工作种取取得事半半功倍的的效果。 FPGA/CPLLD的设设计思想想与技巧巧是一个个非常大大的话题题,由于于篇幅所所限,本本文仅介介绍一些些常用的的设计思思想与技技巧,包包括乒乓乓球操作作、串并并转换、流流水线操操作和数数据接口口的同步步方法。希希望本文文能引起起工程师师们的注注意,如如果能有有意识地地利用这这些

2、原则则指导日日后的设设计工作作,将取取得事半半功倍的的效果!乒乓操作“乒乓操作作”是一一个常常常应用于于数据流流控制的的处理技技巧,典典型的乒乒乓操作作方法如如图1所所示。 乒乓操作的的处理流流程为:输入数数据流通通过“输输入数据据选择单单元”将将数据流流等时分分配到两两个数据据缓冲区区,数据据缓冲模模块可以以为任何何存储模模块,比比较常用用的存储储单元为为双口RRAM(DPRRAM)、单口口RAMM(SPPRAMM)、FFIFOO等。在在第一个个缓冲周周期,将将输入的的数据流流缓存到到“数据据缓冲模模块1”;在在第2个个缓冲周周期,通通过“输输入数据据选择单单元”的的切换,将将输入的的数据流

3、流缓存到到“数据据缓冲模模块2”,同同时将“数数据缓冲冲模块11”缓存存的第11个周期期数据通通过“输输入数据据选择单单元”的的选择,送送到“数数据流运运算处理理模块”进进行运算算处理;在第33个缓冲冲周期通通过“输输入数据据选择单单元”的的再次切切换,将将输入的的数据流流缓存到到“数据据缓冲模模块1”,同同时将“数数据缓冲冲模块22”缓存存的第22个周期期的数据据通过“输输入数据据选择单单元”切切换,送送到“数数据流运运算处理理模块”进进行运算算处理。如如此循环环。 乒乓操作的的最大特特点是通通过“输输入数据据选择单单元”和和“输出出数据选选择单元元”按节节拍、相相互配合合的切换换,将经经过

4、缓冲冲的数据据流没有有停顿地地送到“数数据流运运算处理理模块”进进行运算算与处理理。把乒乒乓操作作模块当当做一个个整体,站站在这个个模块的的两端看看数据,输输入数据据流和输输出数据据流都是是连续不不断的,没没有任何何停顿,因因此非常常适合对对数据流流进行流流水线式式处理。所所以乒乓乓操作常常常应用用于流水水线式算算法,完完成数据据的无缝缝缓冲与与处理。 乒乓操作的的第二个个优点是是可以节节约缓冲冲区空间间。比如如在WCCDMAA基带应应用中,11个帧是是由155个时隙隙组成的的,有时时需要将将1整帧帧的数据据延时一一个时隙隙后处理理,比较较直接的的办法是是将这帧帧数据缓缓存起来来,然后后延时1

5、1个时隙隙进行处处理。这这时缓冲冲区的长长度是11整帧数数据长,假假设数据据速率是是3.884Mbbps,11帧长110mss,则此此时需要要缓冲区区长度是是384400位位。如果果采用乒乒乓操作作,只需需定义两两个能缓缓冲1个个时隙数数据的RRAM(单口RRAM即即可)。当当向一块块RAMM写数据据的时候候,从另另一块RRAM读读数据,然然后送到到处理单单元处理理,此时时每块RRAM的的容量仅仅需25560位位即可,22块RAAM加起起来也只只有51120位位的容量量。另外,巧妙妙运用乒乒乓操作作还可以以达到用用低速模模块处理理高速数数据流的的效果。如如图2所所示,数数据缓冲冲模块采采用了双

6、双口RAAM,并并在DPPRAMM后引入入了一级级数据预预处理模模块,这这个数据据预处理理可以根根据需要要的各种种数据运运算,比比如在WWCDMMA设计计中,对对输入数数据流的的解扩、解解扰、去去旋转等等。假设设端口AA的输入入数据流流的速率率为1000Mbbps,乒乒乓操作作的缓冲冲周期是是10mms。以以下分析析各个节节点端口口的数据据速率。 A端口处输输入数据据流速率率为1000Mbbps,在在第1个个缓冲周周期100ms内内,通过过“输入入数据选选择单元元”,从从B1到到达DPPRAMM1。BB1的数数据速率率也是1100MMbpss,DPPRAMM1要在在10mms内写写入1MMb数

7、据据。同理理,在第第2个110mss,数据据流被切切换到DDPRAAM2,端端口B22的数据据速率也也是1000Mbbps,DDPRAAM2在在第2个个10mms被写写入1MMb数据据。在第第3个110mss,数据据流又切切换到DDPRAAM1,DDPRAAM1被被写入11Mb数数据。 仔细分析就就会发现现到第33个缓冲冲周期时时,留给给DPRRAM11读取数数据并送送到“数数据预处处理模块块1”的的时间一一共是220mss。有的的工程师师困惑于于DPRRAM11的读数数时间为为什么是是20mms,这这个时间间是这样样得来的的:首先先,在在在第2个个缓冲周周期向DDPRAAM2写写数据的的10

8、mms内,DDPRAAM1可可以进行行读操作作;另外外,在第第1个缓缓冲周期期的第55ms起起(绝对对时间为为5mss时刻),DPPRAMM1就可可以一边边向5000K以以后的地地址写数数据,一一边从地地址0读读数,到到达100ms时时,DPPRAMM1刚好好写完了了1Mbb数据,并并且读了了5000K数据据,这个个缓冲时时间内DDPRAAM1读读了5mms;在在第3个个缓冲周周期的第第5mss起(绝绝对时间间为355ms时时刻),同同理可以以一边向向5000K以后后的地址址写数据据一边从从地址00读数,又又读取了了5个mms,所所以截止止DPRRAM11第一个个周期存存入的数数据被完完全覆盖

9、盖以前,DDPRAAM1最最多可以以读取220mss时间,而而所需读读取的数数据为11Mb,所所以端口口C1的的数据速速率为:1Mbb/200ms=50MMbpss。因此此,“数数据预处处理模块块1”的的最低数数据吞吐吐能力也也仅仅要要求为550Mbbps。同同理,“数数据预处处理模块块2”的的最低数数据吞吐吐能力也也仅仅要要求为550Mbbps。换换言之,通通过乒乓乓操作,“数数据预处处理模块块”的时时序压力力减轻了了,所要要求的数数据处理理速率仅仅仅为输输入数据据速率的的1/22。 通过乒乓操操作实现现低速模模块处理理高速数数据的实实质是:通过DDPRAAM这种种缓存单单元实现现了数据据流

10、的串串并转换换,并行行用“数数据预处处理模块块1”和和“数据据预处理理模块22”处理理分流的的数据,是是面积与与速度互互换原则则的体现现! 串并转换设设计技巧巧串并转换是是FPGGA设计计的一个个重要技技巧,它它是数据据流处理理的常用用手段,也也是面积积与速度度互换思思想的直直接体现现。串并并转换的的实现方方法多种种多样,根根据数据据的排序序和数量量的要求求,可以以选用寄寄存器、RRAM等等实现。前前面在乒乒乓操作作的图例例中,就就是通过过DPRRAM实实现了数数据流的的串并转转换,而而且由于于使用了了DPRRAM,数数据的缓缓冲区可可以开得得很大,对对于数量量比较小小的设计计可以采采用寄存存

11、器完成成串并转转换。如如无特殊殊需求,应应该用同同步时序序设计完完成串并并之间的的转换。比比如数据据从串行行到并行行,数据据排列顺顺序是高高位在前前,可以以用下面面的编码码实现: prll_teemp=pprl_temmp,ssrl_in; 其中,prrl_ttempp是并行行输出缓缓存寄存存器,ssrl_in是是串行数数据输入入。对于于排列顺顺序有规规定的串串并转换换,可以以用caase语语句判断断实现。对对于复杂杂的串并并转换,还还可以用用状态机机实现。串串并转换换的方法法比较简简单,在在此不必必赘述。 流水线操作作设计思思想首先需要声声明的是是,这里里所讲述述的流水水线是指指一种处处理流

12、程程和顺序序操作的的设计思思想,并并非FPPGA、AASICC设计中中优化时时序所用用的“PPipeelinningg”。 流水线处理理是高速速设计中中的一个个常用设设计手段段。如果果某个设设计的处处理流程程分为若若干步骤骤,而且且整个数数据处理理是“单单流向”的的,即没没有反馈馈或者迭迭代运算算,前一一个步骤骤的输出出是下一一个步骤骤的输入入,则可可以考虑虑采用流流水线设设计方法法来提高高系统的的工作频频率。 流水线设计计的结构构示意图图如图33所示。其其基本结结构为:将适当当划分的的n个操操作步骤骤单流向向串联起起来。流流水线操操作的最最大特点点和要求求是,数数据流在在各个步步骤的处处理从

13、时时间上看看是连续续的,如如果将每每个操作作步骤简简化假设设为通过过一个DD触发器器(就是是用寄存存器打一一个节拍拍),那那么流水水线操作作就类似似一个移移位寄存存器组,数数据流依依次流经经D触发发器,完完成每个个步骤的的操作。流流水线设设计时序序如图44所示。 流水线设计计的一个个关键在在于整个个设计时时序的合合理安排排,要求求每个操操作步骤骤的划分分合理。如如果前级级操作时时间恰好好等于后后级的操操作时间间,设计计最为简简单,前前级的输输出直接接汇入后后级的输输入即可可;如果果前级操操作时间间大于后后级的操操作时间间,则需需要对前前级的输输出数据据适当缓缓存才能能汇入到到后级输输入端;如果

14、前前级操作作时间恰恰好小于于后级的的操作时时间,则则必须通通过复制制逻辑,将将数据流流分流,或或者在前前级对数数据采用用存储、后后处理方方式,否否则会造造成后级级数据溢溢出。 在WCDMMA设计计中经常常使用到到流水线线处理的的方法,如如RAKKE接收收机、搜搜索器、前前导捕获获等。流流水线处处理方式式之所以以频率较较高,是是因为复复制了处处理模块块,它是是面积换换取速度度思想的的又一种种具体体体现。 数据接口的的同步方方法数据接口的的同步是是FPGGA/CCPLDD设计的的一个常常见问题题,也是是一个重重点和难难点,很很多设计计不稳定定都是源源于数据据接口的的同步有有问题。 在电路图设设计阶

15、段段,一些些工程师师手工加加入BUUFT或或者非门门调整数数据延迟迟,从而而保证本本级模块块的时钟钟对上级级模块数数据的建建立、保保持时间间要求。还还有一些些工程师师为了有有稳定的的采样,生生成了很很多相差差90度度的时钟钟信号,时时而用正正沿打一一下数据据,时而而用负沿沿打一下下数据,用用以调整整数据的的采样位位置。这这两种做做法都十十分不可可取,因因为一旦旦芯片更更新换代代或者移移植到其其它芯片片组的芯芯片上,采采样实现现必须从从新设计计。而且且,这两两种做法法造成电电路实现现的余量量不够,一一旦外界界条件变变换(比比如温度度升高),采样样时序就就有可能能完全紊紊乱,造造成电路路瘫痪。 下

16、面简单介介绍几种种不同情情况下数数据接口口的同步步方法: 1. 输入入、输出出的延时时(芯片片间、PPCB布布线、一一些驱动动接口元元件的延延时等)不可测测,或者者有可能能变动的的条件下下,如何何完成数数据同步步? 对于数据的的延迟不不可测或或变动,就就需要建建立同步步机制,可可以用一一个同步步使能或或同步指指示信号号。另外外,使数数据通过过RAMM或者FFIFOO的存取取,也可可以达到到数据同同步目的的。把数据存放放在RAAM或FFIFOO的方法法如下:将上级级芯片提提供的数数据随路路时钟作作为写信信号,将将数据写写入RAAM或者者FIFFO,然然后使用用本级的的采样时时钟(一一般是数数据处理理的主时时钟)将将数据读读出来即即可。这这种做法法的关键键是数据据写入RRAM或或者FIIFO要要可靠,如如果使用用同步RRAM或或者FIIFO,就就要求应应该有一一个与数数据相对对延迟关关系

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号