Verilog语言规则.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Verilog语言规则.ppt》由会员分享,可在线阅读,更多相关《Verilog语言规则.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9章章 Verilog语言规则语言规则9.1 9.1 文字规则文字规则整数和实常数整数和实常数 Verilog Verilog 语言中常数可以是整数、实数和字符串:语言中常数可以是整数、实数和字符串:整数可以标明位数也可以不标明位数,表示方法:整数可以标明位数也可以不标明位数,表示方法:位宽位宽进制数字进制数字 其中位宽表明该数用二进制的几位来表示其中位宽表明该数用二进制的几位来表示 进制可以是二(进制可以是二(b b)、八()、八(O O)、十()、十(d d)或十六(或十六(h h)进制)进制 数字可以是所选基数的任何合法的值包括数字可以是所选基数的任何合法的值包括 不定值不定值 x
2、x 位和高阻值位和高阻值 z z(?)。(?)。如如:64hff01 8b1101_0001 h83a-8d5:64hff01 8b1101_0001 h83a-8d5 实常数可以用十进制表示也可以用科学浮点数表示,实常数可以用十进制表示也可以用科学浮点数表示,如:如:32e-4 32e-4(表示(表示0.00320.0032)4.1E3(4.1E3(表示表示 4100 4100)4 4个个1616进制数进制数共共6464位位下划线不能出现在位下划线不能出现在位宽和进制间宽和进制间位宽可以缺省,由机器位宽可以缺省,由机器系统决定!系统决定!负数写在前面负数写在前面文字规则文字规则字符串字符串
3、Verilog Verilog 语语言言中中,字字符符串串常常常常用用于于表表示示命命令令内内需需要要显显示的信息。示的信息。用用“”括括起起来来的的一一行行字字符符串串,换换新新一一行行用用 “n”“n”字符字符,与与 C C 语言一致。语言一致。在在字字符符串串中中可可以以用用 C C 语语言言中中的的各各种种格格式式控控制制符符,如如t,”,t,”,在在字字符符串串中中可可以以用用 C C 语语言言中中的的各各种种数数值值型型式式控控制制符符(有些不同有些不同),如:,如:%b(%b(二二进进制制),),%o(%o(八八进进制制),%d(%d(十十进进制制),),%h(%h(十十六六进制
4、进制),%t(),%t(时间类型时间类型),%s(%s(字符串类型字符串类型)文字规则文字规则标识符标识符五、标识符五、标识符 任任何何用用Verilog Verilog HDLHDL语语言言描描述述的的“东东西西”都都通通过过其其名名字字来来识识别别,这个名字被称为这个名字被称为标识符标识符。如源文件名、模块名、端口名、变量名、常量名、实例名等。如源文件名、模块名、端口名、变量名、常量名、实例名等。标标识识符符可可由由字字母母、数数字字、下下划划线线和和$符符号号构构成成;但但第第一一个个字字符符必须是字母或下划线,不能是数字或必须是字母或下划线,不能是数字或$符号符号!在在Verilog
5、Verilog HDLHDL中变量名是区分大小写的!中变量名是区分大小写的!合法合法的名字:的名字:A_99_ZReset_54MHz_Clock$Module 不合法不合法的名字:的名字:123a$datamodule7seg.v标识符标识符不能与不能与关键字关键字同名!同名!9.2 数据类型数据类型一、数据类型一、数据类型数据类型是用来表示数字电路中的数据存储和传送单元。数据类型是用来表示数字电路中的数据存储和传送单元。Verilog Verilog HDLHDL中共有中共有19种数据类型;种数据类型;其中其中4个最基本的数据类型为:个最基本的数据类型为:integerinteger型型p
6、arameterparameter型型regreg型型wirewire型型 其其 它它 数数 据据 类类 型型:largelarge型型、mediummedium型型、scalaredscalared型型、smallsmall型型、timetime型型、tritri型型、tri0tri0型型、tri1tri1型型、triandtriand型型、triortrior型型、triregtrireg型型、vectoredvectored型、型、wandwand型、型、worwor型等型等二、常量二、常量在程序运行过程中,其值不能被改变的量,称为在程序运行过程中,其值不能被改变的量,称为常量常量。数字
7、数字(包括整数,x和z值,负数)parameterparameter常量常量(或称符号常量)9.2 数据类型数据类型三、变量三、变量在程序运行过程中,其值可以改变的量,称为在程序运行过程中,其值可以改变的量,称为变量变量。其数据类型有其数据类型有1919种,常用的有种,常用的有3 3种:种:网络型(nets type)寄存器型(register type)数组(memory type)s型变量型变量定义定义输出始终随输入的变化而变化的变量输出始终随输入的变化而变化的变量。表示结构实体(如门)之间的表示结构实体(如门)之间的物理物理连接。连接。常用常用netsnets型变量:型变量:wire,t
8、ri:连线类型(两者功能一致)wor,trior:具有线或特性的连线(两者功能一致)wand,triand:具有线与特性的连线(两者功能一致)tri1,tri0:上拉电阻和下拉电阻supply1,supply0:电源(逻辑1)和地(逻辑0)netsnets型变量型变量不能储存值!不能储存值!9.2 数据类型数据类型wire型变量型变量最常用的nets型变量,常用来表示以assign语句赋值的组合逻辑信号。模块中的输入/输出信号类型缺省为wire型。可用做任何方程式的输入,或“assign”语句和实例元件的输出。wirewire 数据名数据名1,1,数据名数据名2,2,数据名数据名n;n;wir
9、en-1:0wiren-1:0 数据名数据名1,1,数据名数据名2,2,数据名数据名m;m;或或 wiren:1wiren:1 数据名数据名1,1,数据名数据名2,2,数据名数据名m;m;每条总线位宽为n共有m条总线wirewire型向量(总线)型向量(总线)格式格式格式格式9.2 数据类型数据类型定定义义对对应应具具有有状状态态保保持持作作用用的的电电路路元元件件(如如触触发发器器、寄寄存存器器等等),常常用用来来表表示示过过程程块块语语句句(如如initialinitial,alwaysalways,tasktask,functionfunction)内的指定信号)内的指定信号 。常用常用
10、registerregister型变量:型变量:reg:常代表触发器integer:32位带符号整数型变量real:64位带符号实数型变量time:无符号时间变量纯数学的纯数学的抽象描述抽象描述2.register2.register型变量型变量9.2 数据类型数据类型registerregister型变量与型变量与netsnets型变量的根本区别是:型变量的根本区别是:vregisterregister型型变变量量需需要要被被明明确确地地赋赋值值,并并且且在在被被重重新新赋赋值值 前一直保持原值。前一直保持原值。vregisterregister型型变变量量必必须须通通过过过过程程赋赋值值语
11、语句句赋赋值值!不不能能通通过过assignassign语句赋值!语句赋值!v在过程块内被赋值的每个信号必须定义成在过程块内被赋值的每个信号必须定义成registerregister型!型!9.2 数据类型数据类型reg型变量型变量定定义义在在过过程程块块中中被被赋赋值值的的信信号号,往往往往代代表表触触发发器器,但但不一定不一定就是触发器(也可以是组合逻辑信号)!就是触发器(也可以是组合逻辑信号)!regreg 数据名数据名1,1,数据名数据名2,2,数据名数据名n;n;regn-1:0regn-1:0 数据名数据名1,1,数据名数据名2,2,数据名数据名m;m;或或 regn:1regn:
12、1 数据名数据名1,1,数据名数据名2,2,数据名数据名m;m;每个向量位宽为n共有m个reg型向量 例例 reg4:1 regc,regd;/reg4:1 regc,regd;/regc,regdregc,regd为为4 4位宽的位宽的regreg型向量型向量regreg型向量(总线)型向量(总线)格式格式格式格式9.2 数据类型数据类型用用regreg型变量生成型变量生成组合逻辑组合逻辑举举例例:module rw1(a,b,out1,out2);input a,b;output out1,out2;reg out1;wire out2;assign out2=a;always(b)out
13、1=b;endmoduleaout2BUFFbINVout1过程赋值语句过程赋值语句连续赋值语句连续赋值语句电平触发电平触发Verilog中中reg与与wire的区别的区别regreg型变量既可生成触发器,也可型变量既可生成触发器,也可生成组合逻辑;生成组合逻辑;wirewire型变量只能型变量只能生成组合逻辑。生成组合逻辑。9.2 数据类型数据类型用用regreg型变量生成型变量生成触发器触发器举举例例:module rw2(clk,d,out1,out2);input clk,d;output out1,out2;reg out1;wire out2;assign out2=d&out1;
14、always(posedge clk)begin out1 b)&(bc)ab)&(bc)可简写为:可简写为:ab&bc ab&bc (a=b)|(x=y)a=b)|(x=y)可简写为:可简写为:a=b|x=y a=b|x=y (!a)|(ab)!a)|(ab)可简写为:可简写为:!a|ab!a|ab为为提提高高程程序序的的可可读读性性,明明确确表表达达各各操操作作符符之之间间的优先关系,建议使用的优先关系,建议使用括号括号!为为提提高高程程序序的的可可读读性性,明明确确表表达达各各操操作作符符之之间间的优先关系,建议使用的优先关系,建议使用括号括号!9.3 9.3 操作符操作符三、位操作符三
15、、位操作符双双目操作符目操作符单单目操作符目操作符位位运运算算其其结结果果与与操操作作数数位位数数相相同同。位位操操作作符符中中的的双双目目操操作作符符要要求对两个操作数的相应位求对两个操作数的相应位逐位逐位进行运算。进行运算。两两个个不不同同长长度度的的操操作作数数进进行行位位运运算算时时,将将自自动动按按右右端端对对齐齐,位位数少的操作数会在高位用数少的操作数会在高位用0 0补齐。补齐。例例 若若A=5b11001A=5b11001,B=3b101B=3b101,则则A&B=A&B=(5b110015b11001)&(5b5b0000101101)=5b00001=5b00001 9.3
16、9.3 操作符操作符 例例&操作符和操作符和&(按位与)的区别(按位与)的区别&运算的结果为运算的结果为1 1位的逻辑值位的逻辑值注意注意&和和&的区别!的区别!被认为是被认为是 1b1b1 1被认为是被认为是 1b1bx x逻辑与结果为逻辑与结果为 1b1bx x9.3 9.3 操作符操作符四、关系操作符四、关系操作符双双目操作符目操作符括号内先运算!括号内先运算!算术运算先运算!算术运算先运算!运运算算结结果果为为1 1位位的的逻逻辑辑值值1 1或或0 0或或x x。关关系系运运算算时时,若若关关系系为为真真,则则返返回回值值为为1 1;若若声声明明的的关关系系为为假假,则则返返回回值值为
17、为0 0;若若某某操操作作数数为为不不定定值值x x,则返回值为,则返回值为x x。所有的关系操作符优先级别相同。所有的关系操作符优先级别相同。关系操作符的优先级关系操作符的优先级低于低于算术操作符。算术操作符。例例 asize-1 asize-1等同于:等同于:a(size-1)a(size-1)size-size-(1a1a)不等同于:不等同于:size-1size-1an An 或或 An A3=4b 4b10013=4b0000001 1;4b10014=4b 4b10014=4b00000000 4b10011=5b1001 4b10011=5b10010 0;4b10012=6b1
18、001 4b10012=6b10010000;16=32b1 1b)&(bc)ab)&(bc)(a=b)|(x=y)a=b)|(x=y)(!a)|(ab)!a)|(ab)9.4 基本语句基本语句表表3-4 Verilog HDL的语句的语句9.4 基本语句基本语句一、一、initialinitial语句语句initialinitial beginbegin 语句语句1 1;语句语句2 2;语句语句n n;endendMAX+PLUS 和和Quartus 均不支持均不支持!格式格式格式格式 利用利用initial语句生成激励波形。语句生成激励波形。initial begin inputs=b00
19、0000;#10 inputs=b011001;#10 inputs=b011011;#10 inputs=b011000;#10 inputs=b001000;end不可综合!不可综合!常用在测试文件中常用在测试文件中用途用途用途用途在仿真的初始状态对各变量进行在仿真的初始状态对各变量进行初始化初始化;在测试文件中在测试文件中生成激励波形生成激励波形作为电路的仿真信号。作为电路的仿真信号。9.4 基本语句基本语句parameter size=16;reg3:0 addr;reg reg1;reg7:0 memory0:15;initial begin reg1=0;for(addr=0;ad
20、drsize;addr=addr+1);memoryaddr=0;end 对各变量进行初始化。对各变量进行初始化。9.4 基本语句基本语句二、二、foreverforever语句语句无条件无条件连续执行连续执行foreverforever后面的语句或语句块。后面的语句或语句块。forever 语句语句forever begin end或或v常常用用在在测测试试模模块块中中产产生生周周期期性性的的波波形,作为形,作为仿真激励仿真激励信号。信号。v常用常用disable语句跳出循环!语句跳出循环!注:不同于注:不同于alwaysalways语句,不能独立写在程序中,语句,不能独立写在程序中,一般用
21、在一般用在initialinitial语句块中!语句块中!格式格式格式格式initial begin:Clocking clk=0;#10 forever#10 clk=!clk;endinitial begin:Stimulus disable Clocking;/停止时钟停止时钟 end 一般情况下一般情况下是不可综合的!常是不可综合的!常用在测试文件中用在测试文件中9.4.3 编译指示语句编译指示语句一、一、definedefine语句语句二、二、includeinclude语句语句三、三、timescaletimescale语句语句四、条件编译语句四、条件编译语句ifdef else
22、endififdef else endif内容概要内容概要一、一、definedefine语句语句宏宏定定义义语语句句用用一一个个指指定定的的标标志志符符(即即宏宏名名)来来代代表表一个字符串(即宏内容)。一个字符串(即宏内容)。definedefine 标志符(即宏名)字符串(即宏内容)标志符(即宏名)字符串(即宏内容)例例 define IN ina+inb+inc+inddefine IN ina+inb+inc+ind宏展开宏展开在编译预处理时将宏名替换为字符串的过程。在编译预处理时将宏名替换为字符串的过程。“编编译译预预处处理理”是是Verilog Verilog HDLHDL编编译
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Verilog 语言 规则
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内