Verilog-always语句
always语句总是循环执行,或者说此语句重复执行。
只有寄存器类型数据能够在这种语句中被赋值。寄存器类型数据在被赋新值前保持原有值不变。所有的初始化语句和always语句在0时刻并发执行。
下例为always语句对1位全加器电路建模的示例,如图2-4。
- module FA_Seq(A,B,Cin,Sum,Cout);
- input A,B,Cin;
- output Sum,Cout;
- reg Sum,Cout;
- reg T1,T2,T3;
- always @(A or B or Cin) begin
- Sum = (A^B)^Cin;
- T1 = A & Cin;
- T2 = B & Cin;
- T3 = A & B;
- Cout=(T1 | T2) | T3;
- end
- endmodule
模块FA_Seq有三个输入和两个输出。由于Sum、Cout、T1、T2和T3在always语句中被赋值,它们被说明为reg类型(reg是寄存器数据类型的一种)。
always语句中有一个与事件控制(紧跟在字符@后面的表达式)。相关联的顺序过程(begin-end对)。这意味着只要A、B或Cin上发生事件,即A、B或Cin之一的值发生变化,顺序过程就执行。在顺序过程中的语句顺序执行,并且在顺序过程执行结束后被挂起。顺序过程执行完成后,always语句再次等待A、B或Cin上发生的事件。
在顺序过程中出现的语句是过程赋值模块化的实例。模块化过程赋值在下一条语句执行前完成执行。过程赋值可以有一个可选的时延。
时延可以细分为两种类型:
1)语句间时延:这是时延语句执行的时延。
2)语句内时延:这是右边表达式数值计算与左边表达式赋值间的时延。
下面是语句间时延的示例:
- Sum=(A^B)^Cin;
- #4T1=A&Cin;
在第二条语句中的时延规定赋值延迟4个时间单位执行。就是说,在第一条语句执行后等待4个时间单位,然后执行第二条语句。下面是语句内时延的示例。
- Sum=#3(A^B)^Cin;
这个赋值中的时延意味着首先计算右边表达式的值,等待3个时间单位,然后赋值给Sum。
Verilog-always语句相关推荐
- FPGA之道(74)Verilog生成语句
文章目录 前言 Verilog生成语句 循环生成 条件生成 generate-if语句 generate-case语句 前言 为什么要把这一节单独拎出来,因为个人原因,平时觉得用的Verilog生成语 ...
- (111)FPGA面试题-介绍Verilog 块语句fork-join执行过程
1.1 FPGA面试题-介绍Verilog 块语句fork-join执行过程 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-介绍Verilog 块语句f ...
- (110)FPGA面试题-介绍Verilog块语句begin-end执行过程
1.1 FPGA面试题-介绍Verilog块语句begin-end执行过程 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-介绍Verilog块语句beg ...
- Verilog inout语句使用方法及技巧
1.1 Verilog inout语句使用方法及技巧 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Verilog inout语句使用方法及技巧: 5)结束语. 1.1 ...
- Verilog语言语句介绍
Verilog语言语句介绍 结构语句 initial语句 always语句 赋值语句 阻塞赋值 非阻塞赋值 使用方法 条件语句 if_else语句 case语句 结构语句 共有两个重要的结构语句 in ...
- Verilog disable语句
如何中止任务或代码块的执行? Verilog disable语句能够中止任务或代码块. 通常在以下场景中会使用disable语句: 1.在循环中执行"break"命令,跳过循环迭代 ...
- verilog case语句_浅谈Design Compiler -- Verilog语言结构到门级的映射
昨天的文章中,我们了解到Design Compiler(DC)作为Synopsys公司开发的一款用于电路综合的EDA工具,在全球数字电路市场去得了巨大的成功,它的设计初衷是将用Verilog HDL语 ...
- FPGA学习笔记---Verilog延迟语句分析比较
在Verilog语言中经常要用到延时语句,延时语句添加的位置不同,输出的结果就会不同.今天就来分析比较一下延时语句在不同位置时,对赋值语句的影响. 一.阻塞式左延时赋值 文件代码: `timescal ...
- 编程语言——Verilog基本语句
基本语法 过程语句 赋值语句 条件语句 循环语句 任务与函数 过程语句 在一个模块内部可以有任意多个initial语句和always语句,两者都是从仿真的起始时 刻开始执行的, 但是initial语句 ...
- 7.Verilog 条件语句的应用
FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...
最新文章
- JavaScript 读书笔记(二)— Date类型
- Algorithms_基础数据结构(01)_线性表之数组数组的应用案例分析
- [Silverlight]奇技银巧系列-3
- 如何像Uber一样给工程师派单,解放外包生产力?
- .NET Core 跨平台执行命令、脚本
- 设置Proxy Server和SQL Server实现数据库安全
- 基因结构显示服务器,服务器固定结构 Server fixed structure
- 安川机器人焊枪切换设定方法_【分享】焊接机器人的性能要求与系统构成
- python身份证验证系统_用python制作全国身份证号验证及查询系统
- php网页顶部菜单代码,5款个性的网页回到顶部特效代码
- python两种方法实现从1000万个随机数中找出top n元素(附c语言版)
- 《东周列国志》第五十六回 萧夫人登台笑客 逢丑父易服免君
- Eclipse在桌面上创建的快捷方式打不开
- 外贸员需要知道的那些事儿
- Floyd-Warshall算法过程中矩阵计算方法—十字交叉法(转)
- 订单管理_04删除订单信息流程
- 模糊控制(二)模糊控制——模糊推理
- (79)FPGA减法器设计(半减法器)
- 收入翻倍的企业,如何靠“游戏化”激活销售团队? | Superuser系列
- 纪念品分组 java实现_纪念品分组 (C语言代码)
热门文章
- FPGA学习之毛刺问题
- MySQL懒查询_MySQL 5.7查询sys.schema_redundant_indexes居然慢如蜗牛...
- 【Excel2019(十七):数学函数】【Round函数+Roundup函数+Rounddown函数+Int函数+Mod函数】
- python 马赛克拼图_使用 python 做到马赛克拼图
- java 泛型参数具体类型获取、泛型返回具体类型获取
- JCA Overview
- 积分分汇界面将判断放到D层后,D层的写法
- 学设计的考PMP证书有用吗?
- 教你用OpenCV 和 Python给证件照换底色(蓝底 -红底-白底)
- Golang编码规范