verilog硬件描述语言(转贴)
2018年06月05日 15:40:03 weixin_40351337 阅读数:2985
版权声明:转载请注明出处 https://blog.csdn.net/weixin_40351337/article/details/80579981
Verilog是一种硬件描述语言,和C语言神似。不过它并不是一种纯粹的计算机编程语言。虽然经过二者编写的代码都会经过编译,但Verilog代码并不会生成机器指令。你可以使用Verilog代码生成所设计的硬件电路,也可以编写测试文件(testbench)来验证自己的设计。这好比使用语言来生成电路设计,这种方式比画图设计可是方便多了呢。
Verilog基础语法
1.模块结构
module 模块名(信号定义);
endmodule
例如
module A(a,b,f);
endmodule定义了一个名为A的模块,该模块有a,b,f三个端口
端口可以如下定义
input a,b;
output f;
也可以在模块名后的括号中定义module A (
inputa,
inputb,
output f
);
endmodule
2.常量
整数的表示:
<位宽><进制><数值>
2'b10 //2位2进制数2
32'd10//32位10进制数10
32'h10//32位16进制数16
32'o10//32位8进制数8数字电路x和z:
x代表不确定值,z代表高阻态
3.变量
1)wire型
wire型变量可以理解为连线,用于组合逻辑
module A (
inputa,
inputb,
output f
);wire c;
assign c=a&b;assign f=c;
endmodule 定义多位宽的信号: wire d;//定义一个8位的wire型变量d
2)reg型变量
reg寄存器变量对应数据存储单元,可以通过赋值语句来改变其值,reg类型变量的初始值为x。
同样也可以定义多位的寄存器
reg r;//定义一个8位寄存器3)memory型变量
memory型变量有点类似c语言中的二维数组,它可以用来表示RAM型存储器。
reg ram//定义了一个存储器,该存储器有256个8位的存储单元
转载出处 https://blog.csdn.net/weixin_40351337/article/details/80579981
verilog硬件描述语言(转贴)
页:
[1]