- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
天津大学Verilog HDL课件第9章
第9章 结构建模 9.1 结构建模3种方式 门实例 用户定义原语实例 模块实例 9.2 模块的端口 根据信号的传递方向,模块的端口分为3种,input,output,inout,缺省的类型为连线线网wire; 端口可被显式声明,输出和双向端口可以被重新声明为reg寄存器类型; module Micro(PC,Instr,NextAddr); input [3:1] PC; //端口说明,默认wire output [1:8] Instr; inout [16:1] NextAddr; wire [16:1] NextAddr; //重新说明端口类型 reg [1:8] Instr; … endmodule 9.3 模块实例语句 模块实例即模块的调用,顶层调用底层,其语法格式: module_name instance_name (port_associations); 实例端口和模块端口有两种关联方式:位置和名称,不能混合; 位置关联需要按顺序严格的一一对应;而名称关联则显式指定实例端口和模块端口的对应关系,而不关心先后顺序,名称关联的语法格式: .PortName_module (port_expr_instance) port_expr的类型 标识符(reg或net) 位选择 部分位选 混合 表达式(输入端口) 例: Micro M1(UdIn[3:0], {WrN,RdN}, Status[0], Status[1], UdOut[0:7], TxData); 全加器(两个半加器构造) module HA(A,B,S,C); input A,B; output S,C; parameter AND_DELAY=1, XOR_DELAY=2; assign #XOR_DELAY S=A^B; assign #AND_DELAY C=AB; endmodule module FA(P,Q,Cin,Sum,Cout); input P,Q,Cin; output Sum,Cout; parameter OR_DELAY=1; wire S1,C1,C2; HA h1(P,Q,S1,C1); HA h2(.A(Cin),.B(S1),.S(Sum),.C(C2)); or O1(Cout,C1,C2); endmodule 9.4 悬空端口 通过将实例端口表达式表示为空白的方法将一个端口设置成悬空端口; 输入端口悬空,其值为z;输出端口悬空,表示该端口弃置不用; 例: DFF d1(.Q(QS), .Qbar(), .Data(D), .Preset(), .Clock(CK)); DFF d2(QS, ,D, ,CK); 9.5 实例端口和模块端口的位宽不等 当实例端口和被引用模块端口的位宽不等时,采用右对齐的方式进行匹配;在前者大于后者的情况下,将左侧多出的位忽略,反之,如果前者小于后者,则被引用端口的空闲位是高阻态z; 例: module Chiled (Pba, Ppy); input [5:0] Pba; output [2:0] Ppy; … endmodule module Top; wire [1:2] Bd1; wire [2:6] Mpr; Chiled C1(Bd1, Mpr); endmodule 9.6 模块的参数值 顶层模块在引用底层模块时还可以改变其内部定义的参数值; 有两种方式: 参数定义语句(defparam) 带参数值的模块引用 module HA(A,B,S,C); input A,B; output S,C; parameter AND_DELAY=1, XOR_DELAY=2; assign #XOR_DELAY S=A^B; assign #AND_DELAY C=AB; endmodule module FA(P,Q,Cin,Sum,Cout); input P,Q,Cin; output Sum,Cout; parameter OR_DELAY=1; wire S1,C1,C2; HA h1(P,Q,S1,C1); HA h2(.A(Cin),.B(S1),.S(Sum),.C(C2)); or O1(Cout,C1,C2); endmodule 参数定义语句举例 module Top (NewA,NewB,NewS,NewC); input NewA,NewB; output NewS, NewC; defparam Ha1.XOR_DELAY = 5, Ha1.AND_DELAY = 2; HA Ha1 (NewA, NewB, NewS, NewC); endmod
您可能关注的文档
最近下载
- 2025年国家级检验检测机构资质认定评审员考试测试题及答案.docx
- 【国家标准】GB 50617-2010 建筑电气照明装置施工与验收规范.pdf
- 冠心病护理查房.pptx VIP
- BOSS立体声音箱CUBE-ST2使用说明书.pdf VIP
- Y·YKK·YKS和Y2系列高压三相异步电动机.pdf VIP
- 教师职业道德与专业发展(山东师范大学)知到智慧树章节答案.docx VIP
- 2.4 传感与控制 ---温度报警器 教学设计-浙教版(2019)高中信息技术必修 2.docx VIP
- 全国建材行业职工助推高质量发展主题竞赛考试题及答案.doc VIP
- 《给水排水管道工程施工及验收规范》GB50268.pdf VIP
- 小学生卫生与健康课件.ppt VIP
文档评论(0)