阻塞赋值运用

阻塞赋值与非阻塞赋值
一、实验目的:根据书中所给图片编写相应的独热码代码,并验证。
在Verilog语法中,阻塞赋值和非阻塞赋值是非常难理解的一个概念,尤其是对于初学者,往往搞不懂何时使用非阻塞赋值及何时使用阻塞赋值才能设计出符合要求的电路。
二、概念解析
阻塞赋值
所谓阻塞的概念是指在同一个always块中,其后面的赋值语句从概念上是前一句赋值语句结束后在开始赋值的,请注意,这只是概念上的先后,而无实质上的延迟。
三、实验内容::Verilog HDL数字系统设计及仿真P155页实例5.5。
四:实验代码:
module example5_5(x1,x2,x3,Clock,f,g);
input x1,x2,x3,Clock;
output reg f,g;
always @(posedge Clock)
begin
f=x1 & x2;
g=f|x3;
end
endmodule
五、实验步骤:

1、建立工程:打开Quartus软件,在菜单栏中点击【File】→【New Project Wizard】,会弹出工程设置对话框,工程名和新建顶层模块名正常应该是空白的,这里填ex8_1,此名称要与设计模块中的module名称一致。填写好名称后,依次点击【Next】 即可,选择【Empty project】。进入下一步,选择添加文件。在Simulation 一栏中选择ModelSim工具。最后会有一个简单的报告,结束后就可以完成新工程的建立。

2、设计编译:在【File】菜单中选择【New】,选择Verilog HDL文件,建立一个新的设计文件,设计文件复制到软件中。将该文件保存后,在快捷工具栏中找到快捷按钮【Start Compilation】,点击分析。

3、联合仿真:在菜单栏找到按钮【RTL Simulation】,单击,进入Modelsim,单击【Wave—Default】栏的每一栏,出现【Define Clock】菜单栏,将Period栏的数字改一下,全部栏改完后,改动菜单栏的【Run Length】中的数据,单击【Run Length】栏旁边的【Run】按钮。
六:实验过程截图:
阻塞赋值运用
阻塞赋值运用
阻塞赋值运用
阻塞赋值运用
阻塞赋值运用

阻塞赋值运用

七:实验视频:

上一篇:时钟偏斜和时钟抖动


下一篇:多文件结构和编译预处理命令