【问题标题】:how to track errors in FPGA/ASIC development using post place'n' route and/or post synthesis simulation?如何使用 post place'n' route 和/或 post synthesis 仿真跟踪 FPGA/ASIC 开发中的错误?
【发布时间】:2017-08-02 18:21:22
【问题描述】:

对于 FPGA/ASIC 开发的 PnR 后和/或综合后仿真的用处,我有点困惑。如果综合或 PnR 过程在设计流程中成功完成,那么相应的“后期”仿真是否有可能揭示设计中的错误?谁能举个例子?

【问题讨论】:

    标签: simulation fpga synthesis asic


    【解决方案1】:

    在典型的设计流程中,综合后和/或 PnR 后仿真没有有用,我们的目标应该是避免它们。

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

    尽管 PnR 工具在极少数情况下可能会出现,例如技术映射错误或未能给出违反设计规则的警告,在 PnR 后仿真中揭示问题的至少 99% 的情况是由于设计错误,最常见的是时钟域交叉,内存访问竞争条件很好,但已经非常罕见,第二。

    因此,重点应该是遵守设计规则并采用严格的设计方法来避免问题,而不是试图在 PnR 后仿真中发现问题。

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

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

    【讨论】:

      【解决方案2】:

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

      那么我们可以捕捉到什么样的错误呢?

      • 在 RTL 模拟中很难发现一些不需要的故障。如果某些输出是由组合逻辑生成的,那么 PnR 后仿真比以往任何时候都更加重要。

      • 综合和/或 PnR 约束中可能存在一些错误。最好仔细检查所有内容。

      • 综合/PnR 工具可能存在错误。逻辑等价检查 (LEC) 也可以捕获错误,但它只针对功能执行。

      【讨论】:

      • 但是合成和PnR过程是否成功验证了时序? PnR 能否成功并满足所有时序约束(设置保持时间等)但在 PnR 仿真中发现问题?
      • @user2609910 对每个路径独立执行时序检查(在综合/PnR 中),但是一些故障可能取决于多个路径、先前状态以及输入向量。您可以通过约束捕捉一些故障,但对于数据路径来说并不容易,并且不如 PnR 后的模拟有效。
      • @user2609910 正如我在回答中解释的那样,约束可能是错误的,或者工具可能存在错误。谈“成功”可没那么容易。
      【解决方案3】:

      PnR 后仿真在工业上被称为门级仿真。这有计时和非计时两种。这种模拟是用来检测的

      1. 时序路径,未由 STA 或时序收敛检查。
      2. 作为 HFNS(高扇出网络综合)和 CTS(时钟树综合)的电源和复位操作中的错误可能会导致某些可复位触发器的复位不规则,从而导致它们将 x 传送到路径中的下一个逻辑,从而导致 x -传播。
      3. DFT 逻辑中的错误在 RTL 仿真期间未检查,可能已在 PnR 期间删除。
      4. x 在逻辑路径上由于 STA 跳过的时钟域交叉路径的可靠性问题

      【讨论】:

        【解决方案4】:

        就将逻辑从映射到 PAR 的转换而言,过程最为稳定。但是,当然,如果学究气,您可以将 LEC 用于 syn->map 和 map-> PAR。

        Post PAR Sims 可能很有用,但如果您在实验室遇到问题,可能是因为您没有完全限制设计的时序,并且需要使用反向注释的 SDF 进行仿真,正如上面提到的其他人。当然,如果您尚未在 TB 中创建具有时序的模型和/或未按照 Board 设计人员提供给您的正确限制 IO,那么这当然对您没有帮助。

        我认为最好的做法是针对带有反注释 SDF 的 PAR 网表至少运行一次回归套件。它不会花费您任何费用,并提供更多的置信度数据点。

        【讨论】:

          猜你喜欢
          • 2020-08-15
          • 2018-11-11
          • 2015-04-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-14
          • 2022-01-19
          • 2015-04-23
          相关资源
          最近更新 更多