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

第7章 Verilog设计的层次及风格.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 Verilog设计的层次与风格 Verilog设计的描述风格 结构(Structural)描述 行为(Behavioural)描述 数据流(Data Flow)描述 在Verilog程序中可通过如下方式描述电路的结构 ◆ 调用Verilog内置门元件(门级结构描述) ◆ 调用开关级元件(晶体管级结构描述) ◆ 用户自定义元件UDP(也在门级) Verilog的 内置门元件 门元件的调用 调用门元件的格式为: 门元件名字 例化的门名字(端口列表) 其中普通门的端口列表按下面的顺序列出: (输出,输入1,输入2,输入3……); 比如: and a1(out,in1,in2,in3); //三输入与门 对于三态门,则按如下顺序列出输入输出端口: (输出,输入,使能控制端); 比如: bufif1 mytri1(out,in,enable); //高电平使能的三态门 门元件的调用 对于buf和not两种元件的调用,需注意的是:它们允许有多个输出,但只能有一个输入。比如: not N1(out1,out2,in); //1个输入in,2个输出out1,out2 buf B1(out1,out2,out3,in); //1个输入in,3个输出out1,out2,out3 【例7.1】 调用门元件实现的4选1 MUX module mux4_1a(out,in1,in2,in3,in4,s0,s1); input in1,in2,in3,in4,s0,s1; output out; wire s0_n,s1_n,w,x,y,z; not (sel0_n,s0),(s1_n,s1); and (w,in1,s0_n,s1_n),(x,in2,s0_n,s1), (y,in3,s0,s1_n),(z,in4,s0,s1); or (out,w,x,y,z); endmodule 7.3 行为描述 就是对设计实体的数学模型的描述,其抽象程度远高于结构描述方式。行为描述类似于高级编程语言,当描述一个设计实体的行为时,无需知道具体电路的结构,只需要描述清楚输入与输出信号的行为,而不需要花费更多的精力关注设计功能的门级实现。 采用行为描述方式时需注意 用行为描述模式设计电路,可以降低设计难度。行为描述只需表示输入与输出之间的关系,不需要包含任何结构方面的信息。 设计者只需写出源程序,而挑选电路方案的工作由EDA软件自动完成。 在电路的规模较大或者需要描述复杂的逻辑关系时,应首先考虑用行为描述方式设计电路,如果设计的结果不能满足资源占有率的要求,则应改变描述方式。 7.4 数据流描述 数据流描述方式主要使用持续赋值语句,多用于描述组合逻辑电路,其格式为: assign LHS_net=RHS_expression; 右边表达式中的操作数无论何时发生变化,都会引起表达式值的重新计算, 并将重新计算后的值赋予左边表达式的net型变量。 【例7.4】 数据流描述的4选1 MUX module mux4_1c(out,in1,in2,in3,in4,s0,s1); input in1,in2,in3,in4,s0,s1; output out; assign out=(in1 ~s0 ~s1)|(in2 ~s0 s1)| (in3 s0 ~s1)|(in4 s0 s1); endmodule 数据流描述 用数据流描述模式设计电路与用传统的逻辑方程设计电路很相似。设计中只要有了布尔代数表达式就很容易将它用数据流方式表达出来。表达方法是用Verilog中的逻辑运算符置换布尔逻辑运算符即可。 比如,如果逻辑表达式为:,则用数据流方式描述为: assign F=(ab)|(~(cd))。 7.5 不同描述风格的设计 对设计者而言,采用的描述级别越高,设计越容易;对综合器而言,行为级的描述为综合器的优化提供了更大的空间,较之门级结构描述更能发挥综合器的性能,所以在电路设计中,除非一些关键路径的设计采用门级结构描述外,一般更多地采用行为建模方式。 【例7.12】 调用门元件实现的1位全加器 module full_add1(a, b, cin, sum, cout); input a, b, cin; output sum, cout; wire s1,m1, m2, m3; and (m1, a, b), (m2, b, cin), (m3, a, cin); xor (s1, a, b), (sum, s1, cin); or (cout, m1, m2, m3); endmodule

文档评论(0)

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

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

1亿VIP精品文档

相关文档