- 11
- 0
- 约5.46千字
- 约 7页
- 2018-10-25 发布于江苏
- 举报
VerriogHDL学习总结笔记
下面是一个简单的Verliog HDL的例子。
module reg12(d, clk,,q);
define size 11
input [size:0] d;
input clk;
output [size:0] q;
reg [size:0] q;
always@(posedge clk)
q=d;
endmodule
Verilog HDL的基本设计单元是“模块(block)”。一个模块由两部分组成:一部分描述接口,一部分描述逻辑功能,即定义输入是如何影响输出的。
每个程序包括四个主要部分:端口定义、I/O说明、信号类型和功能描述。
有3中方法可以在模块中描述逻辑。
用assign语句 assign A=BC;
assign语句一般适合于对组合逻辑进行赋值。称为连续赋值方式。
2、用原件例化 or myor3(a,b,c,d);
这个语句定义了一个3输入的“或”门
3、用always块语句 always@(posedge clk) q=d
上句表示每当时钟上升沿到来时执行一遍块内的语句。
4、assign # 2 B = A;
表示 B信号在2个时间单位后得到A信号的值。
常用的赋值语句:连续赋值语句和过程赋值语句
连续赋值语句:assign,用于对wire型变量赋值。
过程赋值语句:用于对寄存器型变量赋值,有以下2种赋值方式。
非阻塞赋值方式,=, 该方
原创力文档

文档评论(0)