当前位置:首页 > VerilogHDL的基本语法
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位带符号整形变量,用于对循环控制变量
共分享92篇相关文档