1. 块语句有两种,一种是 begin-end 语句, 通常用来标志()执行的语句;一种是 fork-join 语句,通常用来标志()执行的语句。
答案:顺序,并行
解析:
(1)begin_end顺序块,用于将多条语句组成顺序块,语句按顺序一条一条执行(除了带有内嵌延迟控制的非阻塞赋值语句),每条语句的延迟时间是相对于由上一条语句的仿真时间而言;
(2)fork-join并行块,块内语句同时执行。
2. 块语句,下面这段语句中,第 40 时刻上,A、B 的值各是多少?
reg A;
reg B;
initial begin
fork
begin
A = 1;
#20 A = 0;
#30A=1;
#50 A = 0;
end
begin
B = 1;
#20 B = 0;
#30 B = 1;
#50 B = 0;
end
join
end
答案:A = 0,B = 0
解析:
块语句有两种,begin...end 和 fork...join,其中 fork...join 是并行块,begin...end 是顺序执行块,可以相互嵌套。
上面,两个 begin...end 之间是并行的,而各自 begin...end 内部是顺序执行,A 和 B 的赋值逻辑是一样的,所以要么都是 1,要么都是 0。
按照顺序执行,A 前 20 个时间单位是 1,然后持续 30 个时间单位的 0,所以 40 时刻是 0,同理 B 也是 0。
审核编辑 :李倩
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
原文标题:Verilog 的块语句 fork...join 和 begin...end
文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。
相关推荐
Verilog中的模块端口对应方式,并提供示例代码和详细解释,以帮助读者更好地理解和应用。 首先,我们来了解一下Verilog中的模块和模块端口。一个Verilog模块被定义为包含一组声明和语
发表于 02-23 10:20
•258次阅读
Assign语句和Always语句是在硬件描述语言(HDL)中常用的两种语句,用于对数字电路建模和设计。Assign语句用于连续赋值,而Always
发表于 02-22 16:24
•300次阅读
中的for循环也是并行执行的。 Verilog中的for循环可以用来实现重复的操作,例如在一个时钟周期中对多个电路进行操作。在循环内部,多个语句可以同时执行,而不受循环次数的限制。这种并行执行的机制使得Verilog在硬件设计中
发表于 02-22 16:06
•357次阅读
单片机中的for语句是一种常见的循环控制结构,用于重复执行一段代码块,可以简化程序的编写和减少代码量。本文将详细介绍单片机中for语句的运用。 一、for语句的基本结构和功能 for语句
发表于 01-05 14:02
•403次阅读
首先,考虑x和z在verilog条件语句中的使用情况,然后我们再考虑在verilog中用x和z给其他reg/wire赋值的情况。
发表于 11-02 09:40
•505次阅读
if语句 对于if语句,若条件判定为真,那么后面的语句块就会被执行。若条件判定为假,语句块就会被跳过,不会执行。 1 #if语句 2 age
发表于 09-12 16:45
•331次阅读
条件判断 语句块 什么是语句块呢? 语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语
发表于 09-12 16:41
•571次阅读
在C语言中,有三种条件判断结构:if语句、if-else语句和switch语句。
发表于 08-18 16:36
•926次阅读
)中,\"<=\"作为非阻塞赋值的一部分。
verilog中,一个语法结构不可能同时允许“表达式”和“语句”,
如果某处可以出现表达式,那么就不允许出现语句;
如果
发表于 08-08 09:32
条件语句和循环语句是计算机编程中常用的两种控制结构
发表于 07-21 16:48
•5771次阅读
本文主要介绍verilog常用的循环语句,循环语句的用途,主要是可以多次执行相同的代码或逻辑。
发表于 05-12 18:26
•1170次阅读
我们将介绍如何使用verilog参数和generate语句来编写可重用的verilog 代码。
与大多数编程语言一样,我们应该尝试使尽可能多的代码可重用。这使我们能够减少未来项目的开发时间
发表于 05-11 15:59
•659次阅读
我们在上一篇文章中已经看到了如何使用程序块(例如 always 块来编写按顺序执行的 verilog 代码。
我们还可以在程序块中使用许多语句来控制在我们的verilog设计中信号赋值的方式
发表于 05-11 15:37
•2905次阅读
我们在上一篇文章中已经看到了如何使用程序块(例如 always 块来编写按顺序执行的 verilog 代码。
发表于 04-18 09:45
•2470次阅读
在这篇文章中,我们讨论了可以在verilog中使用的不同类型的循环 - for循环,while循环,forever循环和repeat循环。
发表于 04-15 09:19
•1828次阅读
评论