EDA技术与Verilog设计第十二章.ppt

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

第12章 Verilog语言的发展;12.1 语法结构的扩展和增强 12.2 设计管理 12.3 定时检查 12.4 系统任务和系统函数的扩展 12.5 VCD文件的扩展 12.6 综合 12.7 编程语言接口(PLI);12.1 语法结构的扩展与增强 ;12.1.2 对符号和运算符的扩展 ;在Verilog-1995中,书写敏感信号列表时,用“or”来连接敏感信号,如: always @(a or b or cin) {cout,sum}=a+b+cin; always @(posedge clk or negedge clr) if (!clr) q=0; else q=d; 在Verilog-2001中可用逗号分隔敏感信号 always @(a, b, cin) {cout,sum}=a+b+cin; always @(posedge clock, negedge clr) if (!clr) q=0; else q=d;;用always过程块描述组合逻辑时,应在敏感信号列表中列出所有的输入信号,在Verilog-2001中可用通配符“*”来包括该过程块中的所有信号变量。 比如:在Verilog-1995中,一般这样写敏感信号??表: always @(a or b or cin) {cout,sum}=a+b+cin; 在Verilog-2001中可表示为如下两种形式。 always @(*) //形式1 {cout,sum}=a+b+cin; always @* //形式2 {cout,sum}=a+b+cin;;Verilog-2001增加了算术移位操作符“”和“”,对于有符号数,执行算术移位操作时,将符号位填补移出的位,比如,如果定义有符号数A = 8`s则执行逻辑移位操作和算术移位操作后的值分别如下。 A3; //逻辑右移后其值为8` A3; //算术右移后其值为8`12.1.3 对向量部分选择的扩展 ;12.1.4 矩阵的扩展 ;12.1.5 表达式确定的数据位宽的改动 ;12.1.6 变量声明赋值 ;12.1.7 generate语句 ;12.1.8 任务和函数中增加的关键字automatic ;12.1.9 常数函数;12.1.10 模块实例化时的参数定义;12.1.11 新增条件编译语句;12.2 设计管理 ;设计管理举例;库映射文件: file lib.map library rtlLib top.v; library aLib adder.*; library gateLib adder.vg;;若没有进行配置,库文件的搜索将按照map文件声明的顺序。这意味着顶层模块中所有的实例化加法器都来自aLib.adder,因为aLib是在map文件声明中第一个包含名为adder的单元(cell)的库。同样道理,所有的foo也都来自rtlLib.foo。;config cfg1; design rtlLib.top default liblist aLib rtlLib; endconfig 以上的程序可以使foo始终引用adder.v文件,因为default liblist覆盖了lib.map文件声明的库搜索顺序,使aLib始终在rtlLib之前被搜索。而gataLib没有包含在liblist中,因此,门级的adder和foo不会被引用。若要引用门级描述的adder和foo,则可按如下方式配置。 config cfg2; design rtlLib.top default liblist gateLib aLib rtlLib; endconfig;config cfg3; design rtlLib.top default liblist aLib rtlLib; cell foo use gateLib.foo; endconfig 以上的程序可以引用来自aLib的rtl级adder和gataLib的门级foo。cell语句指定了所有名为“foo”的单元均引用gateLib库中的门级描述。 ;config cfg4 design rtlLib.top default liblist gateLib rtlLib; instance top.a2 liblist aLib; end

文档评论(0)

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

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

1亿VIP精品文档

相关文档