Verilog HDL与FPGA数字系统设计ch03-Verilog HDL基础与组合电路建模.pptVIP

Verilog HDL与FPGA数字系统设计ch03-Verilog HDL基础与组合电路建模.ppt

  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文档。上传文档
查看更多
真值表举例 表3.2.2 and、nand真值表 and 输入1 nand 输入1 0 1 x z 0 1 x z 输入2 0 0 0 0 0 输入2 0 1 1 1 1 1 0 1 x x 1 1 0 x x x 0 x x x x 1 x x x z 0 x x x z 1 x x x 3.2.2 多输出门 允许有多个输出,但只有一个输入。 not N1(out1,out2,…,in); x x 1 0 z x 1 0 输 入 buf 输 出 buf真值表 输 出 x x 0 1 z x 1 0 输 入 not not真值表 buf B1(out1,out2,…,in); out1 in out2 outN … 3.2.3 三态门 有一个输出、一个数据输入和一个输入控制。 如果输入控制信号无效,则三态门的输出为高阻态z。 b out a sel //Gate-level description module _2to1muxtri (a,b,sel,out); input a,b,sel; output out; tri out; bufif1 (out,b,sel); bufif0 (out,a,sel); endmodule - 2选1数据选择器 一些Verilog原型(Primitive) 小结: 门级建模就是列出电路图结构中的元件,并按网表连接 。 3.2.4 门级建模举例 module addbit (a, b, ci, sum, co); input a, b, ci; output sum, co; wire a, b, ci, sum, co, n1, n2, n3; xor u0(n1, a, b,), u1(sum, n1, ci); and u2(n2, a, b), u3(n3, n1, ci); or (co, n2, n3); endmodule - 1位全加器 3.2.4 门级建模举例 门级描述小结: 1.给电路图中的每个输入输出引脚 赋以 端口名. 2.给电路图中每条内部连线 取上各自的连线名. 3.给电路图中的每个逻辑元件取一个编号 (即“调用名”). 4.给所要描述的这个电路模块确定一个模块名. 5.用module定义相应模块名的结构描述,并将逻辑图中所有的输入输出端口名列入端口名表项中,再完成对各端口的输入输出类型说明. 6.依照电路图中的连接关系,确定各单元之间端口信号的连接,完成对电路图内部的结构描述. 7.最后用endmodule结束模块描述全过程. end 3.3 Verilog HDL数据流建模与运算符 3.3.1 数据流建模 3.3.2 运算符及其优先级 3.3 Verilog HDL数据流建模与运算符 对于基本单元逻辑电路,使用Verilog语言提供的门级元件模型描述电路非常方便。 但随着电路复杂性的增加,使用的逻辑门较多时,使用HDL门级描述的工作效率就很低。 本节介绍的数据流建模能够在较高的抽象级别描述电路的逻辑功能,并且通过逻辑综合软件,能够自动地将数据流描述转换成为门级电路。 数据流建模主要使用逻辑表达式,所以要了解各种运算符和表达式。 3.3.1 数据流建模 数据流建模使用的连续赋值语句,由关键词assign开始,后面跟着由操作数和运算符等组成的逻辑表达式。 一般用法如下: wire [位宽说明] 变量名1,变量名2,……,变量名n; assign 变量名=表达式; 注意,assign 语句只能对wire型变量进行赋值,所以等号左边变量名的数据类型必须是wire型。 module mux2to1_dataflow(D0, D1, S, Y ); input D0, D1, S; output Y; wire Y ; //下面是逻辑功能描述 assign Y = (~S D0) | (S D1); //表达式左边Y必须是wire型 endmodule 端口类型说明 电路结构描述 数

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档