考虑反标 sdf 加入延迟退休最新消息信息作后仿真的方法,思考其结果和功能仿真的区别

<td class="t_msgfont" id="postmessage_.抽pr后的spef
2.pt读spef和网表得sdf
3.反标网表,vcs下作后仿
UID979999&帖子38&精华0&积分2181&资产2181 信元&发贴收入215 信元&推广收入0 信元&附件收入0 信元&下载支出449 信元&阅读权限50&在线时间127 小时&注册时间&最后登录&
非常感谢!请问直接用PR dump出来的sdf和PR出来的.v 做后仿行吗,有sdf 的warning,貌似是什么负值。。。出来的波形输出不定态x
UID345439&帖子89&精华0&积分198&资产198 信元&发贴收入465 信元&推广收入5 信元&附件收入324 信元&下载支出766 信元&阅读权限10&在线时间29 小时&注册时间&最后登录&
vcs +neg_check, 就是支持负时delay,没关系的。
[通过 QQ、MSN 分享给朋友]
欢迎访问 TI SLL(信号链)专区ModelSim门级仿真和时序仿真
仿真工具是Mentor公司开发的。它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比Quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。
ModelSim分几种不同的版本:SE、PE和OEM,其中集成在Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。比如为Altera提供的OEM版本是ModelSim-Altera,为Xilinx提供的版本为ModelSim
XE. SE版本为最高级版本,在功能和性能方面比OEM版本强很多,比如仿真速度方面,还支持PCUNIXLIUNX混合平台.
为什么要学?
1.Modelsim是专业的HDL语言仿真器,比 Quartus自带的仿真器功能强大的多.
2. Quartus simulator不支持Testbench ,只支持波形文件.vwf
vwf文件全称是矢量波形文件(Vector Waveform File),是Quartus
II中仿真输入、计算、输出数据的载体。一般设计者建立波形文件时,需要自行建立复位、时钟信号以及控制和输入数据、输出数据信号等。其中工作量最大的就是输入数据的波形录入。比如要仿真仅1KB的串行输入数据量,则手工输入信号的波形要画8000个周期,不仅费时费力而且容易出错
用户图形界面模式
交互式命令行模式
不显示modelsim的可视化界面 ,仅通过命令控制台输入的命令完成所有工作
Tcl和宏模式
编写可执行扩展名为do或者tcl语法文件
批处理模式
其所有操作都在后台进行,用户看不到modelsim的界面,也不需要交互式输入命令。当工程很大,文件比较多时,用批处理比较方便。直接运行批处理文件,在后台调用modelsim,执行modelsim的脚本文件*
.do,完成操作
仿真分为功能仿真,门级仿真,时序仿真
功能仿真(前仿真,代码仿真)
主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致。可综合FPGA代码是用RTL级代码语言描述的,其输入为RTL级代码与Testbench.在设计的最初阶段发现问题,可节省大量的精力
功能仿真例子省略。
1.综合布局布线生成的网表文件
2.测试激励
Altera仿真库的位置为
4.时序仿真的话,还需要具有时延时延信息的反标文件(sdf)
门级仿真有两种方法
(1)工程编译成功后自动启动Modelsim运行门级仿真
(2)先在quartus中生成网表文件和时延文件,然后调用modelsim进行仿真
第一种方法省略。
第二种方法:
simulation目录,在该目录下有一个Modelsim的文件夹,此文件夹下有仿真所需要的网表文件及延时反标文件.
如果使用vhdl语言,则网表文件是.vho,反标文件是.如果使用verilog语言,则网表文件是.vo,sdf文件也是.sdo.
这个时候的testbench最好是自己手动编写的,这里是count_tp.v
Modelsim后仿真主要步骤
建立库并映射库到物理目录;编译Testbench;执行仿真。
2.把Altera的器件加到了work这个library里
如何仿真altera中的megacore呢?
详细操作步骤可见文档
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。modelsim仿真的意义【转载】
一起探讨嵌入式相关的那些事儿
标题:modelsim仿真的意义【转载】
1、的目的:
  在仿真:在RTL层进行的仿真,其特点是不考虑构成电路的逻辑和门的时间延迟,着重考虑电路在理想环境下的行为和
  b)时序仿真:又称为后仿真,是在电路已经映射到特定的工艺环境后,将电路的路径延迟和门延迟考虑进对电路行为的影响后,来比较电路的行为是否还能够在一定条件下满足设计构想。
  3、 功能仿真的目的:
  a)设计出能工作的电路:因此功能仿真不是一个孤立的过程,其和综合、时序分析等形成一个反馈工作过程,只有这个过程收敛,各个环节才有意义。而孤立的功能仿真通过是没有意义的,如果在时序分析过程中发现时序不满足需要更改代码,则功能仿真必须从新进行。因此正确的工作流程是:
  b)代码排错:功能仿真是代码排错的最重要的手段之一。
  4、的高级功能:Code Coverage
  a)代码覆盖率是验证激励是否完备,检验代码质量的一个重要手段。测试激励的代码覆盖率至少要达到95%以上,才能基本认为代码在逻辑上是通过质量控制的,才能进入综合步骤;
  b)代码覆盖率是保证高质量代码的必要条件,但却不是充分条件。即便代码行覆盖和分支覆盖都能够达到100%,也不能肯定的说代码已经得到100%的验证。除非所有的分支覆盖都能够进行组合遍历。
  c)在大的设计中,如果想通过一个激励就验证完一个设计或者模块是不现实的。一方面是从逻辑功能上很难做到;另外一方面是因为如果在一个激励中包括了各种情况,整个仿真过程的速度会随着计算机内存的消耗而成线性下降,效率低下。
  d)通常的做法是每一个激励只验证电路功能的某个方面。整个电路的功能验证由数个激励共同完成。在这种验证方法中代码覆盖率更显重要,因为可以通过代码覆盖率来控制激励对功能的覆盖程度。
  e) modelsim的Code coverage不但能记录各个激励对代码的&行覆盖&和&分支覆盖&,而且能够将各个激励的覆盖记录进行合并,做到对覆盖率的全面监测。
  5、Debussy:仿真辅助调试:
  a)看仿真波形无疑是代码排错的主要手段,在Modelsim中的波形窗口在大的仿真中有如下缺陷:a、只能显示出在仿真前设置好的波形,如果在仿真完成后想观察其他的信号,唯一的办法就是添加需要观察的信号从新开始仿真。b、波形只是简单显示,和代码没有对应和关联关系,不能借助波形直观的调试代码;c、如果观察的信号太多,由于其是实时全信号显示,在仿真时间较长后,仿真速度明显减慢,屏幕的刷新速度也明显减慢。
  b)这些缺点不单Modelsim有,其他的优秀仿真工具也有,而且历史由来以久,因此很早人们就提出了&先转储后观察调试&方法,在语言中以$dumpXXX开头的函数就是做波形转储用的。就是先将波形先存在文件中,等仿真结束后在调出来显示观察和调试。
  c)这种观察功能很多工具都有,并不足为奇;但Debussy的独特之处在于,它不但能显示波形,而且还能非常化的将波形中的任何一个变化和引起这个变化的RTL代码联系起来,使代码排错的效率大幅度提高。在原来IC所的一个大型项目中,由于引进了Debussy,使调试效率至少提高了3倍。
  d)先介绍verilog语言中的转储系统函数。其实转储函数就是一种典型的文件操作函数,最为常用的为一下几种:
