模块的结构数据类型.ppt
《模块的结构数据类型.ppt》由会员分享,可在线阅读,更多相关《模块的结构数据类型.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 模块的结构、数据类型、变量和基本运算符号13.1 模块的结构Verilog结构位于module和endmodule声明语句之间,每个Verilog程序包括4 4个个主要部分:端口定义端口定义I/OI/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 2模块端口定义格式module 模块名(口1,口2,口3,)引用模块的两种连接方法(1)在引用时严格按模块定义的端口顺
2、序来连接,不用标明原模块定义时规定的端口名(2)在引用时用“.”符号,标明定义时规定的端口名不必严格按端口顺序对应mytri tri_inst(.out(sout),.in(sin),.enable(ena);mytri tri_inst(sout,sin,ena);3I/O说明的格式输入口 input范围;输出口 output 范围;输入/输出口 inout 范围;I/O说明也可以写在端口声明里。module module_name(input in_port1,input in_port2,output out_port1,output out_port2);module test_wid
3、th(b,a);input6:5 a;output3:2 b;assign b=a;endmodule4内部信号说明内部信号说明reg范围 变量1,变量2;wire范围 变量1,变量2;模块中实现逻辑功能的模块中实现逻辑功能的3 3种方法种方法(1)assign (2)assign c=a&b;(3)(2)用实例元件 (4)and#2 u1(q,a,b);(5)(3)用always块(6)assign语句是描述组合逻辑最常用的方法之一。(7)always块既可用于描述时序逻辑,又可用于组合逻辑。5Verilog语言要点(1)在Verilog模块中所有过程块(如initial块、always块)
4、、连续赋值语句、实例引用都是并行的(2)它们表示的是一种通过变量名互相连接的关系(3)在同一模块中这三者出现的先后次序没有关系(4)只有连续赋值语句assign和实例引用语句可以独立于过程块而存在于模块的功能定义部分6D触发器module new_dff(q,clk,d);input clk,d;output q;reg q;always(posedge clk)q=d;endmodule 7D触发器(带异步清除端)module new_dff2(q,clk,d,clr);input clk,d,clr;output q;reg q;always(posedge clk or posedge
5、clr)begin if(clr)q=0;else q=d;endendmodule8D触发器(带异步清除端和使能端)module new_dff3(q,clk,d,clr,en);output q;input clk,d,clr,en;reg q;always(posedge clk or posedge clr)begin if(clr)q=0;else if(en)q=d;endendmodule9103.2 数据类型及其常量和变量4种逻辑值0 1 z(高阻)x(不定值)常量 在程序运行过程中,其值不能被改变的量称为常量。111 数字(1)整数二进制整数 b或B十进制整数 d或D十六进制
6、整数 h或H八进制整数 o或O3.2.1 常量12数字表达方式4b1110 /4位二进制数12habc /12位十六进制数16d255 /16位十进制数采用默认位宽,与仿真器和使用的计算机有关(最小为32位)hc3 /32位16进制数o21 /32位8进制数13默认为十进制数采用默认位宽,与仿真器和使用的计算机有关(最小为32位)326/32位十进制数(2)x和z值一个x可以用来定义十六进制数的四位二进制数的状态,八进制数的三位,二进制数的一位。z的表示方式同x类似。z还有一种表达方式是可以写作?。在使用case表达式时建议使用这种写法,以提高程序的可读性。4b10 x0/位宽为4的二进制数从
7、低位数起第二位为不定值4b101z/位宽为4的二进制数从低位数起第一位为高阻值12dz/位宽为12的十进制数其值为高阻值12d?/位宽为12的十进制数其值为高阻值8h4x/位宽为8的十六进制数其低四位值为不定值14(3)负数一个数字可以被定义为负数,只需在位宽表达式前加一个减号,减号必须写在数字定义表达式的最前面。注意减号不可以放在位宽和进制之间也不可以放在进制和具体的数之间。见下例:-8d5/这个表达式代表5的补数(用八位二进制数表示)8d-5/非法格式15(4)下划线(underscore_)下划线可以用来分隔开数的表达以提高程序可读性。但不可以用在位宽和进制处,只能用在具体的数字之间。1
8、6b1010_1011_1111_1010/合法格式8b_0011_1010/非法格式当常量不说明位数时,默认值是32位,每个字母用8位的ASCII值表示。例:1032d1032b10101=32d1=32b1-1=-32d1=32hFFFFFFFFBX=32BX=32BXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX“AB”=16B01000001_01000010 /字符串AB,/为十六进制数16h4142162 参数(Parameter)型在Verilog HDL中用parameter来定义常量,即用parameter来定义一个标识符代表一个常量,称为符号常量,即标识符形
9、式的常量,采用标识符代表一个常量可提高程序的可读性和可维护性。parameter型数据是一种常数型的数据,其说明格式如下:parameter 参数名1表达式,参数名2表达式,,参数名n表达式;parameter是参数型数据的确认符,确认符后跟着一个用逗号分隔开的赋值语句表。在每一个赋值语句的右边必须是一个常数表达式。也就是说,该表达式只能包含数字或先前已定义过的参数。17parameter msb=7;/定义参数msb为常量7parameter e=25,f=29;/定义二个常数参数parameter r=5.7;/声明r为一个实型参数parameter byte_size=8,byte_ms
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模块 结构 数据类型
限制150内