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

《FPGA数字系统设计》03 模块实例01.pptxVIP

  1. 1、本文档共21页,可阅读全部内容。
  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数字系统设计模块实例 模块实例 module half_adder( input wire a, b, output wire sum, cout); ? /* gate primitive */ and and_u0(cout, a, b); xor xor_u1(sum, a, b); ?endmodule半加器电路原理图half_addercoutsum半加器的Verilog HDL描述absumcouthalf_adder 全加器(Full adder)采用两个半加器和一个或门实现全加器模块实例absumcouthalf_adder:m1absumcouthalf_adder:m2temp0temp1半加器构成全加器 module full_adder_str( input wire a, b,cin, //input output wire sum, co //output ); wire tem0, temp1, temp2; // body // module instantiation half_adder m1(.a(a), .b(b),.sum(temp0), .c_out(temp1)); half_adder m2(.a(cin), .b(temp0),.sum(sum), .c_out(temp2)); or m3(co, temp2,temp1); // gate primitiveendmodule模块实例absumcouthalf_adder:m1absumcouthalf_adder:m2temp0temp1 模块实例 二选一数据选择器逻辑图二选一数据选择器逻辑符号 模块实例 二选一数据选择器构成四选一数据选择器 结构级描述 数字系统设计方法自顶向下自底向上(划分或者分层)自顶向下设计规格(Specification)模块划分(接口清晰、关系明确、复杂度下降)子系统:事先存在或者功能简单Verilog HDL通过模块实例语句支持层次化设计思想,称为结构描述(structural description)。 结构级描述 结构级描述 结构描述等价于逻辑图,连接简单元件来构成更为复杂的元件。Verilog HDL使用模块实例语句实现简单元件的连接。 模块实例 复杂数字系统由简单子系统组成;采用简单或者预先定义的模块可以构建复杂的数字系统;Verilog HDL通过模块实例语句支持层次化设计。层次化设计(Hierarchy)是实现大规模设计的基本手段。顺序端口连接命名端口连接 模块实例命名端口连接模块实例语句不关心端口信号顺序,顺序端口连接模块实例语句则依赖模块端口定义顺序。formal_signal1表示模块module_name定义时端口名,actual_name是高层模块的实际连接信号。命名端口连接模块名实例名信号连接 module full_adder_str( input wire a, b,cin, //input output wire sum, cout //output ); wire tem0, temp1, temp2; // body // module instantiation half_adder m1(.a(a), .b(b),.sum(temp0), .cout(temp1)); half_adder m2(.a(cin), .b(temp0),.sum(sum), .cout(temp2)); or m3(co, temp2,temp1); // gate primitiveendmodule模块实例absumcouthalf_adder:m1absumcouthalf_adder:m2temp0temp1abcincoutsum 模块实例 module_name是模块名,表示需要实例模块。Instance_name是实例名,用于唯一标识实例模块。模块实例语句第二部分用于指定实例模块端口与当前模块(高层模块)信号的连接关系。顺序端口连接模块实例语句,实例模块端口名不出现在实例语句中,只将实际连接信号按照对应的顺序排列于实例名之后的圆括号内部。顺序端口连接模块名实例名信号连接 模块实例andornot 模块实例 模块实例二选一数据选择器逻辑图二选一数据选择器逻辑符号 模块实例[n:m]表明信号sig1, sig2, ..., sign的宽度,n和m为整数。模块mux2to1 gate实例时引用信号a的分量,比如a[0],表示信号a的最低位,a[7]表

文档评论(0)

粱州牧 + 关注
实名认证
文档贡献者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档