版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EDA技术与Verilog设计第5章 主要内容5.1 Verilog简介5.2 Verilog设计举例5.3 Verilog模块的构造5.4 Verilog语言要素5.5 常量5.6 数据类型5.7 参数5.8 向量5.9 运算符5.1 Verilog简介Verilog语言是1983年由GDAGateway Design Automation公司的Phil Moorby首创的,之后Moorby又设计了Verilog-XL仿真器,Verilog-XL仿真器大获成功,也使得Verilog语言得到推广使用。1989年,Cadence收购了GDA1990年,Cadence公开发表了Verilog HD
2、L,并成立了OVI组织Open Verilog International专门负责Verilog HDL的开展。Verilog于1995年成为IEEE标准,称为IEEE Standard 1364-1995Verilog-1995IEEE“1364-2001标准Verilog-2001也获得了通过,多数综合器、仿真器都已经支持Verilog-2001标准 5.2 Verilog设计举例【例1】4位全加器module adder4(cout,sum,ina,inb,cin);output3:0 sum;output cout;input3:0 ina,inb;input cin;assign c
3、out,sum=ina+inb+cin;endmodule【例2】4位计数器module count4(out,reset,clk);output3:0 out;input reset,clk;reg3:0 out;always (posedge clk)beginif(reset) out=0; /同步复位else out=out+1; /计数endendmodule Verilog程序的特点1Verilog程序是由模块构成的。每个模块的内容都嵌在module和endmodule两个关键字之间;每个模块实现特定的功能;模块是可以进展层次嵌套的。2每个模块首先要进展端口定义,并说明输入和输出口
4、(input、output或inout),然后对模块的功能进展逻辑描述。3Verilog程序书写格式自由,一行可以写几个语句,一个语句也可以分多行写。4除了endmodule等少数语句外,每个语句的最后必须有分号。5可以用 /*/ 和 / 对Verilog程序作注释。好的源程序都应当加上必要的注释,以增强程序的可读性和可维护性。综合 RTL级4位全加器RTL级综合的结果 4位计数器RTL级综合的结果 综合门级4位全加器门级综合视图4位计数器门级综合视图仿真4位全加器的功能仿真结果4位计数器的功能仿真局部波形module AOI (A,B,C,D,F); /模块名为AOIinput A,B,C,
5、D; /模块的输入端口为A,B,C,Doutput F; /模块的输出端口为Fwire A,B,C,D,F; /定义信号的数据类型assign F= (A&B)|(C&D); /逻辑功能描述endmodule5.3 Verilog模块的构造 该程序的第1行为模块的名字、模块的端口列表;第2、3行为输入输出端口声明,第4行定义了端口的数据类型;在第5行中对输入、输出信号间的逻辑关系进展了描述。 Verilog 模块的模板 module ();output 输出端口列表; /输出端口声明input 输入端口列表; /输入端口声明/*定义数据,信号的类型,函数声明*/reg 信号名;/逻辑功能定义a
6、ssign =; /使用assign语句定义逻辑功能/用always块描述逻辑功能always () begin /过程赋值 /if-else,case语句 /while,repeat,for循环语句 /task,function调用 end /调用其他模块 ();/门元件例化 门元件关键字 ();endmodule5.4 Verilog语言要素Verilog 程序由符号流构成,符号包括空白符White space注释Comments操作符Operators数字Numbers字符串Strings标识符Identifiers关键字Keywords等空白符和注释 空白符White space空白符
7、包括:空格、tab、换行和换页。空白符使代码错落有致,阅读起来更方便。在综合时空白符被忽略。 注释Comment 单行注释:以“/开场到本行完毕,不允许续行 多行注释:多行注释以“/*开场,到“*/完毕标识符Identifiers 标识符IdentifiersVerilog中的标识符可以是任意一组字母、数字以及符号“$和“_下划线的组合,但标识符的第一个字符必须是字母或者下划线。另外,标识符是区分大小写的。Examples:countCOUNT /COUNT与count是不同的_A1_d2 /以下划线开头R56_68FIVE关键字Keywords Verilog语言内部已经使用的词称为关键字或
8、保存字,这些保存字用户不能作为变量或节点名字使用。 关键字都是小写的。 整数 实数 字符串5.5 常量 程序运行中,值不能被改变的量称为常量constants,Verilog中的常量主要有如下3种类型: 整数按如下方式书写:+/- 即 +/-size 为对应二进制数的宽度;base为进制;value是基于进制的数字序列。进制有如下4种表示形式: 二进制b或B 十进制d或D或缺省 十六进制h或H 八进制o或O整数integerExamples:8b11000101 /位宽为八位的二进制数8hd5 /位宽为八位的十六进制数d5;5O27 /5位八进制数4D2 /4位十进制数24B1x_01 /4位
9、二进制数1x015Hx /5位x扩展的x,即xxxxx4hZ /4位z,即zzzz8h2A /*在位宽和之间,以及进制和数值之间允许出现空格,但和进制之间,数值间是不允许出现空格的,比方8h2A、8h2A等形式都是不合法的写法 */整数integer实数Real有下面两种表示法。 十进制表示法。例如:0.1 /以上2例是合法的实数表示形式2. /非法:小数点两侧都必须有数字 科学计数法。例如:43_5.1e2 /其值为9.6E2 /960.0 (e与E一样)实数Real字符串Strings字符串是双引号内的字符序列。字符串不能分成多行书写。例如: INTERNAL ERROR字符串的作用主要是
10、用于仿真时,显示一些相关的信息,或者指定显示的格式。5.6 数据类型 Verilog有下面四种根本的逻辑状态。 0:低电平、逻辑0或逻辑非 1:高电平、逻辑1或“真 x或X:不确定或未知的逻辑状态 z或Z:高阻态Verilog中的所有数据类型都在上述4类逻辑状态中取值,其中x和z都不区分大小写,也就是说,值0 x1z与值0X1Z是等同的。数据类型Data Type是用来表示数字电路中的物理连线、数据存储和传输单元等物理量的。 数据类型 (Data Type) Verilog中的变量分为如下两种数据类型: net型 variable型net型中常用的有wire、tri;variable型包括re
11、g、integer等。 注意:在Verilog-1995标准中,variable型变量称为register型;在Verilog-2001标准中将register一词改为了variable,以防止初学者将register和硬件中的存放器概念混淆起来。net型Net型数据相当于硬件电路中的各种物理连接,其特点是输出的值紧跟输入值的变化而变化。对连线型有两种驱动方式,一种方式是在构造描述中将其连接到一个门元件或模块的输出端;另一种方式是用持续赋值语句assign对其进展赋值。wire是最常用的Net型变量。wire型变量的定义格式如下:wire 数据名1,数据名2,数据名n;例如: wire a,b
12、; /定义了两个wire型变量a和bExamples:wire7:0 databus; /databus的宽度是8位wire19:0 addrbus; /addrbus的宽度是20位Variable型variable型变量必须放在过程语句如initial、always中,通过过程赋值语句赋值;在always、initial等过程块内被赋值的信号必须定义成variable型。注意:variable型变量并不意味着一定对应着硬件上的一个触发器或存放器等存储元件,在综合器进展综合时,variable型变量会根据具体情况来确定是映射成连线还是映射为触发器或存放器。 reg型变量是最常用的一种varia
13、ble型变量。定义格式如下: reg 数据名1,数据名2,数据名n; 例如:reg a,b; /定义了两个reg型变量a,bExamples:reg7:0 qout; /定义qout为8位宽的reg型向量reg8:1 qout; 5.7 参数(parameter)在Verilog语言中,用参数parameter来定义符号常量,即用parameter来定义一个标志符代表一个常量。参数常用来定义时延和变量的宽度。其定义格式如下:parameter 参数名1=表达式1,参数名2=表达式2,参数名3=表达式3, ;例如:parameter sel=8,code=8ha3;/分别定义参数sel代表常数8
14、10进制,参数code代表常量a316进制5.8 向量 1标量与向量宽度为1位的变量称为标量,如果在变量声明中没有指定位宽,那么默认为标量1位。举例如下: wire a; /a为标量 reg clk; /clk为标量reg型变量线宽大于1位的变量包括net型和variable型称为向量vector。向量的宽度用下面的形式定义: msb : lsb比方: wire3:0 bus; /4位的总线2位选择和域选择 在表达式中可任意选中向量中的一位或相邻几位,分别称为位选择和域选择,例如:A=mybyte6; /位选择B=mybyte5:2; /域选择再比方:reg7:0 a,b; reg3:0 c;
15、 reg d;d=a7&b7; /位选择c=a7:4+b3:0; /域选择5.9 运算符 1算术运算符Arithmetic operators常用的算术运算符包括:+加-减*乘/除%求模2逻辑运算符Logical operators&逻辑与|逻辑或!逻辑非3位运算符Bitwise operators位运算,即将两个操作数按对应位分别进展逻辑运算。按位取反&按位与|按位或按位异或,按位同或符号与是等价的4关系运算符Relational operators小于大于=大于或等于5等式运算符Equality Operators=等于!=不等于=全等!=不全等6缩位运算符Reduction operat
16、ors&与&与非|或|或非异或,同或7移位运算符shift operators右移左移8条件运算符conditional operators?:三目运算符,其定义方式如下:signal=condition?true_expression:false_expression;即:信号=条件?表达式1:表达式2;当条件成立时,信号取表达式1的值,反之取表达式2的值。9位拼接运算符concatenation operators 该运算符将两个或多个信号的某些位拼接起来。使用如下:信号1的某几位,信号2的某几位,信号n的某几位运算符的优先级在书写程序时建议用括号来控制运算的优先级 习 题 5-1 用Verilog设计一个8位加法器,并进展综合和仿真,查看综合结果和仿真结果。5-2 用Verilog设计一个8位计数器,并进展综合和仿真,查看综合结果和仿真结果。 5-4 以下标识符哪些是合法的,哪些是错误的?Cout, 8sum, a*b, _data,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年济南高新区九年级中考物理一模考试试题以及含答案
- 2026中交天和机械设备制造有限公司常熟制造中心招聘4人备考题库及答案详解(典优)
- 2026江西九江庐山市人才集团社会招聘产品部经理、计调兼导游2人备考题库及答案详解(夺冠系列)
- 2026北京大学燕京学堂招聘劳动合同制人员1人备考题库参考答案详解
- 2026海南三亚市天涯区教育系统赴高校面向应届毕业生招聘教师60人备考题库(第1号)附答案详解(巩固)
- 2026山西吕梁市消防救援局社会招聘政府专职消防员的170人备考题库附答案详解(完整版)
- 2026四川甘孜州稻城县资产投融资集团有限公司招聘集团会计人员1人备考题库及答案详解(夺冠)
- 2026四川省儿童医院(四川省儿童医学中心)心理治疗师招聘1人备考题库及完整答案详解
- 2026甘肃庆阳紫坊畔乡堡子山村、高庄村文书招聘2人备考题库附答案详解(研优卷)
- 2026广东东莞市投资促进局招聘编外聘用人员1人备考题库含答案详解(典型题)
- 2025年云南省西双版纳州景洪市辅警招聘考试题库附答案解析
- 杭州电子科技大学本科毕业设计(论文)的写作规范及格式要求
- 华为集团薪酬管理制度
- DGTJ08-207-2008 房屋修缮工程技术规程
- 2026年高考作文素材积累:从“存亡危机”到“斩首警告”的中日关系风暴
- 2025年全国统一高考英语试卷(新高考Ⅱ)
- 2025年客运驾驶员从业资格证考试题库及答案
- 危化品甲类库房安全规范要求
- 高中数学公式大全(必修-+-选修)
- EPC总承包项目管理组织方案投标方案(技术标)
- 2025版银屑病常见症状及护理原则
评论
0/150
提交评论