用于对电路设计进行仿真的方法和装置的制造方法_2

文档序号:9687674阅读:来源:国知局
序特性的仿真相比,考虑电路元件时序特性的仿 真需要消耗多得多的时间。对于每一个电路元件,都需要针对其时序特性进行处理,至少包 括:获取关于其时序特性的信息,W及结合该信息和输入信号计算输出信号。特别地,对于 一个具有多个输入端的电路元件来说,其每个输入端的信号变化都会被认定为一个事件, 从而触发针对该电路元件的一次仿真。送些信号往往经过不同地路径到达该电路元件,从 而可能在不同的时刻发生变化。送些发生在不同时刻的变化被认定为多个事件,导致对该 电路元件的多次仿真。在前一个事件所触发的仿真完成后,仿真器才能知道是否需要插入 新的时间节点,送样就会引发多次插入操作。
[0026] 下面结合图3描述根据本发明实施例的用于对电路设计进行仿真的方法。
[0027] 步骤301,识别电路设计中的至少一个时序逻辑元件到时序逻辑元件(S2S,Sequ entia]_-cell-T〇-Sequential-cell)块,其中所述S2S块包括至少一个输入端时序逻辑元 件,至少一个输出端时序逻辑元件,W及输入端时序逻辑元件和输出端时序逻辑元件之间 的中间部分。
[0028] 在下面的描述中,W寄存器作为时序逻辑元件的例子。本领域技术人员,时序逻辑 元件包括寄存器、锁存器、触发器等。
[0029] 本领域技术人员可W理解,数字电路中的寄存器起到稳定信号的作用。在S2S块 输入端的寄存器起到稳定输入信号的作用;在S2S块输出端的寄存器起到稳定输出信号的 作用。上游S2S块的输出端寄存器可W是下游的一个或多个S2S块的输入端寄存器。在 S2S块的输入端寄存器和输出端寄存器之间的就是中间部分,其包括至少一个组合逻辑元 件,例如与口、或口、非Π 、异或口等等。送些组合逻辑元件对经由输入端寄存器输入所述 S2S块的信号进行处理后,再经由输出端寄存器输出。
[0030] 图4A示出了示例性的S2S块。其中,RegA,Re浊,RegC是输入端寄存器,Re巧是 输出端寄存器,X0R1和X0R2 W及各条连线是组合逻辑元件。
[0031] 可W通过时序逻辑元件检测(sequential cell detection)和逻辑路径遍历 (logic path traversal)来识别电路中的S2S块。其中,时序逻辑元件检测用于识别电路 设计中的时序逻辑元件,例如寄存器。对于电路设计中的一个元件来说,如果其包括诸如建 立时间和保持时间的时序检查约束,则该元件被识别为时序逻辑元件。送是为了保证在对 所述电路设计进行根据本发明实施例的处理后,对所述电路设计进行的仿真仍然能够找到 时序方面的错误。本领域技术人员可W理解,在识别出时序逻辑元件之后,电路设计中剩余 的元件就是组合逻辑元件。
[0032] 在进行时序逻辑元件检测之后,可W容易地确定任意两个相邻时序逻辑元件之间 的组合逻辑元件,送样就构造出一个基本的S2S块。相邻的时序逻辑元件指的是送两个时 序逻辑元件之间不存在其他的时序逻辑元件。例如,可W从一个时序逻辑元件的输入端开 始,逆着信号流向,逐个获取所经过的元件,直到经过另一个时序逻辑元件;也可W从一个 时序逻辑元件的输出端开始,顺着信号流向,逐个获取所经过的元件,直到经过另一个时序 逻辑元件;还可W从一个组合逻辑元件的输入端和输出端开始,分别逆着信号流向和顺着 信号流向,直到经过第一个时序逻辑元件。
[0033] 例如,在如4A所示的结构中,按照上述方法可W得到由RegA、X0Rl、X0R2、Re^W 及相关连线构成的基本的S2S块。上述基本的S2S块中的组合逻辑元件可能还涉及其他的 时序逻辑元件,例如X0R1还涉及Re浊,X0R2还涉及RegC。所述基本的S2S块被扩展,从而 成为如图4A所示的S2S块。
[0034] 步骤302,确定所述中间部分的逻辑特性和时序特性。
[0035] 本领域技术人员可W理解,可W用真值表来表示所述S2S块的输入寄存器和输出 寄存器的全部可能状态,从而表示所述中间部分的逻辑特性。如图4A所示的中间部分的真 值表为:
[0036]
[0037] 如何确定组合逻辑电路的真值表是本领域的常用技术手段,在此不再赏述。
[0038] 下面将会结合其他附图进一步详细描述如何确定中间部分的时序特性。
[0039] 步骤303, W具有所述逻辑特性和时序特性的功能性模块替换所述中间部分,生成 简化的电路设计用于仿真。
[0040] 由于所述功能性模块和所述中间部分具有相同的逻辑特性和时序特性,因此理论 上讲,对所述简化的电路设计进行仿真的结果和对简化前的电路设计进行仿真的结果是一 样的。尤其是,由于所述功能性模块不包括时序逻辑元件,因此仿真中仍然可W考虑电路的 时序特性。
[0041] 图4B示出了用功能性模块替换所述中间部分之后的S2S块。
[0042] 在将所述中间部分替换成功能性模块后,由于减少了电路中元件的数目,因此缩 短了仿真的时间。下面结合图5A和图5B来进一步说明为什么使用功能性模块替换所述中 间部分后能够缩短仿真时间。在图5A和图5B中,仿真从RegA的输入从1变为0开始,到 Re巧的输出发生响应变化为止。在所述仿真过程中,Re浊和RegC的值保持为1。
[0043] 图5A示出了对如图4A所示的电路设计进行仿真时的事件列表。从图5A可W看 出,完成仿真所需要处理的事件数是8个。图5B示出了对如图4B所示的电路设计进行仿 真时的事件列表。从图5B可W看出,RegA的输出送一事件直接引发了 Re巧的输入送一事 件,从而完成仿真需要的事件数变为4个。送是因为,RegA和X0R1之间的连线、X0RUX0R1 和X0R2之间的连线、W及X0R2和Re巧之间的连线,送些组合逻辑元件被具有等价逻辑特 性和时序特性的所述功能性模块所代替了。相应地,可W从所获得的中间部分的逻辑特性 直接查出RegA的输出值所对应的Re巧的输入值;从所获得的中间部分的时序特性直接查 出从RegA的输出到Re巧的输入所需要考虑的时序特性。
[0044] 下面结合图6、图7A-图7B说明如何确定所述中间部分的时序特性。
[0045] 步骤601,确定所述S2S块所包含的信号路径,其中如果某个输入端寄存器的逻辑 值可能影响某个输出端寄存器的逻辑值,则该输入端寄存器与该输出端寄存器之间存在信 号路径。
[0046] 在图4A所示的S2S块中,RegA、Re浊和RegC的逻辑值分别都能够影响Re巧的逻 辑值。因此,该S2S块中,存在3条信号路径,分别是路径1、路径2和路径3,如图7A所示。
[0047] 步骤602,根据所述信号路径所经过的组合逻辑元件的时序特性,确定所述信号路 径的时序特性。
[0048] 信号路径位于输入端寄存器和输出端寄存器之间,其只经过了组合逻辑元件,因 此信号路径的时序特性由所经过的组合逻辑元件的时序特性确定。本领域技术人员可W理 解,给定组合逻辑元件的时序特性可W看做是常量。相应地,信号路径的时序特性也可W看 做是常量。
[0049] 图7B和图7C则寸序特性中的时延特性为例,示出了根据所述信号路径所经过的 组合逻辑元件的时序特性,确定所述信号路径的时序特性。在图7B中,标注了各个组合逻 辑元件的时延特性。在图7C中,标注了各个信号路径的时延特性。本领域技术人员容易 理解,信号路径1的时延是W下各个组合逻辑元件的时延之和;RegA和X0R1之间的连线, X0R1,X0R1和X0R2之间的连线,X0R2, W及X0R2和Re巧之间的连线。信号路径2的时延 是W下
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1