版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章硬件描述语言VerilogHDL结构化描述07Part7结构化描述结构化描述源于模块化设计思想,把电路看成是一个个模块组合而成,就像积木搭建一样,只需要描述清楚各个模块之间的连接方式,就实现了对整个电路的建模。使用结构化描述方式依赖于对电路结构的掌握,通过实例化(Instantiation)语句设计电路。7结构化描述7.1门级描述原语(Primitive)是VerilogHDL预先定义的逻辑功能单元,可用于构建数字电路的基本单元电路。原语分为两大类:内置原语和用户自定义原语(UDP)。内置原语实现较小的电路单元,用户自定义原语允许用户根据需求创建更复杂的逻辑功能模块。本书只介绍内置原语。7结构化描述内置原语内置原语有八种:and、nand、or、nor、xor、xnor以及not和buffer7结构化描述内置原语根据输入输出端口的特点,门级原语可以分为两类:一类是具有多个输入,单个输出的电路,包括and、nand、or、nor、xor和nor,输入数量在两个或两个以上。一类是只有一个输入,可以接一个或多个输出的电路,包括not和buf。7结构化描述原语例化语句在设计中直接调用原语相当于在电路中加入相应的逻辑门,这个过程称为原语例化。原语例化语句的格式如下:内置原语[标号](输出端口,输入端口);如:wireOUT,IN1,IN2;nandna1(OUT,IN1,IN2);nand是与非门原语,它只有一个输出,在这里输出端口是OUT,后面两个端口是它的输入。7结构化描述原语例化语句如:wireOUT,IN1,IN2,IN3;oror1(OUT,IN1,IN2,IN3);or是单输出的或门原语,说明这是一个3输入或门。又如:wireOUT,IN;notn1(OUT,IN);这条语句生成了一个输入为IN,输出为OUT的非门。7结构化描述7.2门级建模例3.6使用VerilogHDL语言门级建模方式描述下面这个4选1数据选择器7结构化描述7.2
门级建模s1s0out00i001i110i211i34选1数据选择器功能表7结构化描述7.2门级建模modulemux4_to_1(out,i0,i1,i2,i3,s1,s0);outputout;inputi0,i1,i2,i3;inputs1,s0;
wires1n,s0n;//变量声明wirey0,y1,y2,y3;//变量声明
notn1(s1n,s1);notn2(s0n,s0);anda1(y0,i0,s1n,s0n);anda2(y1,i1,s1n,s0);anda3(y2,i2,s1,s0n);anda4(y3,i3,s1,s0);oro1(out,y0,y1,y2,y3);
endmodule7结构化描述7.2门级建模例3.7使用与非门原语实现与门逻辑用门级描述实现一个与门,模块框架为modulemy_and(c,a,b);inputa,b;outputc;……endmodule7结构化描述7.2门级建模
7结构化描述7.2门级建模门级建模程序如下:modulemy_and(c,a,b);inputa,b;outputc; wirew;nandU1(w,a,b);nandU2(c,w,w);endmodule7结构化描述7.3模块实例化模块实例化是将一个已经定义的模块作为组件使用在另一个模块中,将被例化模块的端口与例化模块的端口或变量进行映射连接,从而实现电路的模块化设计和复用7结构化描述7.3模块实例化模块实例化机制能够有效地实现电路的模块化设计和复用,通过组合和重用不同的模块来构建复杂的数字电路和系统。7结构化描述位置关联模块实例化通过例化语句实现。模块例化语句分为位置关联和名字关联两种。将需要例化的模块端口按照模块声明时端口的位置顺序与外部信号进行匹配连接,格式如下:被例化模块名[标号](例化模块变量);这种格式下,()里如果有多个变量,顺序必须与例化模块所声明的端口顺序保持一致。7结构化描述位置关联3.6节所述的4位脉动进位计数器设计中,顶层模块框架如下:moduleripple_carry_counter(q3,q2,q1,q0,clk,reset);outputq3,q2,q1,q0;inputclock,reset;……endmodule7结构化描述位置关联图3-11电路中只包含4个T触发器,按照位置关联的写法,可以写作:T_FFtff0(q0,clock,reset);T_FFtff1(q1,q0,reset);T_FFtff2(q2,q1,reset);T_FFtff3(q3,q2,reset);7结构化描述位置关联T触发器的模块框架和端口声明应该是moduleT_FF(q,clock,reset);outputq;inputclock,reset;……endmodule7结构化描述位置关联在T触发器的设计中,可以例化D触发器和反相器两个模块。反相器采用原语例化语句,需要声明一个变量wirew;反相器的原语例化语句为not(w,q);7结构化描述位置关联T触发器设计模块代码如下:moduleT_FF(q,clock,reset);outputq;inputclock,reset;wirew; not(w,q); DFF(q,clock,reset,w);endmodule7结构化描述名字关联2.名字关联将需要例化的模块端口与外部信号按照其名字进行连接,格式如下:被例化模块名
[标号](.被例化模块端口(例化模块变量));这种格式的端口顺序可以与上层module声明的端口顺序不一致。7结构化描述名字关联其中.端口(变量)体现出例化模块端口和映射变量的名字对应关系,端口名前面加圆点,变量名放在括号里,他们成对出现,有多少个端口就得写多少个变量。如T触发器的端口是moduleT_FF(q,clock,reset);共有3个输入输出端口。按照名字关联的写法,T触发器tff0的模块例化语句可写成:T_FFtff0(.q(q[0]),.clk(clk),.reset(reset));这里的3组对应关系可随意更换顺序。7结构化描述7.4结构化建模例3.8用两种模块例化语句格式实现函数发生器。已知IC138的模块框架如下。moduleIC138(Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0,A2,A1,A0,E1,E2A,E2B);outputregY7,Y6,Y5,Y4,Y3,Y2,Y1,Y0;inputA2,A1,A0;inputE1,E2A,E2B;7结构化描述7.4结构化建模以位置关联语句为例,顶层模块完整代码如下:modulegene_func(fun1,fun2,fun3,in1,in2,in3);outputfun1,fun2,fun3;inputin1,in2,in3;
wir
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中物理动力学中的九类常见模型《临界极值问题》含答案
- GEO搜索优化平台终极测评:2026年七大服务商实力榜单与选型指南
- 2024年银行绩效考核工作总结
- 2024甘肃省安全员知识题库
- 《宽容》练习题、课后练习题及答案
- 【案例】综合管廊智慧运维管理平台方案
- 高考英语读后续写:高频词速记二-高考英语备考复习重点资料归纳
- 2024年园林景观规划设计方案内容3篇
- (广东二模)广东省2026年4月高三高考模拟测试(二)地理试卷(含答案)
- 2027《中西医结合执业医师》第二单元押题密卷3
- 2026浙江台州市椒江区科技事业中心招聘编制外工作人员1人备考题库及答案详解(名师系列)
- 中国寿险代理人高质量转型白皮书-中国平安x清华大学-202604
- 社区国安工作制度
- 人间共鸣二部合唱简谱
- 2026年上海金山区中考一模语文模拟试卷试题(含答案详解)
- 2026广东河源市东源县政务服务和数据管理局招聘县政务服务中心人员6人考试参考试题及答案解析
- 烟囱吊篮施工方案(3篇)
- 消防维保单位考勤制度
- AI在建筑设计中的应用【文档课件】
- 无人机集群技术-智能组网与协同 课件全套 第1-8章 绪论- 无人机集群任务分配
- 2022年五年级下册生活生命与安全教案课程及计划
评论
0/150
提交评论