Verilog HDL(二):行为级建模的结构(initial和always)、begin、fork、时间控制
1.行为级建模的结构
(1)基本语法格式
module<模块名>(<端口列表>)模块端口说明;[参数定义]; //用关键词“parameter”实现数据类型说明; //默认为线网类型“wire”过程块(initial过程块或always过程块,可以有一个或多个)连续赋值语句; //有关键词“assign”开头[任务定义(task)];[函数定义(function)];
endmodule
(2)initial和always过程块的区别
initial 语句块
always @(敏感事件列表) //敏感事件列表是由一个或多个时间表达式组成,用or来连语句块
注意:always语句后面可以有一个敏感事件列表,该敏感事件列表的作用是用来激活always过程语句的执行,而initial过程语句的后面不允许有敏感事件列表。
2.语句块
(1)顺序块begin-end
当最后一条语句执行完毕时,程序流程控制跳出顺序快,结束执行。执行时间为内部各条语句执行时间的总和。
(2)并行块fork-join
当执行时间最长的语句执行完毕时,程序流程控制跳出并行块,结束执行。执行时间为执行时间最长的那条语句所需的执行时间。
(3)顺序块和并行块属于不同的过程块时,是并行执行的。
(4)顺序块和并行块可以相互嵌套。
3.时间控制
(1)延时控制
#<延迟时间> 行为语句;
或
#<延迟时间>
(2)边沿触发时间控制
语法格式:
@ (<事件表达式>)行为语句;
@ (<事件表达式>);
@ (<事件表达式1>or<事件表达式2>or…or<事件表达式n>)行为语句;
@ (<事件表达式1>or<事件表达式2>or…or<事件表达式n>);
其中事件表达式的形式:
1》<信号名>;
例如:@(reg_a)reg_b = reg_a;
2》posedge<信号名>; //加posedge,代表<信号名>所指定的信号发生正跳变
例如:@(posedge reg_a)reg_b = reg_a;
3》negedge<信号名>; //加negedge,代表<信号名>所指定的信号发生负跳变
例如:@(negedge reg_a)reg_b = reg_a;
(3)电平敏感事件控制(wait语句)
1》wait(条件表达式)语句块;
2》wait(条件表达式)行为语句;
3》wait(条件表达式);
Verilog HDL(二):行为级建模的结构(initial和always)、begin、fork、时间控制相关推荐
- 【Verilog HDL学习之路】第二章 Verilog HDL的设计方法学——层次建模
2 Verilog HDL的设计方法学--层次建模 重要的思想: 在语文教学中,应该先掌握核心方法论,再用正确的方法论去做题目,这样能够逐渐加深对于方法论的理解,做题的速度和准确率也会越来越高. 在V ...
- Quartus II使用说明(Verilog HDL二选一数据选择器 )
<可编程数字逻辑电路设计>课程中Quartus II软件的使用说明 VHDL和Verilog HDL不一样. 1.新建文件夹,里面包含5个子文件夹(doc/img/prj/rtl/test ...
- 【连载】【FPGA黑金开发板】Verilog HDL那些事儿--低级建模的基础实例(七)
声明:本文为原创作品,版权归akuei2及黑金动力社区(http://www.heijin.org)共同所有,如需转载,请注明出处http://www.cnblogs.com/kingst/ 第三章 ...
- 数字集成电路设计(二、Verilog HDL基础知识)
文章目录 1. 语言要素 1.1 空白符 1.2 注释符 1.3 标识符 1.3.1 转义标识符 1.4 关键字 1.5 数值 1.5.1 整数及其表示方式 1.5.2 实数及其表示方式 1.5.3 ...
- Verilog HDL三种描述方式
一.数据流建模方式 在组合逻辑电路中,数据不会存储,因此输入信号经过电路变为输出信号类似于数据流动.可以通过连续赋值语句这种特性进行建模,这种建模方式通常被称为数据流建模. 连续赋值语句只能用来对连线 ...
- Verilog HDL 语法学习笔记
今天给大侠带来Verilog HDL 语法学习笔记,话不多说,上货. 关于详细的VHDL语法以及Verilog HDL语法可参见往期文章. 一周掌握 FPGA VHDL Day 7 暨汇总篇 一周掌握 ...
- 数字集成电路设计(三、Verilog HDL程序设计语句和描述方式)(一)
文章目录 1. 数据流建模 1.1 连续赋值语句 2. 行为级建模 2.1 过程语句 2.2 语句块 2.3 过程赋值语句 **!!!小结** 2.4 过程连续赋值语句 2.5 条件分支语句 2.5. ...
- 一周掌握FPGA Verilog HDL语法 day 4
今天给大侠带来的是一周掌握FPGA Verilog HDL 语法,今天开启第四天. 一周掌握FPGA Verilog HDL语法 day 3 被平台综合了,如果想要看详细介绍的话,可以到公众号内部&q ...
- 爆肝4万字❤️零基础掌握Verilog HDL
文章目录 0.前言 1.Verilog HDL简介 1.1 什么是Verilog HDL 1.2 verilog发展历史ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ 1.3 为什么要使用verilog ...
- Verilog HDL简明教程
Verilog HDL简明教程 来源: 郭红卫的日志 Verilog HDL简明教程 Verilog HDL是一种硬件描述语言,用于从算法级.门级到开关级的多种抽象设计层次的数字系统建模.被建模的数字 ...
最新文章
- 网站初学笔记3-HTML实用元素5
- RYU控制器的学习笔记(三) 利用观察者模式通知app处理报文
- 【leetcode记录02】递归
- .net 技术类网址
- Neo4j:带密码的TF / IDF(和变体)
- 关键字typedef、关键字using、auto类型说明符和declytpe类型指示符
- 数据爆发式增长下,CIO不可不知的“数据经济学”
- 经典卷积神经网络的学习(三)—— Inception Net
- hadoop管理命令——fsck
- 有感于中国的系统分析员考试
- BZOJ3925: [Zjoi2015]地震后的幻想乡
- java 扫描文件_JAVA文件扫描(递归)的实例代码
- 如何安装黑苹果双系统
- Python之shp文件
- 西数MyBookDuo提供致臻性能、超大容量及综合数据保护
- RabbitMQ的使用(Java语言传统操作)
- Element-Ui 双重el-tabs组件选中第二层时,刷新导致第一层选中样式丢失问题以及解决方法
- 【doris】V1.2.2安装部署单机版or集群版
- 【Cocos2D-x 3.5实战】坦克大战(1)环境配置
- Java HashSet和Java HashMap