DFT笔记24

3.3.2 Event-Driven Simulation

event-driven simulation:事件驱动的仿真概念如下图所示:

event:指的就是信号值的变化,发生一次变化叫一个event。(比如G3没有变化,所以不用评估G3)。

下图描述了zero-delay event-driven simulation 的flow(zero-delay指的是门和互连线都没有延迟):

event-driven simulation的两个主要优点:

  1. 效率高
  2. 能仿真任何delay model
3.3.2.1 Nominal-Delay Event-Driven Simulation

scheduler:是event-drive simulator的重要组成部分。对于zero-delay simulation,event queue就是一个很好的scheduler,因为不用考虑时间;对于nominal-delay simulation,就需要一个更精确的scheduler,可以确定评估哪个门以及以什么样的时间顺序去评估,这时候scheduler就是一个priority queue。

下图就是一个priority queue,根据时间顺序有time stamps,每一个time stamp对应水平方向上的各个事件:

一个two-pass strategy对于nominal delay event-driven simulation如下图描述(可以避免对多输入电路的门进行重复评估):

下面就用这一章开头的电路N做一个例子,图中是这个flow体现在电路N中的具体波形(之后需要再细看):

对应的仿真过程如下表:

3.3.3 Compiled-Code versus Event-Driven Simulation(两个逻辑仿真方法对比)

Compiled-code simulation:

  1. 是cycle-based simulation,只关注时钟周期末尾的电路行为,可以用来做zero-delay
    simulation
  2. 可以隐藏simulation model的细节
  3. 当circuit activity较高时可以使用并行仿真

Event-driven simulation:

  1. 考虑delay models时是最好的方法,而且能检测hazards
  2. low circuits activity时是最好的方法,比如低功率电路
  3. 是debug时候最好的方法,周期可变
相关推荐
RainCity1 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
LinXunFeng8 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
闪闪发亮的小星星13 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq13 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
阿米亚波13 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.13 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
.千余13 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.13 天前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding
秋波。未央13 天前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
中屹指纹浏览器13 天前
2026指纹浏览器字体指纹、字体渲染偏差检测与全维度虚拟字体池搭建方案
经验分享·笔记