栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

V/SV 时延控制

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

V/SV 时延控制

例1. (AMD) 打印结果是什么?

module tb();
int int_a,int_b;
initial begin
	fork
		begin
		#2; 
		int_a=1;
		int_b=2;
		end 
		#3; 
		int_a=4;
 	join
#1;
int_b=3;
$display("%d", int_a+int_b);
#100 $stop;
end
endmodule

4

如果改成

initial begin
	fork
		...
		begin
		#3; 
		int_a=4;
		end
 	join

	fork
		...
		#3 int_a=4;
 	join

结果均是7

解析:

  1. begin-end内各部分串行且延时累加,先执行完fork-join,再依次执行#1,int_b=3, display
  2. fork-join内各部分并行且延时是相对共同起始点的绝对值,所以修改前同时执行begin-end, #3, int_a=4,所以这里int_a在0ns就被赋值为4了;修改后同时执行两个begin-end,int_a在3ns被赋值为4

Verilog 时序控制
https://www.runoob.com/w3cnote/verilog-timing-control.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/302501.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号