18.luck新利
的意见

早期发现重置域交叉错误

常见的设计错误涉及重置和如何解决这些问题。

受欢迎程度

芯片系统(SoC)设计的许多方面,包括盖茨的数量、记忆,时钟域,重置领域,权力领域,片上总线和外部接口。一个最近的博客帖子专注于重置域交叉(rdc)和有效pre-silicon验证这些隐患的结构要求。如果应用得当,一个解决方案满足这些需求可以在开发过程的早期发现RDC错误,当他们更容易诊断和修复。这是一个重要的组件的整体“左移位”芯片验证保存项目资源和减少上市时间(TTM)。

为了演示RDC的值检查,看看一些常见的设计是有帮助的错误涉及重置。许多这样的不容易固定在硅,这是验证过程中发现他们的另一个关键原因。每当发生RDC重置信号遍历从一个域到另一个地方。正确处理这些信号是具有挑战性的和错误很容易做。RDC错误发生时的应用异步复位可能导致亚稳定性和顺向非确定的值在芯片内。尽管rdc有一些相似之处与时钟域交叉(疾控中心),发生的场景可能会有所不同。

例如,一个RDC错误甚至可以发生在一个时钟域。在下图中,信号从一个复位的触发器在另一个域的域驱动一个触发器重置独立运作,尽管flip-flips共享一个共同的时钟。如果复位的触发器(FF_src)变化值接近捕捉触发器的时钟上升沿活跃(FF_dst),捕获触发器可能进入亚稳状态,输出不确定的。这是因为路径从一个异步销(比如图中的红色路径)通常是不定时的。“rst1”信号可能是软件复位或可能是由于加电复位(运动)。

详尽的静态分析的最快、最可靠的方法是揭示RDC错误。一些实际场景中发现的bug SoC设计演示这一分析的能力和灵活性。在第一个场景中,数据损坏可能发生当一个SoC内存控制器复位,但相关的内存并不是因为其内容必须保留。例如,配置内存包含重要的操作信息,不能被重置。RDC设计错误是异步内存控制器复位(“soft_rst”)控制触发器f1可能导致触发器f2成为亚稳,可能产生虚假的写入内存和腐蚀的关键配置数据。最简单的修复是门写(读)使控制器复位期间确保内存不会被改变。

先前项目的集成设计IP块,内部图书馆,或商业来源往往增加了重置SoC域,并与他们潜在的RDC错误。在下面的图中,总线逻辑生成“重置”域传输数据到IP块在“运动”域。设计是建立这样一个断言生成的自动复位,但不是亦然。因此,如果生成重置断言没有穷,有一个RDC错误,数据进入IP块可能会损坏。解决方案是将IP连接到低水平活动时生成的复位复位是断言。

一个相关的场景发生在奴隶IP块使用“用户重置”发送请求数据的主IP块“系统复位”域。如果奴隶重置而不是大师,有潜在的亚稳定性和腐败的数据。一个可能的修复是禁用数据路径从奴隶IP到主IP每当“用户重置”宣称,任何可疑的值将被忽略。

检测这些类型的RDC错误和许多others-requires健壮的和强大的静态分析技术。Synopsys对此VC SpyGlass RDC是领先的行业解决方案提供这些功能,所有上市的场景从错误中找到真实用户的设计。在低功率多个重置域尤其常见,高性能的设计,解决方案支持规范使用统一格式(UPF)和行业标准威尔第自动调试系统的调试。捕捉RDC错误在开发过程的早期,一个详尽的方法可以节省时间和资源,同时提供确定没有问题会逃到硅。

发现和修复重置问题的更多信息,阅读前帖子和下载一个详细的白皮书



留下一个回复


(注意:这个名字会显示公开)

Baidu