可编程逻辑基本设计原则.doc

可编程逻辑基本设计原则.doc

ID:55673600

大小:81.50 KB

页数:7页

时间:2020-05-24

可编程逻辑基本设计原则.doc_第1页
可编程逻辑基本设计原则.doc_第2页
可编程逻辑基本设计原则.doc_第3页
可编程逻辑基本设计原则.doc_第4页
可编程逻辑基本设计原则.doc_第5页
资源描述:

《可编程逻辑基本设计原则.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、(1)面积和速度的平衡与互换原则。“面积”指一个设计所消耗FPGA/CPLD的逻辑资源数量:对于FPGA,可以用所消耗的触发器(FF)和查找表(LUT)来衡量;对于CPLD,常用宏单元(MC)衡量。“速度''指设计在芯片上稳定运行时所能达到的最高频率,这个频率山设计的时序状况决定,与设计满足的时钟周期、PADtoPADtime、clocksetuptime、clockholdtime和clock-to-outputdelay等众多时序特征量密切相关。如果设计的时序余量比较大,运行的频率比较高,则意味着设计的健壮性更强,整个系统的质量更仃保证;另一方面,设计所消耗的面积更小,则意味着在单位芯

2、片上实现的功能模块更多,需要的芯片数量更少,整个系统的成本也随之大幅度消减。相比之I、•,满足时序、工作瓢率的要求更重要一些,当两者冲突时,采用速度优先的准则。从理论上讲,一个设计如果时序余量较大,所能跑的频率远远高于设计要求,那么就能通过功能模块夏用减少整个设计消耗的芯片面积,用速度的优势换面积的节约:反之,如果设计的时序要求很高,普通方法达不到设计频率,那么一般可以通过将数据流串并转换,并行复制多个操作模块,对整个设计进行“乒乓操作”和呻并转换”的思想进行处理,在芯片输出模块处再对数据进行“并串转换“面积换速度''的思想:首先将输入的高速数据进行甲并转换,然后利用较低的速度对多个模块并

3、行处理所分配的数据,最后将处理结果“并串转换”,完成数据速率的要求。这样我们在•整个处理模块的两端看都是高速数据流。操作过程中还涉及很多的方法和技巧,例如,对高速数据流进行串并转换,采用“乒乓操作''方法提高数据处理速率等。(2)硬件原则。for循环语句的使用:实际工作中,除了描述仿真测试激励(testbench)时使用for循环语句外,极少在RTL级编码中使用for循环,因为for循环会被综合器展开为所仃变兼情况的执行语句,每个变量独立占用寄存器资源,每条执行语句并不能有效地复用硬件逻辑资源,造成巨大的资源浪费。在RTL级描述中,遇到类似算法,推荐的方式是先搞清楚设计的时序要求,做一个r

4、eg型计数器,在每个时钟沿累加,并在每个时钟判断计数器情况,并相应的处理,能复用的处理模块尽量复用,即使所有操作都不能服用,也可采用case语句展开处理。casex和casez应用一定要小心,要注意是否可综合。ifelse与case语句的使用:在verilog语法中,ifelse语句是有“优先级”的,—般来说第一个if的优先级最高,最后一个else的优先级最低°如果描述编码器,在有些综合器的参数中就有关于优先级编码器硬件原语的选项priorityencoderextraction0而case语句是“平行”的结构,所有的case的条件和执行都没有“优先级”。而建立优先级结构(优先级树)会消耗

5、大量的组合逻辑,所以能够使用case语句的地方尽量用case替换if......else...(3)系统原则。对设计的全局有个宏观的合理安排,比如时钟域、模块夏用、约束、面积和速度等问题。一般来说,实时性要求高、频率快的功能模块适合使用FPGA/CPLD实现。而FPGA和CPLD相比,更适合实现规模较大、频率较高、寄存器资源使用较多的设计。使用FPGA/CPLD设计时,应该对芯片内部的各种底层硬件资源、可用的设计资源有•个较深刻的认识,FPGA…般触发器资源比较丰富,CPLD组合逻辑资源更丰富一些,这直接影响着两者使用的编码风格。RAM资源的使用:altera高端器件(如stratixII

6、、stratixGX、stratix箸)内部同时含有3种块RAM结构,分别是M512(512bit)RAM、M4KRAM(4kbit)、M-RAM(512kbit),其中M512RAM适合做一些灵活的小块buffer>FIFO、DPRAM.SPRAM.ROM等;M4KRAM应用最广,适用于一般的需求;M-RAM适合做大块数据的缓冲冈,如在通信的SDH/SONET传输领域,有一些900Kbit的大数据包,用M-RAM实现缓冲结构非常方便。软核的使用:FPGA的-个发展趋势是越来越多的FPGA产品将包含DSP或CPU等软处理核,从而FPGA将山传统的硬件设计手段逐步过渡为系统级设计工具。内嵌在

7、FPGA之中的DSP或CPU处理模块比较适合应用于•运算密集的FIR滤波器、编码解码、FFT等操作,其工作效率可以达到系统DSP和CPU的儿百倍。串行收发器的使用:很多高端FPGA内嵌了SERDES以完成高速串行信号的收发oSERializer和DESerializer的英文缩写,即串行收发器,它由两部分组成:发端是串行发送单元SERializer,用高速时钟调制编码数据流:接收端为串行接收单元DESerializer,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。