首先需要指出本文题目所指的仿真指的是 功能仿真,即不带时序信息的仿真。
每个fpga developer都会做功能仿真验证rtl代码功能的正确性。我们知道在功能仿真中是没有考虑延迟的,组合逻辑是零延迟,寄存器也是在时钟跳变沿瞬时完成采样。
对于同步电路来说,功能仿真完成后,再加上静态时序分析,我们基本能确保设计的电路能正确工作(有一些情况例外,比如综合的结果和仿真的结果不同)。但是对于异步电路,功能仿真的零延迟特性没法很好模拟跨时钟域时的情况,在静态时序分析时我们一般也是false path,不做后仿真(时序仿真)则很难确保跨时钟域电路设计的正确性。
那么我们在做仿真时有没有办法更好得模拟跨时钟域的情况?
先看看跨时钟域有什么特性?一是亚稳态导致采样到的信号出现随机值,二是跨时钟域不是瞬时结束的,而是会持续一段时间。
依据此特性,我们在功能仿真时可以手动给跨时钟域信号加延迟。延迟的大小可以是random的一个值来更好得模拟随机采样值,而且最好是能在真实延迟的大概范围。
举个例子。
假设我们是跨时钟域采样一个bit的信号,输入信号不停在0和1之间跳变。如下图所示,data1_q是输入单bit信号的寄存器输出,data1_q_delay则是对data1_q添加延迟后的信号。data2_q是在目的时钟域clk2对data1_q的采样,data2_q_delay则是在目的时钟域对data1_q_delay的采样。
从图中可以看到,data2_q在跨时钟域时只有一个cycle采到错误的值,data2_q_delay则较好的模拟出了采样值的随机性,而且会持续多个cycle出现“随机”值。
Microchip通过基于SAMA5D2 MPU的系统模块简化工业级Linux的设计
5G对AR技术有什么影响?
钽电容的识别方法以及钽电容实效原因的分析
PI的高集成度开关电源IC采用900 V MOSFET
物联网推动低功耗广域网迅速发展
在做仿真时有没有办法更好得模拟跨时钟域的情况?
LCD液晶屏串口与并口之间的差别是什么
浅谈基于凌力尔特LTC3626的温度监视限制实现
FPS2800B12C4 机油特性传感器用于监测发动机油状况
英特尔收购Mobileye 153亿美元买ADAS厂商值吗?
交流接触器为什么用直流线圈?
2017年CIS产业规模达139亿美元 Sony和三星位列市占率前两位
气球写字互动装置、单车海洋球装置
SMPS应用中新颖超低静态功耗的PWM控制概念
iPhone12有哪些特点会不会引发新一轮换机潮
3D打印技术在航空发动机部件领域的工业化应用
单片机的开发流程是怎么样
5G即将开工 我们真的准备好了吗
以单片机程序控制实现的电源切换控制器
算能与玉溪市政府签署战略合作协议,共建人工智能创新平台