一、跨时钟域

SOC芯片中存在数量众多的时钟域,为了解决时钟域之间的通信或数据交互问题,一种常用的方案是使用两级同步触发器进行同步(俗称打两拍),来自另一个时钟域的信号传输到本时钟域,由于该信号并没有同步到本时钟域,因此其有可能在建立时间或保持时间窗口内发生跳变,从而导致第一级触发器出现亚稳态,即第一级触发器输出x,如果第一级触发器可以在一个时钟周期内从亚稳态回到稳定状态,那么第二级触发器就不会出现亚稳态,即两级同步阻断了亚稳态的传播。

门级仿真使用的是网表(netlist),网表中是一个个cell,这些cell是标准单元库中的标准单元,如触发器DFF,由于是软件仿真,所以这里的DFF并不是实际的电路,而是DFF的模型,当异步信号在建立时间或保持时间的窗口内发生跳变,DFF模型将输出x,但其没办法像实际电路一样,在一个时钟周期内从亚稳态回到稳定状态,因此x会一级一级的往后传播,这就是软件仿真与实际电路之间的GAP,显然这并不是时序问题,解决这个问题的办法是不对同步一级做时序检查。

解决办法虽然很简单,但是必须确定是跨时钟域的两级同步问题,即同步一级的上一级是异步时钟域,且上一级的输出是稳定态,不然容易隐藏真正的时序问题。前面讲到,门级仿真中出现的x会一级一级往后传播,而门级仿真是时钟驱动的,因此log中打印的timing violation是分时间先后的,后面的timing violation可能是由前面的timing violation造成的,因此在门级仿真debug时,总是分析log中的第一条timing violation,并结合schematic和波形确定该timing violation是不是由跨时钟域造成的。实际上,可能同时存在多条时序路径的跨时钟域导致门级仿真失败,按照上面的方案,可能只是解决了一条时序路径的跨时钟域,而门级仿真较慢,解决所有时序路径的跨时钟域可能需要大量的时间,因此这种方案就时间成本而言并不是最好的方案。为了节省门级仿真时间,可以结合功能仿真的schematic与门级仿真的schematic,找出所有跨时钟域的时序路径,并指示仿真器不对这些时序路径进行时序检查,因为后端在做静态时序分析时,会略过跨时钟域部分的时序分析,所以后端是可以找出所有用于跨时钟域的两级同步触发器,在实际验证中,后端会向前端提供一个文件,里面是用于跨时钟域的第一级同步触发器。

SOC芯片门级仿真失败的原因分析及其解决办法相关推荐

  1. c 中连接mysql登录不成功_数据库连接失败的原因分析及解决办法 | 学步园

    如何来解决三个最常见的连接错误. 第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.一般说来,有以下几种可能性: ...

  2. 用飞秋给朋友发送消息失败的原因分析及解决办法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 使用飞秋经常发生这样的错误: 给用户***发送失败!可能用户已下线,或网络原因,或您发送的内容太长.您可刷新用户列表后 ...

  3. 连接mysql服务验证失败_数据库连接失败的原因分析及解决办法

    如何来解决三个最常见的连接错误. 第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.一般说来,有以下几种可能性: ...

  4. win7安装android驱动失败怎么办,Win7蓝牙驱动安装失败的原因分析与解决方法

    蓝牙是一种支持设备短距离通信的无线电技术,现在不管是手机还是电脑都已经普遍的使用蓝牙功能了.如果Win7系统电脑没有安装蓝牙驱动的话,是需要安装后才能使用的.最近,有用户在安装蓝牙驱动的时候,发现安装 ...

  5. mysql数据库连接过多的错误,可能的原因分析及解决办法

    mysql数据库连接过多的错误,可能的原因分析及解决办法 来源:网络采集 作者:未知 系统不能连接数据库,关键要看两个数据: 1.数据库系统允许的最大可连接数max_connections.这个参数是 ...

  6. 3蛋白wb_WB常见问题原因分析及解决办法

    蛋白免疫印迹(WB):基于抗原抗体的特异性结合作用,以检测复杂样品中的某种蛋白,并对其进行半定量分析的一种方法. 主要用于靶标蛋白特异性表达的定性或半定量分析,蛋白与蛋白或蛋白与DNA相互作用的后续分 ...

  7. 计算机故障报警声2声,电脑发出一长两短报警声的原因分析及解决办法

    为了能够测试电脑的开机是否正常,很多人都会在电脑主板上插上一个报警器.如果开启的时候是一声滴,那就说明电脑开机是正常的.如果出现了一长两短的声音,然后就没有反应了.这说明是电脑的显卡出现了问题.下面小 ...

  8. 换ssd后Oracle,更换SSD固态硬盘后电脑无法开机原因分析和解决办法

    更换SSD固态硬盘后电脑无法开机原因分析和解决办法 有网友先自己电脑反应慢,将硬盘换成了SSD固态硬盘,自己使用Win8.1系统,重启电脑正常,但是系统更新后,电脑开机出现如下界面,提示: Windo ...

  9. win8计算机usb无法识别usb设备,Win8.1无法识别USB设备原因分析及解决办法(适合Win8)...

    Win8.1无法识别USB设备原因分析及解决办法 同事孩子要上大学,购买了预装Win8.1系统的笔记本,想要使用读卡器传照片,插上USB读卡器后,任务栏右下角显示无法识别的USB设备,这怎么可能呢?W ...

最新文章

  1. 用太极拳讲分布式理论,真舒服!
  2. zookeeper都有哪些使用场景
  3. CoinEx将于8月6日开启Spice加速器申购
  4. hive报错(1)MoveTask/HIVE return code 1、2、3
  5. 旋转字符串算法由浅入深
  6. Java二手车交易系统
  7. 快讯千树资本投资柒小佰 踏入儿童出行消费领域...
  8. 日志文件和mysql同步到kafka_logstash_output_kafka:Mysql 同步 Kafka 深入详解
  9. python--(pickle)文件读写
  10. DataTable/DataSet汇出Excel
  11. 多元统计分析最短距离法_多元统计分析(11个常见的多变量分析方法)
  12. 灌浆料的弹性模量计算_防城港市(灌浆料)月度
  13. 用自己电脑做网站服务器
  14. 生成osm文件_OSM地图本地发布-如何生成各省市矢量地图
  15. php用户登录论坛系统,PHPWind
  16. 《脚本》Scapy刺探星巴克无线网,记录顾客信息
  17. 勘智K210 KPU特性及约束
  18. Switch相关代码总结
  19. 金陵科技学院计算机系男女比,【为男女比例正名】揭秘南京26所高校男女生比例!...
  20. 视频传输专用无线网桥

热门文章

  1. C语言,输入任意年份,判断生肖
  2. Rest API的认证模式
  3. SpringBoot Bean加载顺序 Order无效
  4. Arduion+ESP+GRBL 局域网雕刻机【后续】
  5. fgets,strlen函数详解
  6. 库兹韦尔:2029年,机器将达到人类的智能水平
  7. 抽屉原理(简单类型)
  8. 干了一年区块链,工作没了,负债累累
  9. 酒店投资新趋势--东呈国际携手酒店高参跨界融合会广东站
  10. HighTec安装及破解教程