FPGA原理8-再说综合.pptVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA原理8-再说综合

逻辑综合技术受到编码的影响 随着综合算法技术水平的提高,针对某些寄存器传输级RTL电路描述可以进行有效的优化,但是对于更普遍的电路描述这还不够, 因此综合结果是否满足给定的时间约束条件和面积约束条件, 还取决于VHDL编码方式。 逻辑综合经验之资源共享 process (a,b,c,test) begIn if(test=TRUE) then O=a+b; else O=a+c; endif; end process; process (a,b,c,test) variable tmp:integer range 0 to255 begin if(test=TRUE) then tmp:=b; else tmp:=c; endif; O=a+tmp; end process; 逻辑综合经验之资源共享 Ol=a+b+c O2=b+c+d O1=a+(b+c); O2=(b+c)+d; 逻辑综合经验使用状态机设计 由于状态机的结构模式相对简单,设计方案相对固定。特别是在VHDL中可以定义符号化枚举类型的状态,这为VHDL综合器尽可能发挥其强大的优化功能提供了有利条件。 因此采用状态机设计具有易构成性能良好的时序逻辑模块,利用同步时序和全局时钟线可实现高速FSM等优点。在实现相同功能的情况下,能使设计的电路得到更好的优化。 逻辑综合经验之 使用带范围限制的数据类型 例如: 在VHDL中无约束整数的范围是从 -2147483647~+2147483647。这意味着至少需要32位来表示,但通常这会造成资源的浪费, 有些综合软件会自动优化,但消耗了时间,因此如果不需要全范围的整数,最好指定范围。如: Signal sint:integer range 0 to 255 结果只占用了8位。 逻辑综合经验之使用宏模块 当在VHDL中使用算术逻辑、关系逻辑等通用逻辑结构时,很多开发软件可以提供针对特定工艺的优化宏模块。 这些宏模块具有执行效率高,综合结果突出,编译时间短等优点。 缺点是造成了VHDL程序依赖于具体的器件系列,影响了移植性。 逻辑综合经验之优化设计 在不妨碍设计规格约束的前提下,小幅度修改设计功能,得到大幅度提高综合效率的结果。 逻辑综合经验之优化设计举例 process begin walt until clk’event and cIk=’1’; If(count=input_signa1) then count=0; else count= count+I; end if; end process; process begin walt until clk’event and cIk=’1’: if(count=0) then coun t=input_signal; else count=count-1; end if; end process; 逻辑综合经验之 正确使用IF-ELSE语句 如果IF语句描述不完整/不严谨,有可能增加不必要的寄存器设计。 在能够正确解决优先级问题的前提下,可以尽量考虑使用WHEN…ELSE或者CASE语句来实现条件语句的设计。 逻辑综合经验之流水线设计 流水线是一种在时间上串行/空间上并行的技术 。 将整个电路划分为若干个流水线级,流水线每级之间设置寄存器锁存上一级输出的数据 ,每一级只完成数据处理的一部分 。 采用流水线技术在资源耗用(逻辑单元与寄存器个数、存储器位数)上有所增加。 逻辑综合经验之流水线设计实现 流水线技术的实质就是在适当的地方加入寄存器,将前面的运算结果或输入数据暂存,并在下一个时钟到来时,将寄存值作为后一级运算的输入。 因此在用VHDL描述流水线时,只需对不含流水线的运算器描述代码作适当改写,施加必要的设计约束即可实现。一般通过在进程中加入WAIT语句或IF_THEN语句来测试敏感信号边沿,实现寄存器。 PROCESS BEGIN ……. wait until clk’event and clk=’1’;或者 if clk’event and clk=‘1’ then reg<=x; ……. END PROCESS; 逻辑综合经验之流水线设计 逻辑综合经验之关键路径法 关键路径是指在FPGA/CPLD的设计中从输入到输出之间信号延迟最大的逻辑路径。 关键路径的优化是提高PLD设计工作速度的一种有效方法。 充分利用EDA工具的设计分析功能,提取关键路径信息。 逻辑综合经验之设计约束 除了HDL硬件描述语言本身的功能之外,设计约束是影响PLD性能的很重要的因素。PLD设计约束表达了超越硬件描述语

您可能关注的文档

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档