i. $dumpfile(&filename.vcd&):打开一个文件准备转储波形数据;
ii. $dumpall:转储所有信号的波形数据;
iii. $dumpvars:转储层次信号;
iv. $dumpon:开始转储;
v. $dumooff:停止转储;
  6、SDF反标注
  a) SDF是一种标准延时格式文件,用于记录综合布线后电路的线延迟和门延迟信息。如果在仿真的波形上叠加上这些信息,将使波形更接近实际。
  b)&但是由于电路已经被综合布线过,原来的RTL代码的逻辑层次和代码命名都已经发生变化,即便看到波形也很难直接对应到RTL代码上,因此后仿真来确定电路是否符合要求的方法已经逐渐被新的方法所代替。另外还有后仿真速度缓慢也是一个主要原因。新的方法是:时序分析、静态时序分析、形式验证。
7、一个重要的观念:电路的取决于电路构思和Coding Style:
  a)经常有人说&不要用写软件的方法去写硬件&,或者说&要用朴实无华的语言风格来写代码&,这些说法只是描述了事务的表明现象,并没有真正指出问题的真正症结所在;
  b)RTL描述语言,虽然是一种语言,但它是描述RTL的语言,所以其着眼点是电路实现而非逻辑推理;RTL就是电路在寄存器层的一种表现,虽然已经不像门级那样具体,但也没有抽象到逻辑层。
  c)&因此写代码的真正正确的方法是:在大脑中构思出电路的结构,然后用代码把它点滴不漏的表现出来,而不是先写一些只是逻辑上行得通的代码等待工具帮你综合成能实现的电路。工具永远只能做繁重而低级的工作,至少要比人的工作低级,这是未来几百年内不会改变的公理。因此如果你的电路性能不好,说明你对如何实现电路还没有清晰的思路。
  d)不要只使像通过提高的速度等级来使你的电路达到要求,恰恰相反,正确的方法是:如果你的电路在第一次综合后已经有80%的路径满足时间要求了,那么就不要想着用更快的器件,而应该考虑改变你的电路拓扑结构和设计构架,来使另外的20%逐渐达到要求。
