1. begin....end

用来组合需要顺序执行的语句,称为串行块。

module test (

input wire            clk           ;

input wire  [7:0]  data_in   ;

output reg [7:0] data_out  ;

):

reg [7:0]      data_in_dl1    ;

reg [7:0]      data_in_dl2   ;

reg [7:0]      data_in_dl3   ;

always@(posedge clk)

begin

                data_in_dl1 <= data_in           ;

                data_in_dl2 <= data_in_dl1    ;

                data_in_dl3 <= data_in_dl2   ;

                data_out      <= data_in_dl3   ;

end

串行块内的各条语句时按它们在块内的语句逐句顺序执行的,当前一条执行完之后才能执行下一条。块内每一条语句中的延时控制都是相对于前一条语句结束时刻的延时控制。

2. fork...join

用来组合需要并行执行的语句,称为并行块。例如:

parameter d = 50;

reg [7:0]    r         ;

fork

        #d        r = 8'h 45;

        #2d       r = 8'h A2;

        #3d       r = 8'h C1;

        #4d       r = 8'h E1;

join

并行语句块内各条语句时各自独立地同时开始执行,各条语句的起始执行时间都等于程序流程进入该语句块的时间。

参考:《无线通信FPGA设计》 田耕 徐文波 张延伟等.

Verilog中begin...end和fork....join的区别和用法相关推荐

  1. verilog中task、function和moudle的区别

    verilog中task.function和moudle的区别 task可以启动其他任务或者函数:而function不能启动任务 task可以定义自己的仿真时间,而function不可以: funct ...

  2. 转 Java中final、finally、finalize的区别与用法

    Java中final.finally.finalize的区别与用法 1.简单区别: final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承. finally是异常处理语句结构 ...

  3. java replaceall函数_JAVA中string.replace和string.replaceAll的区别及用法

    展开全部 JAVA中string.replace()和string.replaceAll()的区别及用法乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),32 ...

  4. JAVA中string.replace()和string.replaceAll()的区别及用法 数据库中[]转义

    JAVA中string.replace()和string.replaceAll()的区别及用法 乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replac ...

  5. 关于Verilog中begin···end语句执行顺序

    Verilog中分阻塞赋值和非阻塞赋值两种,组合逻辑多用阻塞赋值,此时使用begin···end语句,将一条执行完再执行下一句,即顺序执行. 而时序逻辑多是并行执行,多用非阻塞赋值,begin···e ...

  6. verilog中define、parameter、localparam的区别

    Verilog代码可移植性设计 1.       参数定义 localparam,实例代码如下: module tm1( clk,rst_n, pout ); input clk; input rst ...

  7. java中printf,print,println,区别及用法详解

    此题是蓝桥杯的一道竞赛试题,在编写程序时,遇到了printf的用法,不是很熟悉,特此总结一下. 以下是对Java中print.printf.println的区别进行了详细的分析介绍,需要的朋友可以过来 ...

  8. 【Python画图】Matplotlib中fig、ax、plt的区别及其用法(入门)

    Matplotlib中fig.ax.plt的区别 1. fig.ax.plt三者的基本概念 2. fig方法的层级 3. 案例 3.1 fig和ax方法(面向对象) 3.2 plt方法 4. 总结 参 ...

  9. node 的path模块中 path.resolve()和path.join()的区别

    一.path模块的引入. 直接引用.node中自带的模块 const path = require('path'); 二.path.join(path1,path2,path3-) 作用: 将路径片段 ...

  10. Verilog中case,casex,casez的区别

    在case语句中,敏感表达式中与各项值之间的比较是一种全等比较,每一位都相同才认为匹配. Note: casez与casex语句是case语句的两种变体, 在写testbench时用到,属于不可综合的 ...

最新文章

  1. 计算机丢失ac1st.dll怎么找回,CAD提示ac1st16.dll丢失修复步骤
  2. [转]Delphi 2010 3513正式版破解
  3. nginx 配置文件 linux,Linux-nginx.conf配置文件模板
  4. TransR:实体和关系分开嵌入(知识图谱嵌入)2015 AAAI
  5. AJAX淋漓尽致的发挥(Google个性化主页 VS. Windows Live.COM)站在互联网浪尖上窃喜...
  6. java获取项目路径
  7. 嵌入式linux 项目开发(一)——HTML编程
  8. java业务类_Java_业务层开发
  9. linux改变磁盘顺序,Linux上磁盘顺序混乱的情况
  10. python中的fft带通滤波器
  11. python supervisor_Supervisor捕获不到python的Print
  12. 最新的SAS SID 2023可用至2023年1月SAS 9.4 SID续订更新sas sid 2022服务器通用版server
  13. python解释器安装过程
  14. 教程:利用艾斯PM3GUI软件助手,帮你查IC卡漏洞
  15. python学习:包导入教程
  16. 诗歌之美与诗意之存在
  17. tfs java_Java SDK for TFS
  18. 计算机excel 考试操作,计算机考试操作考点列表
  19. win10加装机械硬盘卡_win10重装,机械硬盘和SSD的C盘如何分区?记住这2点电脑10年不卡...
  20. Struts2的学习 主要是知识点和基础知识

热门文章

  1. 百度网盘加速下载方法——系统自带的提速模式和积分模式区别
  2. php内置函数分析之ucfirst()、lcfirst()
  3. 如何建设研发部门体系,理清责任和关系
  4. python变量名包括_python中变量的命名以及使用
  5. python 操作微信小程序数据库 实现批量修改
  6. OneNote for win10 登录不了
  7. delphi xe 10 程式外观
  8. 超简单的用PS(PhotoShop)转换png为ico,简单的制作favicon.ico,使用画图工具转换PNG为ICO图标,不用下什么插件软件什么玩意儿的
  9. 大前端-阶段2 - 模块2 - 前端工程化实战-模块化开发(ESModule)-打包工具(webpack4)
  10. 文献盘点|回眸2021,理一理科研圈探索的那些大发现