版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第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 模块实例语
2、句,模块实例即模块的调用,顶层调用底层,其语法格式: module_name instance_name (port_associations); 实例端口和模块端口有两种关联方式:位置和名称,不能混合; 位置关联需要按顺序严格的一一对应;而名称关联则显式指定实例端口和模块端口的对应关系,而不关心先后顺序,名称关联的语法格式: .PortName_module (port_expr_instance),port_expr的类型,标识符(reg或net) 位选择 部分位选 混合 表达式(输入端口) 例: Micro M1(UdIn3:0, WrN,RdN, Status0, Status1, U
3、dOut0: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=AB; assign #AND_DELAY C=A endmodule,9.4 悬空端口,通过将实例端口表达式表示为空白的方法将一个端口设置成悬空端口; 输入端口悬空,其值为z;输出端口悬空,表示该端口弃置不用; 例: DFF d1(.Q(QS), .Qbar(), .Data(D), .Preset(), .Clock(CK); DFF
4、 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 模块的参数值,顶层模块在引用底层模块时还可以改变其内部定义的参数值;
5、 有两种方式: 参数定义语句(defparam) 带参数值的模块引用,module HA(A,B,S,C); input A,B; output S,C; parameter AND_DELAY=1, XOR_DELAY=2; assign #XOR_DELAY S=AB; assign #AND_DELAY C=A 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,
6、 NewB, NewS, NewC); endmodule module TOP2 (NewP,NewQ,NewCin,NewSum,NewCout); input NewP, NewQ, NewCin; output NewSum, NewCout; defparam Fa1.h1.XOR_DELAY = 2, Fa1.h1.AND_DELAY = 3, Fa1. OR_DELAY = 3; FA Fa1(NewP,NewQ,NewCin,NewSum,NewCout); endmodule,参数定义语句举例,带参数值的模块引用举例,module TOP3 (NewA, NewB, NewS
7、, NewC); input NewA, NewB; output NewS, NewC; HA #(5,2) Ha1(NewA, NewB, NewS, NewC); endmodule module TOP4(NewP,NewQ,NewCin,NewSum,NewCout); input NewP,NewQ,NewCin; output NewSum,NewCout; defparam Fa1.h1.XOR_DELAY = 2, Fa1.h1. AND_DELAY = 3; FA #(3) Fa1(NewP,NewQ,NewCin,NewSum,NewCout); endmodule,在带
8、参数值的模块实例中,括号中的参数值的顺序必须与底层被引用模块中参数说明的顺序一致; 带参数的模块引用,只能将参数值向下传递1层,也就是说,采用此种方式无法改变更底层模块中的参数,而参数定义语句defparam能改变层次中任意一层的参数值,只要标明路径即可;,表示长度的参数,module Multiplier (Opd_1,Opd_2,Result); parameter EM=4, EN=2; input EM:1 Opd_1; input EN:1 Opd_2; output EM+EN:1 Result; assign Result = Opd_1*Opd_2; endmodule 这个带
9、参数的乘法器可在另一个设计中引用,下面是8x6乘法器的带参数引用方式; wire 1:8 Pipe_Reg; wire 1:6 Dbus; wire 1:14 Addr_Counter; Multiplier #(8,6) M1(Pipe_Reg, Dbus, Addr_Counter);,9.7 外部端口,当在模块实例中采用名称关联方式时,外部端口用于指定相互连接;此前遇到的模块都是在端口表列中隐式地指定,既是模块端口也是外部端口; 在verilog中外部端口可以显式给出,其语法格式: .external_port_name (internal_port_name),module Scram
10、_B (.Data(Arb), .Control(Ctrl), .Mem_Word(Men_Blk), .Addr(Byte); input 0:3 Arb; input Ctrl; input 8:0 Mem_Blk; output 0:3 Byte; endmodule Scram_B的端口表显式地表明了外部端口与内部端口之间的对应关系,外部端口在模块内不可见,因而也无需在模块内进行声明,主要用于上层模块对Scram_B进行引用时进行名称关联; Scram_B S1(.Addr(A1),.Data(D1),Mem_Word(M1),.Control(C1);,如果模块端口通过位置关联,则在
11、实例语句中不能使用外部端口的名称; 内部端口即可以是标识符,也可以是表达式: 位选择 部分位选 位选、部分位选以及标识符的合并 module Scream_C (Arb0:2, Ctrl, Mem_Blk0, Mem_Blk1,Byte3); input 0:3 Arb; input Ctrl; input 8:0 Mem_Blk; output 0:3 Byte; endmodule,在内部端口是位选择、部分位选择及合并的情况下,没有隐式指定外部端口名;所以在此类模块进行实例化时必须采用位置关联方式; scream_C SYA(L14:6, CL, MMY1:0,BT);,当内部端口不为标识符的情况下,如果在模块实例时想采用名称关联方式,则必须对模块的端口名显式指定外部端口名; module Scream_D (.Data(Arb0:2),.Control(Ctrl), .Mem_Word(Mem_Blk0, Mem_Blk1) , .Addr(Byte3); input 0:3 Arb; input Ctrl; input 8:0 Mem_Blk; output 0:3 Byte; endmodule Scream_D SZ (.Data(L14:6), .Control(CL),.Mem_Word(MMY1:0), .Addr(BT);,外部端口悬空,模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海宁旅游营销策略研究报告
- 科技创新课题研究报告
- 高盛 比特币研究报告
- 高中生采用地理遥感技术监测森林病虫害的政策建议课题报告教学研究课题报告
- 关于作家郁达夫的研究报告
- 版权被盗用风险报告
- LinkedIn领英营销培训大纲
- 老年科普咨询课题研究报告
- 人身安全首当其冲-人身防护安全继续培训
- 工业厂房设计问题研究报告
- 2025年研究生政治复试笔试题库及答案
- 《华南地区长效型花境管养技术规程》
- 2024+EACTS+指南:成人心脏手术围手术期用药
- 2026届新高考高中英语语法填空题66篇(含答案解析)
- 2026年时事政治测试题库附参考答案(培优)
- 2025年风电叶片回收十年市场规模报告
- NCCN临床实践指南:头颈部肿瘤(2026.V1)解读课件
- T CWEA水利水电工程钢筋机械连接施工规范
- 暖通高效机房设计
- (2025年)细选事业单位公共科目综合基础知识(管理岗)考试题库及答案
- 民营医院劳务合同范本
评论
0/150
提交评论