Verilog篇(四)时序模型
时序模型:仿真器的时间推进模型,它反映了推进仿真时间和调度事件的方式。
1)门级时序模型:适用于分析所有的连续赋值语句,过程连续赋值语句,门级原语,用户自定义原语。
特点:任意时刻,任意输入变化都将重新计算其输出。假设已经存在一个门级时序模型,同时该模型产生的一个事件已被调度但还未执行,如果事件的结果将导致
一个新事件产生,仿真器会撤销对先前事件的调度,转而调度新事件。
适用于模拟电路中的惯性延时。适用于组合逻辑建模。
惯性延时:例如在一个与非门电路中,门延时5ns,那么任何小于这个延时值的输入变化都不会对输出产生影响。
写法:always @(a or b) begin #5 sum = a + b; end 起始时刻为T,T+5时刻再将此时刻的a+b计算赋值。(right)
always @(a or b) begin sum = #5 (a+b); end 起始时刻为T,T+5时刻再将T时刻a+b的值赋值给sum。
assign #5 B = ~ A; //B是A延时5单位后的值。更新A和B都发生在5单位后。(right)
assign B = #5 ~ A; //B是A延时5单位后,5单位前的值。更新A发生在刚开始,更新B发生在5单位后。
假设Clk时钟为200ns,则 assign #800 Clk_delay = Clk; 语句执行。 Clk_delay将一直保持未初始化的值,因为Clk的周期200ns的变化会一直刷新事件,使得#800的事件一直执行不了。
2)过程时序模型:适用于initial, always, 。
特点:敏感表只是输入的一个子集。假设寄存器的一个更新事件已经被调度,如果再调度同一个寄存器的另一个更新事件,即使在同一时刻,前一个事件也不会被
取消。
适用于模拟电路中的传导延时。适用于时序逻辑建模。
传导延时:金属线上的传输延时,D触发器中clk-to-Q延时。
写法:always @(posedge clk or negedge rst_n) begin
if(~rst_n) A <= 0;
else A <= #2B;
end //B的值在延时2个单位后,将0时刻时的值赋值给A,期间B的变化不会影响A。(right)
always @(posedge clk or negedge rst_n) begin
if(~rst_n) A <= 0;
else #2 A <= B;
end //B的值在延时2个单位后,将2时刻时的值赋值给A,期间B的变化不会影响A。
Verilog篇(四)时序模型的更多相关文章
- 阻塞赋值与非阻塞赋值(verilog篇)
阻塞赋值与非阻塞赋值(verilog篇) 2017-09-30 竹海 相约电子ee 相信刚刚接触verilog的读者,多少对阻塞赋值和非阻塞赋值仍有一些困惑.笔者在这篇文章,带领大家深入的理解这两者的 ...
- C语言之内存四区模型和函数调用模型
内存四区模型 流程说明1.操作系统把物理硬盘代码load到内存2.操作系统把c代码分成四个区3.操作系统找到main函数入口执行 1.内存四区: 一个由c/C++编译的程序占用的内存分为以下几个部 ...
- 11、C内存四区模型
转载于:https://blog.csdn.net/wu5215080/article/details/38899259 内存四区模型 图1.内存四区模型流程说明1.操作系统把物理硬盘代码load到内 ...
- FPGA基础入门篇(四) 边沿检测电路
FPGA基础入门篇(四)--边沿检测电路 一.边沿检测 边沿检测,就是检测输入信号,或者FPGA内部逻辑信号的跳变,即上升沿或者下降沿的检测.在检测到所需要的边沿后产生一个高电平的脉冲.这在FPGA电 ...
- 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇四:关于OneNote入库处理以及审核
篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...
- iOS开发UI篇—字典转模型
iOS开发UI篇—字典转模型 一.能完成功能的“问题代码” 1.从plist中加载的数据 2.实现的代码 // // LFViewController.m // 03-应用管理 // // Creat ...
- iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序
iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序 一.plist文件和项目结构图 说明:这是一个嵌套模型的示例 二.代码示例: YYcarsgroup.h文件代码: // // YYcar ...
- 【SSRS】入门篇(四) -- 向报表添加数据
原文:[SSRS]入门篇(四) -- 向报表添加数据 定义好数据集后 [SSRS]入门篇(三) -- 为报表定义数据集 ,就可以开始设计报表了,将要显示在报表的字段.文本框.图像和其他项从工具箱拖放到 ...
- C语言进阶之路(一)----C语言的内存四区模型
内存四区模型:操作系统给C/C++编写的程序分配内存,通常将分配的内存划分为以下四个区域:1.栈区:存放局部变量,用完由操作系统自动释放2.堆区:动态分配给程序的内存区域,由程序员手动释放3.数据区: ...
随机推荐
- Rails secret token bug
ArgumentError (A secret is required to generate an integrity hash for cookie session data. Use confi ...
- 23种设计模式之状态模式(State)
状态模式是一种对象的行为型模式,允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类.状态模式封装了状态的转换过程,但是它需要枚举可能的状态,因此,需要事先确定状态种类,这也导致在状 ...
- iOS - 仿微信朋友圈视频剪切功能
分析需求 我们先看一看微信的界面 微信效果图 1.页面下部拖动左边和右边的白色竖条控制剪切视频的开始和结束时间,预览界面跟随拖动位置跳到视频相应帧画面,控制视频长度最长15秒,最短5秒 2.拖动下部图 ...
- mysql rowid实现
) a, b b表是数据表
- Docker 利用registry创建私有仓库
一.Docker-registry镜像 下载地址 官方镜像下载比较慢,因为人品问题一直下载不成功,所以选择了国内的镜像. daocloud: https://hub.daocloud.io/ 还有 ...
- mvc 实现超时弹窗后跳转
为了实现保持登录状态,可以用cookie来解决这一问题 假设过期时间为30分钟,校验发生在服务器,借助过滤器,可以这样写 public class PowerFilter : AuthorizeAtt ...
- Context对象还提供了相应的属性来调整线条及填充风格
创建一个Canvas画布的方法如下: 复制代码 代码如下: <canvas id=”canvas” width=”600” height=”400”></canvas> 可以在 ...
- POJ-1926 Pollution
Pollution Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 4049 Accepted: 1076 Description ...
- poj3728The merchant 【倍增】【LCA】
There are N cities in a country, and there is one and only one simple path between each pair of citi ...
- ArcGIS API for javascript开发笔记(三)——解决打印输出的中文为乱码问题
感谢一路走来默默支持和陪伴的你~~~ ----------------------欢迎来访,拒绝转载---------------------- 1. 调用ArcGIS API的Print实 ...