电脑的问题是,他们没有常识。他们不能仅仅做正常的事情在一个正常的情况下,任何可能。在稀薄的曼哈顿摩天大楼,哀叹的建筑师团队的brain-deadness建筑设计工具。精通技术的建筑师之一指出,所以太棒了,如果有人能发明电脑的“常识”模块。你会使用“咄”函数访问它。就像,“如果<条件>然后<我特别需要>咄()”。换句话说,“别人做明显的事”或“其他不是个白痴。”
没有这样的情报,他们不得不处理令人遗憾的事实:计算机将做的正是你所说的,你不要说任何事情(除了一些副作用,但前提是他们是不受欢迎的)。他们认为使用电脑会简化检查建设新房子的计划的过程,它实际上是开始偿还,但事情已经变得更糟之前,更好。
一个很好的例子是在检查以确保有各种入口门栓。起初他们只是让规则”,确保所有的门都门栓。“当然,然后所有内部的门都标记为失踪的门栓。所以他们重写规则为“确保所有的门都有门栓,但忽略内部的门。”的主要工作,除了有一些房屋效用壁橱外面,显然不需要门栓。所以他们精炼规则”确保所有的门都门栓,但忽略在壁橱门和效用。”
这个适合他们,直到他们有不同的想法的一个人有一个储藏室,他可以从内部或外部输入。现在,内门没有门栓,因为它不是一个外门,外面的门没有一个门栓,因为它是一个储藏室的门。所以他们有一个安全漏洞。决定后,在这种情况下,内部的门栓应该门,,小心不要开始门栓在效用衣橱,他们终于解决了规则,“确保所有的门栓都插上,慢慢但忽略在门和效用壁橱里面除了大门效用衣橱,也有外门。”
在那之前,它实际上是快做验证。现在他们终于有工作的事情,希望电脑会节省一些时间。
设计必须遵守的规定和规则的例外。规则也可能要求;例如,要求一个给定的信号通路有给定的延迟。在规则的方式,这些也可以有例外。
两个主要的例外是“假路径”和“多循环路径。“这些路径不需要满足时间要求(,十有八九不会或不能满足他们)。你不想要一个合成或place-and-route工具浪费努力试图让这些路径满足时机。和你不想要的时机与时序故障报告分析工具来填补,你不关心。所以你这些路径指定为例外,这通常是通过创建约束指定例外,所以工具将忽略这些路径。
可以考虑两种例外:那些由意图和那些由设计完成的。如果你知道你的芯片可以,例如,某些测试做了以低得多的频率比典型的操作频率,然后相关路径只有这些测试可以标记为错误的,这意味着他们将被忽略在合成操作速度。没有什么设计使得这个明显;这只是设计师的大脑知道这些路径。
也有路径,根据设计,从标准时间的角度来说没有任何意义。两个寄存器,一个接一个,与时钟极性相反或数据选择mux选择极性相反,创建一个情况下它们之间的延迟会有多余的时间从上游下游寄存器将捕获数据;这将是一个多循环路径。
因为许多异常有这样的签名设计,他们完全可以证明是正确的。这可能是一个有用的,因为当你经过设计、标志例外,实际上你可能过分细化例外,这样你忽视案件不应该被忽略。这些可以以后出现实际硅bug。
一个解决方案是指定你的异常,然后正式运行工具,验证他们。那些明显的例外的设计显然会通过,但例外,只有反映意图会失败,因为就其本身而言,验证工具没有办法知道意图。
这就是你开始精炼异常规范。你可以说,在一定条件下,一条是假的;或者指定,在一个特定的验证,假设某些外部信号有一个特定的常量值,例如,禁用测试电路。您可以添加变量,打开或关闭某些验证运行的行为。通过改进异常更准确地说,你最终编码你的意图例外,和工具现在可以验证异常是有效的只有这些条件,它应该是有效的。
真正的意图被现任总统在这个领域多年,使用正式的方法来完成许多不同的特定的验证任务。他们PureTime工具提供了约束和异常验证。同时关注门水平在过去,他们的3.2版本发布8月添加了验证的功能异常在RTL级,它允许验证在同一层次的抽象设计。他们还提供了更多的专注于验证和报告的异常,除了路径中指定例外。他们添加调试功能定位问题在异常定义(通常提交文件或TCL脚本)或设计来源。
有一个新人在这个舞台上,然而,一个公司名称风景如画的鱼尾。他们有一个确认产品验证异常用户创建的。但这是唯一的一套三件套的工具。
如果某些异常有签名的设计中可以验证,然后顺理成章地,这些异常可以自动提取的设计。这是鱼尾的焦点的作用的产品。他们(目前)四种不同的错误路径和多循环路径的一种类型,他们可以识别和创建异常:
当一个源和捕获注册路径有两个不同的时钟,创建一个clock-to-clock错误的路径。
- 当源和捕获寄存器有mux时钟源,这样只有一个时钟是活动设计在给定的时间(和其他条件更详细的比我在这里提到),创建一个clock-to-clock错误的路径。
- 如果一个路径从一个注册另一个不能激活的,创建一个register-to-register错误的路径。
- 如果两个寄存器之间的路径只能在一个遥不可及的敏化状态,创建一个register-to-register错误的路径。
- 如果时钟源和捕获寄存器或数据多路复用技术的路径是这样的信号不能被捕获在接下来的周期中,创建一个多循环路径。
他们还用于生成多循环路径为寄存器相互异步时钟频率,但很明显,推断这(没有一个时钟产生的其他设计)没有意义;更容易只是用户指定实际的时钟频率。这是一个异常的一个例子,从被看作是设计的例外是一个通过意图例外。
这两个工具,为你提供异常的组合,这些自动生成的焦点和由用户通过确认和验证。
还有一个他们提供帮助管理设计流程。随着设计加工从RTL门水平,每一步的方式发生变化。这些变化可能是微不足道的信号被重命名,但是,谁都不想尝试做任何远程创意在EDA空间知道,更名为信号鱼雷最有创意的想法。所以鱼尾提供了一个工具叫重新调整,可以用来保持异常,以及其他时间限制,在同步设计的每一步的方式,解决名称和等级等问题,最终,可以使用约束各级和问题可以在RTL级管理和调试。
真正的意图和鱼尾都将指向各种各自的优势工具不仅仅是这里描述的高级特性,但是我会让他们具有这些消息的人,让他们为自己打架。
当然,需要所有这些精确的异常产生最终的失败工程世界设计的常识模块EDA工具可以使用。一旦我们得到了,这类不再需要验证工具。我们会第一个让你知道什么时候发生的。
不要等了。
链接: