网站大量收购闲置独家精品文档,联系QQ:2885784924

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

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可编程逻辑基本设计原则课件

(1)面积和速度的平衡与互换原则。 ???????????“面积”指一个设计所消耗FPGA/CPLD的逻辑资源数量:对于FPGA,可以用所消耗的触发器(FF)和查找表(LUT)来衡量;对于CPLD,常用宏单元(MC)衡量。 ????????????“速度”指设计在芯片上稳定运行时所能达到的最高频率,这个频率由设计的时序状况决定,与设计满足的时钟周期、PAD to PAD time、clock setup time、clock hold time和clock-to-output delay等众多时序特征量密切相关。 ????????????如果设计的时序余量比较大,运行的频率比较高,则意味着设计的健壮性更强,整个系统的质量更有保证;另一方面,设计所消耗的面积更小,则意味着在单位芯片上实现的功能模块更多,需要的芯片数量更少,整个系统的成本也随之大幅度消减。相比之下,满足时序、工作频率的要求更重要一些,当两者冲突时,采用速度优先的准则。 ??????????从理论上讲,一个设计如果时序余量较大,所能跑的频率远远高于设计要求,那么就能通过功能模块复用减少整个设计消耗的芯片面积,用速度的优势换面积的节约;反之,如果设计的时序要求很高,普通方法达不到设计频率,那么一般可以通过将数据流串并转换,并行复制多个操作模块,对整个设计进行“乒乓操作”和“串并转换”的思想进行处理,在芯片输出模块处再对数据进行“并串转换”。 “面积换速度”的思想:首先将输入的高速数据进行串并转换,然后利用较低的速度对多个模块并行处理所分配的数据,最后将处理结果“并串转换”,完成数据速率的要求。这样我们在整个处理模块的两端看都是高速数据流。? 操作过程中还涉及很多的方法和技巧,例如,对高速数据流进行串并转换,采用“乒乓操作”方法提高数据处理速率等。 (2)硬件原则。 ???????????for循环语句的使用:实际工作中,除了描述仿真测试激励(testbench)时使用for循环语句外,极少在RTL级编码中使用for循环,因为for循环会被综合器展开为所有变量情况的执行语句,每个变量独立占用寄存器资源,每条执行语句并不能有效地复用硬件逻辑资源,造成巨大的资源浪费。在RTL级描述中,遇到类似算法,推荐的方式是先搞清楚设计的时序要求,做一个reg型计数器,在每个时钟沿累加,并在每个时钟判断计数器情况,并相应的处理,能复用的处理模块尽量复用,即使所有操作都不能服用,也可采用case语句展开处理。 casex和casez 应用一定要小心,要注意是否可综合。 if……else……与case语句的使用:在verilog语法中,if……else……语句是有“优先级”的,一般来说第一个if的优先级最高,最后一个else的优先级最低。如果描述编码器,在有些综合器的参数中就有关于优先级编码器硬件原语的选项priority encoder extraction。而case语句是“平行”的结构,所有的case的条件和执行都没有“优先级”。而建立优先级结构(优先级树)会消耗大量的组合逻辑,所以能够使用case语句的地方尽量用case替换if……else… (3)系统原则。 ???????????对设计的全局有个宏观的合理安排,比如时钟域、模块复用、约束、面积和速度等问题。 ??????????一般来说,实时性要求高、频率快的功能模块适合使用FPGA/CPLD实现。而FPGA和CPLD相比,更适合实现规模较大、频率较高、寄存器资源使用较多的设计。使用FPGA/CPLD设计时,应该对芯片内部的各种底层硬件资源、可用的设计资源有一个较深刻的认识,FPGA一般触发器资源比较丰富,CPLD组合逻辑资源更丰富一些,这直接影响着两者使用的编码风格。 ????????RAM资源的使用: altera高端器件(如stratix II、stratix GX、stratix等)内部同时含有3种块RAM结构,分别是M512 (512bit)RAM、M4K RAM(4kbit)、M-RAM(512kbit),其中M512 RAM适合做一些灵活的小块buffer、FIFO、DPRAM、SPRAM、ROM等;M4K RAM应用最广,适用于一般的需求;M-RAM适合做大块数据的缓冲区,如在通信的SDH/SONET传输领域,有一些900Kbit的大数据包,用M-RAM实现缓冲结构非常方便。 ??????软核的使用:FPGA的一个发展趋势是越来越多的FPGA产品将包含DSP或CPU等软处理核,从而FPGA将由传统的硬件设计手段逐步过渡为系统级设计工具。内嵌在FPGA之中的DSP或CPU处理模块比较适合应用于运算密集的FIR滤波器、编码解码、FFT等操作,其工作效率可以达到系统DSP和CPU 的几百倍。 ???????串行收

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档