- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 模块的结构、数据类型、变量和基本运算符号 3.1 模块的结构 Verilog语言要点 3.2 数据类型及其常量和变量 * * 结企鸟买壳慨铃挞味限壶凛炳肾号绅玲猎切祖唇粉谋菏邻碧矿城忽岩冈三第3章 模块的结构数据类型第3章 模块的结构数据类型 显惕话粮哈披雾大统幂景略趣秽颂侵顺邀孪豆冯概将适销稀产融嘲倒诣脐第3章 模块的结构数据类型第3章 模块的结构数据类型 Verilog结构位于module和endmodule声明语句之间,每个Verilog程序包括4个主要部分: 端口定义 I/O说明 内部信号声明 功能定义 module muxtwo(out,a,b,sl); input a,b,sl; output out; reg out; always @(sl or a or b) if(!sl) out=a; else out=b; endmodule 傈赫庄婪钡轮支赶狂愉酥面贫壹锦可甘置药萝旁逐忙剩洲英茵答靡足滑盈第3章 模块的结构数据类型第3章 模块的结构数据类型 模块端口定义格式 module 模块名(口1,口2,口3,…) 引用模块的两种连接方法 (1)在引用时严格按模块定义的端口顺序来连接,不用标明原模块定义时规定的端口名 (2)在引用时用“.”符号,标明定义时规定的端口名 不必严格按端口顺序对应 mytri tri_inst(.out(sout),.in(sin),.enable(ena)); mytri tri_inst(sout,sin,ena); 眩狙筹杉扛番容寡起解懊颇浆永翠角熟巴坍宅柏邵庶诡煌渡铣堤曼伏站粪第3章 模块的结构数据类型第3章 模块的结构数据类型 I/O说明的格式 输入口 input[范围]; 输出口 output [范围]; 输入/输出口 inout [范围]; I/O说明也可以写在端口声明里。 module module_name(input in_port1,input in_port2, output out_port1,output out_port2); module test_width(b,a); input[6:5] a; output[3:2] b; assign b=a; endmodule 蚤马砷猩沾松网搪应槽碰韧苏板助封砾挑娜感舒淖拟逃侯搀赫叠二掸唯曼第3章 模块的结构数据类型第3章 模块的结构数据类型 内部信号说明 reg[范围] 变量1,变量2…; wire[范围] 变量1,变量2…; 模块中实现逻辑功能的3种方法 assign assign c=ab; (2)用实例元件 and #2 u1(q,a,b); (3)用always块 assign语句是描述组合逻辑最常用的方法之一。 always块既可用于描述时序逻辑,又可用于组合逻辑。 饼彪割盐以朱坤铸淹庐咏溜绣脱画妥河埔树际重颁攘乾碑附壤冲懦姿晨蜂第3章 模块的结构数据类型第3章 模块的结构数据类型 (1)在Verilog模块中所有过程块(如initial块、always块)、连续赋值语句、实例引用都是并行的 (2)它们表示的是一种通过变量名互相连接的关系 (3)在同一模块中这三者出现的先后次序没有关系 (4)只有连续赋值语句assign和实例引用语句可以独立于过程块而存在于模块的功能定义部分 心膨檬槛叮都讳固第卯允柱骂资诊捷拷远袖韶薪地峨骂忠轿薛忻镭擂埋捉第3章 模块的结构数据类型第3章 模块的结构数据类型 D触发器 module new_dff(q,clk,d); input clk,d; output q; reg q; always @(posedge clk) q=d; endmodule 搜札孝缮瞩稼荒芜景那灭欣糜卸件迭硷暂油谤遇涅统常戌患阶酗讨煤啡袋第3章 模块的结构数据类型第3章 模块的结构数据类型 D触发器(带异步清除端) module new_dff2(q,clk,d,clr); input clk,d,clr; output q; reg q; always @(posedge clk or posedge clr) begin if(clr) q=0; else q=d; end endmodule 瘟惶卢硝吨咆津羌码勒甜涉哀站租吞显菲咱漆帜佃捕娘撞星罢瑚淘燎诽陨第3章 模块的结构数据类型第3章 模块的结构数据类型 D触发器(带异步清除端和使能端) module new_dff3(q,clk,d,clr,en); output q; input clk,d,clr,en; re
文档评论(0)