0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Verilog的两种块语句解析

FPGA之家 来源:FPGA探索者 作者:FPGA探索者 2021-06-18 15:16 次阅读

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; #30 A = 1; #50 A = 0; end begin B = 1; #20 B = 0; #30 B = 1; #50 B = 0; end joinend

答案: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

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109918
  • 语句表
    +关注

    关注

    0

    文章

    8

    浏览量

    7198

原文标题:Verilog 的块语句 fork...join 和 begin...end

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Verilog HDL的基础知识

    本文继续介绍Verilog HDL基础知识,重点介绍赋值语句、阻塞与非阻塞、循环语句、同步与异步、函数与任务语法知识。
    的头像 发表于 10-24 15:00 130次阅读
    <b class='flag-5'>Verilog</b> HDL的基础知识

    噪声传导的两种模式

    噪声传导有两种模式,一为差模传导,一为共模传导。
    的头像 发表于 10-15 11:33 192次阅读
    噪声传导的<b class='flag-5'>两种</b>模式

    晶闸管的阻断状态有两种是什么

    晶闸管(Thyristor)是一半导体器件,具有单向导电性,广泛应用于电力电子领域。晶闸管的阻断状态有两种:正向阻断状态和反向阻断状态。以下是对这两种阻断状态的分析。 正向阻断状态 正向阻断状态
    的头像 发表于 08-14 16:49 488次阅读

    充电桩为什么有直流与交流两种接口?

    充电桩设计有直流(DC)和交流(AC)两种接口,主要是为了适应不同类型的电动汽车(EV)充电需求以及电池的充电特性。
    的头像 发表于 04-30 15:33 1345次阅读

    verilog调用模块端口对应方式

    Verilog中的模块端口对应方式,并提供示例代码和详细解释,以帮助读者更好地理解和应用。 首先,我们来了解一下Verilog中的模块和模块端口。一个Verilog模块被定义为包含一组声明和
    的头像 发表于 02-23 10:20 1541次阅读

    verilog中repeat必须用begin和end吗

    Verilog中,repeat语句不需要使用begin和end。repeat语句是一循环控制语句
    的头像 发表于 02-23 10:14 1038次阅读

    assign语句和always语句的用法

    Assign语句和Always语句是在硬件描述语言(HDL)中常用的两种语句,用于对数字电路建模和设计。Assign语句用于连续赋值,而Al
    的头像 发表于 02-22 16:24 2157次阅读

    verilog中initial和always的区别

    Verilog是一硬件描述语言(HDL),用于设计和模拟数字电路。在Verilog中,关键字initial和always都是用于描述电路行为的特殊语句。它们被用来生成仿真模型,并控制
    的头像 发表于 02-22 16:09 2320次阅读

    verilog同步和异步的区别 verilog阻塞赋值和非阻塞赋值的区别

    Verilog是一硬件描述语言,用于设计和模拟数字电路。在Verilog中,同步和异步是用来描述数据传输和信号处理的两种不同方式,而阻塞赋值和非阻塞赋值是
    的头像 发表于 02-22 15:33 1425次阅读

    单片机if是什么语句

    单片机中的if语句是一条件语句,用于根据不同的条件执行不同的代码。在程序执行过程中,条件语句用来决定是否执行特定的代码段。在单片机编程中
    的头像 发表于 01-05 14:04 1546次阅读

    时钟树是什么?介绍两种时钟树结构

    今天来聊一聊时钟树。首先我先讲一下我所理解的时钟树是什么,然后介绍两种时钟树结构。
    的头像 发表于 12-06 15:23 1552次阅读

    两种timing分析模式—GBA与PBA简单梳理

    今天想来聊一聊STA相关的内容。GBA和PBA是在做STA分析的时候的两种分析模式
    的头像 发表于 12-06 15:00 1105次阅读

    oracle执行sql查询语句的步骤是什么

    Oracle数据库是一常用的关系型数据库管理系统,具有强大的SQL查询功能。Oracle执行SQL查询语句的步骤包括编写SQL语句解析SQL语句
    的头像 发表于 12-06 10:49 875次阅读

    java中的switch语句 case的取值

    Java中的switch语句是一用于多重条件判断的语句,用于根据不同的条件执行不同的代码。在switch语句中,case关键字用来指定不
    的头像 发表于 11-30 16:05 1016次阅读

    两种常见EMC整改流程!

    两种常见EMC整改流程!|深圳比创达电子EMC
    的头像 发表于 11-23 10:10 916次阅读