VerilogHDL的基本语法 联系客服

发布时间 : 星期三 文章VerilogHDL的基本语法更新完毕开始阅读282dc7a930126edb6f1aff00bed5b9f3f90f7291

Verilog HDL的基本语法

I/O声明

输入声明

input[msb:lsb]端口1,端口2,端口3,……

输出声明

output[msb:lsb]端口1,端口2,端口3,……

输入输出声明

inout[msb:lsb]端口1,端口2,端口3,…… 信号类型声明

常用的信号类型有连线性(wire)、寄存器型(reg)、整形(integer)、实型(real)、时间型(time)等 功能描述

1.用assign语句实现 eg.assgin a=b&c;

2.用实例元件实现 eg. and u1(q,a,b) 其中a,b为输入,q为输出

3.用always块实现带有异步清除端的D触发器 always @(posedge clk or posedge clr) begin if(clk)q

用initial块实现,与always块语句类似,不过在程序中initial块语句只能被执行一次,一般用于电路的初始化

常量

整形常量

x:未知,z:高阻

6'B10X1Z0 //6位二进制数 92 //十进制数

'H67 //位宽为32位的十六进制数 5'O37 //5位八进制数

实行常量

7.56 ,34.56e2 6E-2

字符串常量

\ \\n换行符 \\t制表符Tab键 \\\\符号\\ \\*符号*

\\ddd 三位八进制数表示的ASCII码 %%符号%

参数常量

parameter PI=3.14,A=8'B10110101,WORD_LENGTH=16; 变量 wire型

输入、输出信号在默认情况下自动定义为wire型 wire[msb:lsb]变量1,变量2,…,变量n eg.wire[7:0]m,n;

reg型

reg[msb:lsb]变量1,变量2,…,变量n eg.reg[7:0]m,n;

reg型变量和wire型变量的区别是:wire型变量需要持续地驱动,而reg型变量保持最后一次的赋值

memory型

memory型是存储器型,是通过建立reg型数组来描述的 eg.

reg[8:1]RAM[3:0]; RAM[0]=8'H1A; RAM[1]=8'H00; RAM[2]=8'H55; RAM[3]=8'H31;

integer型

integer是32位带符号整形变量,用于对循环控制变量