本文引用通告地址:
| 浏览(5138) 引用(0)
如果您想出现在此位置,请您先【】!
Copyright (C)2000-.cn跨时钟域的时序仿真系统及方法
专利名称跨时钟域的时序仿真系统及方法
技术领域本发明属于计算机技术领域,涉及一种时序仿真系统,尤其涉及一种跨时钟域的 时序仿真系统;此外,本发明还涉及上述跨时钟域的时序仿真系统的仿真方法。
背景技术数字电子系统如计算机系统中经常需要使用多个不同的时钟域。在不同时钟域接 口处会使用同步器来连接来自两个不同时钟域的信号,不同时钟域的信号在同步过程中使 用的寄存器会因为不满足建立时间或保持时间而进入亚稳态,现实中同步器具有消除这种 亚稳态的功能,但在时序仿真中这种亚稳态会向后继的寄存器传递,从而使得仿真无法继 续正确进行,因此有必要提出一种跨时钟域的时序仿真装置与方法。 现有的跨时钟域系统的时序仿真中,大多使用同一时钟来对系统进行仿真,回避 多时钟域的问题,缺点是不利于反应系统的真实情况。本发明提出的跨时钟域仿真装置和 方法即解决了多时钟下跨时钟域系统仿真的问题。
本发明所要解决的技术问题是提供一种跨时钟域的时序仿真系统,通过对延时 反标信息的处理达到消除仿真中跨时钟域部分出现的不定态,使得具有多个时钟域的系统 能够进行时序仿真。 此外,本发明还提供一种上述跨时钟域的时序仿真系统的仿真方法。
为解决上述技术问题,本发明采用如下技术方案 —种跨时钟域的时序仿真系统,该系统包括查找器、修改器、仿真器。查找器用以 确认跨时钟域寄存器层次路径文件中的跨时钟域寄存器全部存在于时序反标文件中,否则 对照网表修正所述跨时钟域寄存器层次路径文件中查找不到的跨时钟域寄存器的层次路 径;而后在时序反标文件中查找所述跨时钟域寄存器的位置,并把所述跨时钟域寄存器的 位置输出至一修改器;修改器用以接收所述查找器发送的跨时钟域寄存器在时序反标文件 中的位置,并将时序反标文件中跨时钟域寄存器的时序反标信息清除,输出处理后的时序 反标文件至一仿真器;仿真器用以接收所述修改器发送的时序反标文件,将时序反标文件 中的时序信息反标回网表进行仿真。 作为本发明的一种优选方案,列出跨时钟域的寄存器的层次路径,所述查找器在 时序反标文件中查找所述层次路径文件中的跨时钟域寄存器,若查找不到,则对照网表修 正所述跨时钟域寄存器层次路径文件中对应的跨时钟域寄存器的层次路径,直到跨时钟域 寄存器的层次路径文件中的跨时钟域寄存器全部都能在时序反标文件中查找得到为止;若 所述跨时钟域寄存器层次路径文件中所有的跨时钟域寄存器的层次路径全部都能在时序 反标文件中查找得到,则在时序反标文件中查找所述层次路径文件中所有跨时钟域寄存器 的位置,并把所述跨时钟域寄存器的位置输出至所述修改器。 作为本发明的一种优选方案,所述列出设计中跨时钟域寄存器层次路径文件的方法为将设计中出现的跨时钟域寄存器的结构层次路径列举在一个跨时钟域寄存器层次路 径列表中;所述查找器输入所述跨时钟域寄存器层次路径列表和包含时延信息的时序反标 文件,以检查跨时钟域寄存器层次路径列表中的所有条目是否均存在于所述时序反标文件 中;若所述跨时钟域寄存器层次路径列表中某跨时钟域寄存器不存在于所述时序反标文件 中,则对照网表修正所述跨时钟域寄存器层次路径列表中对应的跨时钟域寄存器的层次路 径,直至跨时钟域寄存器层次路径列表中的条目都能在时序反标文件中查找得到;若所述 跨时钟域寄存器层次路径文件中所有的跨时钟域寄存器层次路径列表中的条目都能在时 序反标文件中查找得到,则所述查找器查找跨时钟域寄存器在时序反标文件中的位置,并 输出至所述修改器。 进一步地,所述跨时钟域寄存器层次路径列表按设计的层次结构列出跨时钟域寄 存器;所述跨时钟域寄存器层次路径列表根据设计的层次、综合策略一起给出;其格式为 每一行表示一个跨时钟域寄存器层次路径,跨时钟域寄存器的层次路径与时序反标文件中 的表示相一致,表示为"顶层模块名/[模块名/]/跨时钟域寄存器"。 作为本发明的一种优选方案,所述查找器包括第一查找器、第二查找器;所述第 一查找器通过输入跨时钟域寄存器层次路径列表和包含时延信息的时序反标文件,用以检 查跨时钟域寄存器层次路径列表中的跨时钟域寄存器是否存在于包含时延信息的时序反 标文件中;如果跨时钟域寄存器层次路径列表中包含在时序反标文件中不存在的条目,则 对照网表修正所述跨时钟域寄存器层次路径列表中对应的跨时钟域寄存器的层次路径;如 果跨时钟域寄存器层次路径列表的条目都能在时序反标文件中查找得到,则使用第二查找 器,通过输入跨时钟域寄存器层次路径列表和时序反标文件,查找到跨时钟域寄存器在时 序反标文件中的位置输出至修改器。 —种跨时钟域的时序仿真方法,该方法包括如下步骤
A、列出设计中跨时钟域寄存器的层次路径文件; B、在时序反标文件中查找所述层次路径文件中的跨时钟域寄存器,若查找不到, 则对照网表修正所述跨时钟域寄存器层次路径文件中对应的跨时钟域寄存器的层次路径, 直到跨时钟域寄存器的层次路径文件中的跨时钟域寄存器全部都能在时序反标文件中查 找得到为止; C、在时序反标文件中查找所述层次路径文件中所有跨时钟域寄存器的位置,并把 所述跨时钟域寄存器的位置输出至一修改器; D、所述修改器接收所述查找器发送的跨时钟域寄存器在时序反标文件中的位置, 并将时序反标文件中跨时钟域寄存器的时序反标信息清除,输出处理后的时序反标文件至 一仿真器; E、仿真器接收所述修改器发送的时序反标文件,将时序反标文件中的时序信息反 标回网表仿真。 作为本发明的一种优选方案,步骤A中所述列出设计中跨时钟域寄存器的层次路 径方法为将设计中出现的跨时钟域寄存器的结构层次路径列举在一个文件中,该文件为 跨时钟域寄存器层次路径列表。 作为本发明的一种优选方案,所述跨时钟域寄存器层次路径列表按设计的层次结 构列出跨时钟域寄存器;所述跨时钟域寄存器层次路径列表根据设计的层次、综合策略一
6起给出;其格式为每一行表示一个跨时钟域寄存器层次路径,跨时钟域寄存器的层次路径 与时序反标文件中的表示相一致,表示为"顶层模块名/[模块名/]/跨时钟域寄存器"。
作为本发明的一种优选方案,步骤B中查找跨时钟域寄存器方法为所述查找器 使用跨时钟域寄存器层次路径列表中的条目查找时序反标文件;若查找结果有效,则表明 跨时钟域寄存器层次路径列表正确;若有查找不到的跨时钟域寄存器层次路径,表明网表 中的跨时钟域寄存器层次路径发生了变化,则对照网表修正所述跨时钟域寄存器层次路径 列表中对应的跨时钟域寄存器的层次路径。 作为本发明的一种优选方案,步骤D中,清除时序反标文件中跨时钟域寄存器的时 序反标信息的方法为使用所述跨时钟域寄存器层次路径列表查找时序反标文件,找到需要 修改的跨时钟域寄存器,将时序反标文件中的跨时钟域寄存器的时序检查信息设置为O。
作为本发明的一种优选方案,该方法具体包括如下步骤
(1)列出设计中跨时钟域寄存器的层次路径文件; (2)在时序反标文件中检查所述层次路径文件中的跨时钟域寄存器的层次路径是 否存在,确保设计中的跨时钟域寄存器层次路径或跨时钟域寄存器名称与综合后网表中的 层次路径或跨时钟域寄存器名称相同; (3)如果跨时钟域寄存器的层次路径不存在,说明综合过程中改变了设计的层次 结构或使用了新的跨时钟域寄存器名称,则对照网表找出原始设计的跨时钟域寄存器,更 新跨时钟域寄存器层次路径; (4)重复步骤(2)和步骤(3),直至全部的跨时钟域寄存器层次路径都正确列举出 来; (5)在时序反标文件中查找所述跨时钟域寄存器的位置,并把所述跨时钟域寄存 器的位置输出至所述修改器; (6)所述修改器接收所述查找器发送的跨时钟域寄存器在时序反标文件中的位 置,并将时序反标文件中跨时钟域寄存器的时序反标信息清除,输出处理后的时序反标文 件至所述仿真器; (7)仿真器接收所述修改器发送的时序反标文件,将时序反标文件中的时序信息 反标回网表仿真。 本发明的有益效果在于本发明提出的跨时钟域的时序仿真系统及方法,通过对 延时反标信息的处理达到消除仿真中跨时钟域部分出现的不定态,使得具有多个时钟域的 系统能够进行时序仿真;较其它方法更能反应多时钟域系统的真实情况。
图1为跨时钟域时序仿真方法在一种实施方式中的具体流程图。
图2为跨时钟域时序仿真方法在另一种实施方式中的流程图。
图3为图2中跨时钟域时序仿真方法的具体流程图。
图4为跨时钟域时序仿真方法的另一流程图。
具体实施例方式
下面结合附图详细说明本发明的优选实施例。
实施例一 请参阅图1,本发明揭示了一种跨时钟域的时序仿真系统,该系统包括查找器、修
改器、仿真器。查找器
所述查找器用以确认跨时钟域寄存器的层次路径全部都能在时序反标文件中查 找得到,否则对照网表修正所述跨时钟域寄存器层次路径列表中对应的跨时钟域寄存器的 层次路径;而后在时序反标文件中查找所述跨时钟域寄存器的位置(层次路径列表中的所 有跨时钟域寄存器),并把所述跨时钟域寄存器的位置输出至修改器。 所述查找器的查找过程为列出跨时钟域的寄存器层次路径,所述查找器在时序 反标文件中查找所述层次路径列表中的跨时钟域寄存器;若查找不到,则对照网表修正所 述跨时钟域寄存器层次路径列表中对应的跨时钟域寄存器的层次路径,直到跨时钟域寄存 器的层次路径列表中的跨时钟域寄存器全部都能在时序反标文件中查找得到为止。若所述 跨时钟域寄存器层次路径文件中所有的跨时钟域寄存器的层次路径全部都能在时序反标 文件中查找得到,则在时序反标文件中查找所述层次路径列表中所有跨时钟域寄存器的位 置,并把所述跨时钟域寄存器的位置输出至修改器。 本实施例中,所述列出设计中跨时钟域的寄存器层次路径的方法为将设计中出 现的跨时钟域寄存器的结构层次路径列举在一个文件中,本实施例中,该文件为跨时钟域 寄存器层次路径列表。所述跨时钟域寄存器层次路径列表按设计的层次结构列出跨时钟域 寄存器。所述跨时钟域寄存器层次路径列表根据设计的层次、综合策略一起给出;其格式为 每一行表示一个跨时钟域寄存器层次路径,跨时钟域寄存器的层次路径与时序反标文件中 的表示相一致,可表示为"顶层模块名/[模块名/]/跨时钟域寄存器"。所述查找器输入所 述跨时钟域寄存器层次路径列表和包含时延信息的时序反标文件,以检查跨时钟域寄存器 层次路径列表的所有条目是否均存在于所述时序反标文件中;若所述跨时钟域寄存器层次 路径列表中包含所述时序反标文件中不存在的条目,则对照网表修正所述跨时钟域寄存器 层次路径列表中对应的跨时钟域寄存器的层次路径,直至跨时钟域寄存器层次路径列表的 条目都能在时序反标文件中查找得到;若所述跨时钟域寄存器层次路径文件中所有的跨时 钟域寄存器层次路径列表的条目都能在时序反标文件中查找得到,则所述查找器找到跨时 钟域寄存器在时序反标文件中的位置,并输出至修改器。 所述包含时延信息的时序反标文件描述网表中器件的延迟,使用sdf格式的文
件。进一步地,所述网表使用硬件描述语言表示,硬件描述语言包括verilog、 VHDL中的一
种或多种。修改器
所述修改器用以接收所述查找器发送的跨时钟域寄存器在时序反标文件中的位 置,并将时序反标文件中跨时钟域寄存器的时序反标信息清除,输出处理后的时序反标文 件至仿真器。清除时序反标文件中跨时钟域寄存器的时序反标信息的方法为使用所述跨 时钟域寄存器层次路径列表查找时序反标文件,找到需要修改的跨时钟域寄存器,将时序 反标文件中的跨时钟域寄存器的时序检查信息设置为0。
所述仿真器用以接收所述修改器发送的时序反标文件,将时序反标文件中的时序信息反标回网表仿真。所述仿真器输入时序反标文件和网表文件,使用能够支持时序仿真 的工具完成仿真。 以上介绍了本发明跨时钟域的后仿真系统的组成及工作原理,本发明在揭示跨时 钟域的后仿真系统的同时,还揭示一种跨时钟域的时序仿真方法。请参阅图2,本发明跨时 钟域的时序仿真方法包括如下步骤步骤A列出设计中跨时钟域的寄存器层次路径。 本实施例中,所述列出设计中跨时钟域的寄存器层次路径方法为将设计中出现 的跨时钟域寄存器的结构层次路径列举在一个文件中,该文件为跨时钟域寄存器层次路径 列表。 所述跨时钟域寄存器层次路径列表按设计的层次结构列出跨时钟域寄存器;所述 跨时钟域寄存器层次路径列表根据设计的层次、综合策略一起给出;其格式为每一行表示 一个跨时钟域寄存器层次路径,跨时钟域寄存器的层次路径与时序反标文件中的表示相一 致,表示为"顶层模块名/[模块名/]/跨时钟域寄存器"。步骤B在时序反标文件中查找所述层次路径列表中的跨时钟域寄存器,若查找 不到,则对照网表修正所述跨时钟域寄存器层次路径列表中对应的跨时钟域寄存器的层次 路径,直到跨时钟域寄存器的层次路径列表中的跨时钟域寄存器全部都能在时序反标文件 中查找得到为止。 上述查找跨时钟域寄存器方法为所述查找器使用跨时钟域寄存器层次路径列表 查找时序反标文件;若查找结果有效,则表明跨时钟域寄存器层次路径列表正确;若有查 找不到的跨时钟域寄存器层次路径,表明网表中的跨时钟域寄存器层次路径发生了变化, 则对照网表修正所述跨时钟域寄存器层次路径列表中对应的跨时钟域寄存器的层次路径。
步骤C在时序反标文件中查找所述跨时钟域寄存器的位置,并把该跨时钟域寄 存器的位置输出至修改器。步骤D所述修改器接收所述查找器发送的跨时钟域寄存器在时序反标文件中的 位置,并将时序反标文件中跨时钟域寄存器的时序反标信息清除,输出处理后的时序反标 文件至仿真器。 其中,清除时序反标文件中跨时钟域寄存器的时序反标信息的方法为使用所述 跨时钟域寄存器层次路径列表查找时序反标文件,找到需要修改的跨时钟域寄存器,将时 序反标文件中的跨时钟域寄存器的时序检查信息设置为0。步骤E仿真器接收所述修改器发送的时序反标文件,将时序反标文件中的时序
信息反标回网表仿真。所述仿真器输入时序反标文件和网表文件,使用能够支持时序仿真 的工具完成仿真。 请参阅图3,上述方法具体包括如下步骤
(1)列出设计中跨时钟域寄存器的层次路径文件; (2)在时序反标文件中检查所述层次路径文件中的跨时钟域寄存器的层次路径是 否存在,确保设计中的跨时钟域寄存器层次路径或跨时钟域寄存器名称与综合后网表中的 层次路径或跨时钟域寄存器名称相同; (3)如果跨时钟域寄存器的层次路径不存在,说明综合过程中改变了设计的层次 结构或使用了新的跨时钟域寄存器名称,则对照网表找出原始设计的跨时钟域寄存器,更新跨时钟域寄存器层次路径; (4)重复步骤(2)和步骤(3),直至全部的跨时钟域寄存器的层次路径都正确列举 出来; (5)在时序反标文件中查找所述跨时钟域寄存器的位置,并把所述跨时钟域寄存 器的位置输出至一修改器; (6)所述修改器接收所述查找器发送的跨时钟域寄存器在时序反标文件中的位 置,并将时序反标文件中跨时钟域寄存器的时序反标信息清除,输出处理后的时序反标文 件至一仿真器; (7)仿真器接收所述修改器发送的时序反标文件,将时序反标文件中的时序信息 反标回网表仿真。 综上所述,本发明提出的跨时钟域的时序仿真系统及方法,通过对延时反标信息 的处理达到消除仿真中跨时钟域部分出现的不定态,使得具有多个时钟域的系统能够进行 时序仿真;较其它方法更能反应多时钟域系统的真实情况。
实施例二 请参阅图1、图4,本实施例结合图1介绍本发明跨时钟域的时序仿真系统及仿真 方法。 如图1所示,查找器103输入为跨时钟域寄存器层次路径列表101和包含时延信 息的时序反标文件102,查找器103检查跨时钟域寄存器层次路径列表101是否存在于包含 时延信息的时序反标文件102中,如果跨时钟域寄存器层次路径列表101包含在时序反标 文件102中不存在的条目,就需要对照网表修正所述跨时钟域寄存器层次路径列表中对应 的跨时钟域寄存器的层次路径;如果跨时钟域寄存器层次路径列表101的条目都能在时序 反标文件中查找得到,就可以使用查找器106,需要输入的文件有跨时钟域寄存器层次路径 列表101和时序反标文件102,找到跨时钟域寄存器在反标文件102中的位置输出至修改 器107。修改器清除跨时钟域寄存器的检查,输出处理后的时序反标文件108,最后将处理 后的时序反标文件108用于时序仿真。 其中,跨时钟域寄存器层次路径列表101可以根据设计的层次、综合策略一起给 出。格式为每一行表示一个跨时钟域寄存器层次路径,跨时钟域寄存器的层次路径与时序 反标文件中的表示相一致,表示为"顶层模块名/[模块名/]/跨时钟域寄存器"。时序反标 文件102时序反标文件使用标准的sdf格式文件。 查找器103用以输入跨时钟域寄存器层次路径列表101和包含时延信息时序反标 文件102,输出为在时序反标文件102中查找不到的跨时域寄存器层路径。查找器106用以 输入跨时钟域寄存器层次路径列表101和包含时延信息的时序反标文件102,输出跨时钟 域寄存器在时序反标文件中的位置。修改器107用以输入跨时域寄存器在时序反标文件中 的位置和时序反标文件102,将时序反标文件中跨时钟域寄存器的时序反标信息清除,输入 处理后的时序反标文件。仿真器109用以输入时序反标文件108和网表文件109,使用能够 支持时序仿真的工具完成仿真。 请参阅图4,图4的实现方式与图1的实现方式的区别在于,图4中查找器包括第 一查找器、第二查找器(图1中的查找器可以为同一个查找器)。所述第一查找器输入为跨 时钟域寄存器层次路径列表和包含时延信息的时序反标文件,用以检查跨时钟域寄存器层
10次路径列表是否均存在于包含时延信息的时序反标文件中。如果跨时钟域寄存器层次路径
列表中的跨时钟域寄存器不存在于时序反标文件中,则对照网表修正所述跨时钟域寄存器
层次路径列表中对应的跨时钟域寄存器的层次路径。如果跨时钟域寄存器层次路径列表的
条目都能在时序反标文件中查找得到,则使用第二查找器,需要输入的文件有跨时钟域寄
存器层次路径列表和时序反标文件,查找到跨时钟域寄存器有时序反标文件中的位置输出
至修改器。 实施例三 本实施例中,有一份包含跨时钟域设计的网表和与相应的时序反标文件,需要对 网表进行时序仿真。 首先指出设计中的跨时钟域寄存器,以层次路径的方式给出,在时序反标文件中 查找这些跨时钟域寄存器,如果查找不到,则对照网表修正所述跨时钟域寄存器层次路径 列表中对应的跨时钟域寄存器的层次路径,直到跨时钟域寄存器的层次路径列表中的跨时 钟域寄存器全部都能在时序反标文件中查找得到为止;如果跨时钟域寄存器的层次路径全 部都能在时序反标文件中查找得到,则对时序反标文件进行下一步处理,在时序反标文件 中查找所述跨时钟域寄存器的位置,去掉对跨时钟域寄存器的时序检查。将处理后的时序 反标文件和网表文件一起提供给仿真工具进行时序仿真。 这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例 中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实 施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明 的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、 材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进 行其它变形和改变。
一种跨时钟域的时序仿真系统,其特征在于,该系统包括查找器,用以确认跨时钟域寄存器的层次路径文件中的跨时钟域寄存器全部都能在时序反标文件中查找得到,否则对照网表修正所述跨时钟域寄存器层次路径文件中查找不到的跨时钟域寄存器的层次路径;而后在时序反标文件中查找所述层次路径文件中所有跨时钟域寄存器的位置,并把所述跨时钟域寄存器的位置输出至一修改器;修改器,用以接收所述查找器发送的跨时钟域寄存器在时序反标文件中的位置,并将时序反标文件中跨时钟域寄存器的时序反标信息清除,输出处理后的时序反标文件至一仿真器;仿真器,用以接收所述修改器发送的时序反标文件,将时序反标文件中的时序信息反标回网表进行仿真。
2. 根据权利要求1所述的跨时钟域的时序仿真系统,其特征在于列出跨时钟域寄存器的层次路径,所述查找器在时序反标文件中查找所述跨时钟域寄 存器,若查找不到,则对照网表修正所述跨时钟域寄存器层次路径文件中对应的跨时钟域 寄存器的层次路径,直到跨时钟域寄存器的层次路径文件中的跨时钟域寄存器全部都能在 时序反标文件中查找得到为止;若所述跨时钟域寄存器层次路径文件中所有的跨时钟域寄 存器的层次路径全部都能在时序反标文件中查找得到,则在时序反标文件中查找所述层次 路径文件中所有跨时钟域寄存器的位置,并把所述跨时钟域寄存器的位置输出至所述修改 器。
3. 根据权利要求2所述的跨时钟域的时序仿真系统,其特征在于 所述列出设计中跨时钟域寄存器层次路径文件的方法为将设计中出现的跨时钟域寄存器的结构层次路径列举在一个跨时钟域寄存器层次路径列表中;所述查找器输入所述跨时钟域寄存器层次路径列表和包含时延信息的时序反标文件,以检查跨时钟域寄存器层次路径列表的所有条目是否均存在于所述时序反标文件中;若所述跨时钟域寄存器层次路径列表中包含所述时序反标文件中不存在的条目,则对照网表修正所述跨时钟域寄存器层次路径列表中对应的跨时钟域寄存器的层次路径,直至跨时钟域寄存器层次路径列表的条目都能在时序反标文件中查找得到;若所述跨时钟域寄存器层次路径文件中所有的跨时钟域寄存器层次路径列表的条目都能在时序反标文件中查找得到,则所述查找器找到跨时钟域寄存器在时序反标文件中的位置,并输出至所述修改器。
4. 根据权利要求3所述的跨时钟域的时序仿真系统,其特征在于 所述跨时钟域寄存器层次路径列表按设计的层次结构列出跨时钟域寄存器; 所述跨时钟域寄存器层次路径列表根据设计的层次、综合策略一起给出;其格式为每一行表示一个跨时钟域寄存器层次路径,跨时钟域寄存器的层次路径与时序反标文件中的 表示相一致。
5. 根据权利要求3所述的跨时钟域的时序仿真系统,其特征在于 所述查找器包括第一查找器、第二查找器;所述第一查找器通过输入跨时钟域寄存器层次路径列表和包含时延信息的时序反标 文件,用以检查跨时钟域寄存器层次路径列表中的跨时钟域寄存器是否存在于包含时延信 息的时序反标文件中;如果跨时钟域寄存器层次路径列表中的跨时钟域寄存器不存在于时序反标文件中,则 对照网表修正所述跨时钟域寄存器层次路径列表中对应的跨时钟域寄存器的层次路径;如果跨时钟域寄存器层次路径列表中的条目都能在时序反标文件中查找得到,则使用 第二查找器,通过输入跨时钟域寄存器层次路径列表和时序反标文件,查找跨时钟域寄存 器在时序反标文件中的位置输出至修改器。
6. —种跨时钟域的时序仿真方法,其特征在于,该方法包括如下步骤A、 列出设计中跨时钟域寄存器的层次路径文件;B、 在时序反标文件中查找所述层次路径文件中的跨时钟域寄存器,若查找不到,则对照网表修正所述跨时钟域寄存器层次路径文件中对应的跨时钟域寄存器的层次路径,直到 跨时钟域寄存器的层次路径文件中的跨时钟域寄存器全部都能在时序反标文件中查找得到为止;C、 在时序反标文件中查找所述层次路径文件中所有跨时钟域寄存器的位置,并把所述 跨时钟域寄存器的位置输出至一修改器;D、 所述修改器接收所述查找器发送的跨时钟域寄存器在时序反标文件中的位置,并将 时序反标文件中跨时钟域寄存器的时序反标信息清除,输出处理后的时序反标文件至一仿 真器;E、 仿真器接收所述修改器发送的时序反标文件,将时序反标文件中的时序信息反标回 网表仿真。
7. 根据权利要求6所述的跨时钟域的时序仿真方法,其特征在于步骤A中所述列出设计中跨时钟域寄存器层次路径的方法为将设计中出现的跨时钟域寄存器的结构层次路径列举在一个文件中,该文件为跨时钟域寄存器层次路径列表。
8. 根据权利要求7所述的跨时钟域的时序仿真方法,其特征在于 所述跨时钟域寄存器层次路径列表按设计的层次结构列出跨时钟域寄存器; 所述跨时钟域寄存器层次路径列表根据设计的层次、综合策略一起给出;其格式为每一行表示一个跨时钟域寄存器层次路径,跨时钟域寄存器的层次路径与时序反标文件中的 表示相一致。
9. 根据权利要求6所述的跨时钟域的时序仿真方法,其特征在于步骤B中查找跨时钟域寄存器方法为通过一查找器使用跨时钟域寄存器层次路径列 表中的条目查找时序反标文件;若查找结果有效,则表明跨时钟域寄存器层次路径列表正确;若有查找不到的跨时钟域寄存器层次路径,表明网表中的跨时钟域寄存器层次路径发 生了变化,则对照网表修正所述跨时钟域寄存器层次路径列表中对应的跨时钟域寄存器的 层次路径。
10. 根据权利要求6所述的跨时钟域的时序仿真方法,其特征在于步骤D中,清除时序反标文件中跨时钟域寄存器的时序反标信息的方法为使用所述 跨时钟域寄存器层次路径列表查找时序反标文件,找到需要修改的跨时钟域寄存器,将时 序反标文件中的跨时钟域寄存器的时序检查信息设置为0。
11. 根据权利要求6至10之一所述的跨时钟域的时序仿真方法,其特征在于,该方法具 体包括如下步骤(1) 列出设计中跨时钟域寄存器的层次路径文件;(2) 在时序反标文件中检查所述层次路径文件中的跨时钟域寄存器的层次路径是否存 在,确保设计中的跨时钟域寄存器层次路径或跨时钟域寄存器名称与综合后网表中的层次 路径或跨时钟域寄存器名称相同;(3) 如果跨时钟域寄存器的层次路径不存在,说明综合过程中改变了设计的层次结构 或使用了新的跨时钟域寄存器名称,则对照网表找出原始设计的跨时钟域寄存器,更新跨 时钟域寄存器的层次路径;(4) 重复步骤(2)和步骤(3),直至全部的跨时钟域寄存器层次路径都正确列举出来;(5) 在时序反标文件中查找所述跨时钟域寄存器的位置,并把所述跨时钟域寄存器的 位置输出至所述修改器;(6) 所述修改器接收所述查找器发送的跨时钟域寄存器在时序反标文件中的位置,并 将时序反标文件中跨时钟域寄存器的时序反标信息清除,输出处理后的时序反标文件至所 述仿真器;(7) 仿真器接收所述修改器发送的时序反标文件,将时序反标文件中的时序信息反标 回网表仿真。
本发明揭示了一种跨时钟域的时序仿真系统及方法,该系统包括查找器、修改器、仿真器。查找器确认层次路径列表中的跨时钟域寄存器全部都能在时序反标文件中查找得到;而后在时序反标文件中查找跨时钟域寄存器的位置,并把所述跨时钟域寄存器的位置输出至修改器;修改器接收所述查找器发送的跨时钟域寄存器在时序反标文件中的位置,并将时序反标文件中跨时钟域寄存器的时序反标信息清除,输出处理后的时序反标文件至仿真器;仿真器用以将时序反标文件中的时序信息反标回网表仿真。本发明通过对延时反标信息的处理达到消除仿真中跨时钟域部分出现的不定态,使得具有多个时钟域的系统能够进行时序仿真;较其它方法更能反应多时钟域系统的真实情况。
文档编号G06F1/04GKSQ
公开日日 申请日期日 优先权日日
发明者李祖松, 杨耀武, 汪文祥 申请人:北京龙芯中科技术服务中心有限公司

我要回帖

更多关于 延迟退休不考虑工龄吗 的文章

 

随机推荐