FPGA中不可综合语句汇总.pdfVIP

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

(1)所有综合工具都支持的结构 :always,assign,begin,end,case,wire,tri, aupply0,supply1,reg,integer,default,for,function,and,nand,or,nor,xor, xnor,buf,not,bufif0,bufif1,notif0,notif1,if,inout,input,instantitation , module,negedge,posedge,operators,output,parameter。 (2)所有综合工具都不支持的结构 :time,defparam ,$finish,fork,join,initial, delays,UDP,wait。 (3)有些工具支持有些工具不支持的结构 :casex,casez,wand,triand,wor,trior, real,disable,forever,arrays,memories,repeat,task,while。 建立可综合模型的原则 要保证 Verilog HDL 赋值语句的可综合性,在建模时应注意以下要点: (1)不使用 initial。 (2)不使用#10。 (3)不使用循环次数不确定的循环语句,如 forever、while 等。 (4)不使用用户自定义原语( UDP 元件)。 (5)尽量使用同步方式设计电路。 (6)除非是关键路径的设计 ,一般不采用调用门级元件来描述设计的方法 ,建议采用 行为语句来完成设计。 (7)用 always 过程块描述组合逻辑,应在敏感信号列表中列出所有的输入信号。 (8)所有的内部寄存器都应该能够被复位,在使用 FPGA 实现设计时,应尽量使用器 件的全局复位端作为系统总的复位。 (9)对时序逻辑描述和建模,应尽量使用非阻塞赋值方式。对组合逻辑描述和建模 , 既可以用阻塞赋值,也可以用非阻塞赋值。但在同一个过程块中,最好不要同时用阻塞赋 值和非阻塞赋值。 (10)不能在一个以上的 always 过程块中对同一个变量赋值 。而对同一个赋值对象不 能既使用阻塞式赋值,又使用非阻塞式赋值。 (11)如果不打算把变量推导成锁存器,那么必须在 if 语句或 case 语句的所有条件 分支中都对变量明确地赋值。 (12)避免混合使用上升沿和下降沿触发的触发器。 (13)同一个变量的赋值不能受多个时钟控制,也不能受两种不同的时钟条件(或者 不同的时钟沿)控制。 (14)避免在 case 语句的分支项中使用 x 值或 z 值。 不可综合 verilog 语句 2009-04-14 19:33 1、initial 只能在 test bench 中使用,不能综合 。(我用 ISE9.1 综合时,有的简单的 initial 也 可以综合,不知道为什么) 2、events event 在同步 test bench 时更有用,不能综合。 3、real 不支持 real 数据类型的综合。 4、time 不支持 time 数据类型的综合。 5、force 和 release 不支持 force 和 release 的综合。 6、assign 和 deassign 不支持对 reg 数据类型的 assign 或 deassign 进行综合,支持对 wire 数据类型的 assign 或 deassign 进行综合。 7、fork join 不可综合,可以使用非块语句达到同样的效果。 8、primitives 支持门级原语的综合,不支持非门级原语的综合。 9、table 不支持 UDP 和 table 的综合。 10、敏感列表里同时带有 posedge 和 negedge 如:always @(posedge clk or negedge clk) begin...end 这个 always 块不可综合。 11、同一个 reg 变量被多个 always 块驱动 12、延时 以#开头的延时不可综合成硬件电路延时 ,综合工具会忽略所有延时代码

文档评论(0)

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

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

1亿VIP精品文档

相关文档