Simulation 如何使用post place'跟踪FPGA/ASIC开发中的错误;n';路线和/或合成后模拟?

Simulation 如何使用post place'跟踪FPGA/ASIC开发中的错误;n';路线和/或合成后模拟?,simulation,fpga,synthesis,asic,Simulation,Fpga,Synthesis,Asic,我对后PnR和/或后合成仿真对FPGA/ASIC开发的有用性有点困惑。如果合成或PnR过程在设计流程中成功完成,各“后”模拟是否有可能揭示设计中的错误?有人能举个例子吗?PnR后仿真不仅验证了功能,而且验证了时间。电路的时序信息可以以多种格式转储到仿真中,但是最流行的格式是标准延迟格式(SDF),该格式发布为 那么我们能抓住什么样的错误呢 在RTL模拟中很难捕捉到一些不必要的小故障。如果某些输出是由组合逻辑生成的,则PnR后仿真比以往任何时候都更重要 合成和/或PnR约束中可能存在一些错误。仔

我对后PnR和/或后合成仿真对FPGA/ASIC开发的有用性有点困惑。如果合成或PnR过程在设计流程中成功完成,各“后”模拟是否有可能揭示设计中的错误?有人能举个例子吗?

PnR后仿真不仅验证了功能,而且验证了时间。电路的时序信息可以以多种格式转储到仿真中,但是最流行的格式是标准延迟格式(SDF),该格式发布为

那么我们能抓住什么样的错误呢

  • 在RTL模拟中很难捕捉到一些不必要的小故障。如果某些输出是由组合逻辑生成的,则PnR后仿真比以往任何时候都更重要

  • 合成和/或PnR约束中可能存在一些错误。仔细检查每件事总是更好的

  • 合成/PnR工具可能有缺陷。逻辑等价性检查(Logic Equivalence Checking,LEC)也可以捕获bug,但它只针对功能执行


在典型设计流程中,合成后和/或PnR后模拟不有用,目的应该是避免它们

合成后仿真只能发现合成工具中的缺陷,而这在现有的FPGA工具中极为罕见。检查这些不应成为任何设计流程的组成部分

尽管PnR工具可能会出现一些非常罕见的情况,例如技术映射错误或未能发出违反设计规则的警告,但至少99%在PnR后模拟中发现问题的情况是由于设计错误、最典型的时钟域交叉、内存访问争用条件良好、,但是已经非常罕见了,第二

因此,重点应放在遵守设计规则和采用严格的设计方法来避免问题,而不是试图在PnR后模拟中抓住问题

对于您的问题-如果没有负松弛,并且设计规则检查正常,那么任何一个后期模拟都不会显示更多内容


后PnR模拟的一个实际用途是,当您的复杂设计由于外部组件的时序变化或I/O约束中的错误而偶尔失败,但您对错误机制一无所知时。集成逻辑分析仪和PnR后仿真的结合可以帮助最棘手的情况找出根本原因

后PnR模拟在工业上被称为门级模拟。这有两种类型:定时和非定时。这种模拟是用来检测的

  • 定时路径,未经STA或定时关闭检查
  • HFNS(高扇出网络合成)和CTS(时钟树合成)等电源和复位操作中的错误可能导致某些可复位触发器的复位不规则,导致它们将x传送到路径中的下一个逻辑,从而导致x传播
  • 在RTL模拟期间未检查DFT逻辑中的错误,可能在PnR期间已被删除
  • 由于STA跳过的时钟域交叉路径的可靠性问题,逻辑路径上出现x

  • 在逻辑上从映射到PAR的过程中大多是稳定的过程。但是,当然,如果学究式的话,你可以使用LEC同时使用SYN-> MAP和MAP- PAR。

    后PAR SIMS可能是有用的,但是如果您在实验室中有问题,可能是因为您没有完全限制您的设计时序,并且需要用后面注释的SDF来模拟,正如上面提到的其他人所说的那样。当然,如果您没有按照Board designer提供的那样在TB中创建带有计时的模型和/或正确限制IO,那么这对您没有帮助


    <>我认为最好的做法是用带注释的SDF在回归表中运行回归套件。它不需要花费任何费用,并且提供了一个更可靠的数据点。

    但是合成和PnR过程的成功不是验证了时间安排吗?PnR能否成功并满足所有时序约束(设置保持时间等),但随后在PnR模拟中发现错误?@user2609910(在合成/PnR中)对每条路径独立执行时序检查,但一些故障可能取决于多条路径、以前的状态以及输入向量。您可以通过约束捕获一些小故障,但这对于数据路径来说并不容易,也不像PnR后模拟那样有效。@user2609910正如我在回答中解释的,约束可能是错误的,或者工具可能有错误。谈论“成功”并非易事。