云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 北航verilog上机实验报告

北航verilog上机实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 7:52:17

Verilog上机实验报告

2. 实验总结

本次实验是Verilog上机的第三个实验,由于有了实验二中的经验,所以只需要把实验二中的程序稍加修改即可得到结果。

但是在实验的过程中我依然遇到了一些阻碍。

首先是由于数量级关系没有搞对,使得计数器的位数出了问题。其次是在测试文件中调用了$stop,而自己预设的stop的延迟时间太短,导致输出时钟为低电平(实际上时间还不到一个周期),令自己误以为自己的程序本身有逻辑问题,从而耽误了很多时间。

在看输出波形的长度的时候,可以用modelsim中的cursor功能,用光标来显示波形持续的长度。

17

Verilog上机实验报告

实验四 阻塞赋值与非阻塞赋值的区别

一、 实验目的

1. 通过实验,掌握阻塞赋值与非阻塞赋值的概念和区别;

2. 了解非阻塞和阻塞赋值的不同使用场合;

3. 学习测试模块的编写、综合和不同层次的仿真。

二、 实验内容

在blocking模块中按如下两种写法,仿真与综合的结果会有什么样的变化?作出仿真波形,分析综合结果

(1) always @(posedge clk)

begin c=b; b=a; end

(2) always @(posedge clk) b=a;

always @(posedge clk) c=b;

三、 对任务的理解

通过给定的两段代码理解所谓阻塞赋值与非阻塞赋值的区别。

四、 实现思路

按照给定的代码进行试验,并查看实验结果。

五、 代码

1. 主程序

---------------------------------------文件名 blocking.v--------------------------------------------

module blocking(clk, a,b,c); output [3:0] b,c; input [3:0] a;

18

Verilog上机实验报告

input clk; reg [3:0] b,c;

always @(posedge clk) begin c = b; b = a;

$display(\ end

endmodule

---------------------------------------文件名 blocking_ex.v-------------------------------------------- module blocking_ex(clk, a,b,c); output [3:0] b,c; input [3:0] a; input clk; reg [3:0] b,c;

always @(posedge clk) b = a;

always @(posedge clk) begin c = b;

$display(\ end

endmodule

2. 测试模块

----------------------------------------文件名 div_ex_tb.v----------------------------------- `timescale 1ns/100ps `include\

`include\

module compareTop; wire [3:0] b1,c1,b2,c2; reg [3:0] a; reg clk;

initial begin clk=0;

forever #50 clk=~clk; end

19

Verilog上机实验报告

initial begin a=4'h3;

$display(\ #100 a=4'h7;

$display(\ #100 a=4'hf;

$display(\ #100 a=4'ha;

$display(\ #100 a=4'h2;

$display(\ #100

$display(\ $stop; end

blocking_ex(clk,a,b2,c2);

blocking blocking(clk,a,b1,c1); endmodule

六、 仿真波形

七、 总结及对波形的说明

1. 实验结论

从波形中可以看出这两种写法都相当于例题中的非阻塞赋值。

第一个写法中,先用b对c赋值,再用a对b赋值。相当于先把b的值进行了向下传递,在对b进行改写。因此b的前一个值没有被抹掉,被传递了下来。

第二个写法中,阻塞赋值分别被放在不同的always块总。理论上来说所有的always块都是并行执行的,因此这种写法应当与阻塞赋值是相当的。但是结果中可以看出这种写法却与非阻塞赋值的结果相同。这就说明由于计算机本身的局限性,在仿真的时候,

20

搜索更多关于: 北航verilog上机实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

Verilog上机实验报告 2. 实验总结 本次实验是Verilog上机的第三个实验,由于有了实验二中的经验,所以只需要把实验二中的程序稍加修改即可得到结果。 但是在实验的过程中我依然遇到了一些阻碍。 首先是由于数量级关系没有搞对,使得计数器的位数出了问题。其次是在测试文件中调用了$stop,而自己预设的stop的延迟时间太短,导致输出时钟为低电平(实际上时间还不到一个周期),令自己误以为自己的程序本身有逻辑问题,从而耽误了很多时间。 在看输出波形的长度的时候,可以用modelsim中的cursor功能,用光标来显示波形持续的长度。 17 Verilog上机实验报告 实验四 阻塞赋值与非阻塞赋值的区别 <

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com