CN101303710B - 可编程逻辑器件的仿真控制方法及系统 - Google Patents

可编程逻辑器件的仿真控制方法及系统 Download PDF

Info

Publication number
CN101303710B
CN101303710B CN2008101159310A CN200810115931A CN101303710B CN 101303710 B CN101303710 B CN 101303710B CN 2008101159310 A CN2008101159310 A CN 2008101159310A CN 200810115931 A CN200810115931 A CN 200810115931A CN 101303710 B CN101303710 B CN 101303710B
Authority
CN
China
Prior art keywords
parameter
delay
time
standard
emulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008101159310A
Other languages
English (en)
Other versions
CN101303710A (zh
Inventor
吕品
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vimicro Corp
Original Assignee
Vimicro Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CN2008101159310A priority Critical patent/CN101303710B/zh
Publication of CN101303710A publication Critical patent/CN101303710A/zh
Application granted granted Critical
Publication of CN101303710B publication Critical patent/CN101303710B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种可编程逻辑器件的仿真控制方法及系统。本发明建立外部时钟源模型,将该模型直接连接至被仿真电路中的触发器。由于仿真应用程序执行仿真所基于的外部时钟源模型未经任何其它标准单元而直接连接在被仿真电路中的触发器,使得外部时钟信号旁路被仿真电路中到达各触发器的时钟信号实际传输路径,因而能够保证外部时钟信号同步到达各触发器;且由于到达各触发器的外部时钟信号的传输路径相同,因而仿真应用程序在仿真触发器采样时会设置到达触发器的外部时钟信号同步,从而匹配了级联触发器之间的数据输出与采样时机,进而避免了采错数据。

Description

可编程逻辑器件的仿真控制方法及系统
技术领域
本发明涉及控制技术,特别涉及一种可编程逻辑器件的仿真控制方法和一种可编程逻辑器件的仿真控制系统。
背景技术
可编程逻辑器件可以实现各种电路结构,为了确保基于可编程逻辑器件实现的电路结构的可行性和可靠性,通常需要利用仿真应用程序对其进行仿真。
具体来说,将表示被仿真电路的代码输入至仿真应用程序进行综合后,即可得到被仿真电路在布局布线前的网表;然后,仿真应用程序即可针对被仿真电路的网表执行仿真。
被仿真电路的网表是由各种标准单元构成的,由各种标准单元分别表示被仿真电路中例如D触发器(DFF)、与门、非门等各逻辑元器件,因此,在仿真过程中,仿真应用程序会从标准单元库中导入被仿真电路中各标准单元的功能及不同类型设置参数,从而在仿真过程中考虑到各标准单元的逻辑功能及传输延时等元器件特性,使得仿真结果更逼近于被仿真电路的真实运行状态。
此外,为了在仿真过程中控制各标准单元的逻辑跳变,还需要引入SCAN技术建立扫描(SCAN)时钟模型,并由SCAN时钟模型在仿真过程中作为外部时钟源,产生SCAN时钟信号并输入至被仿真电路中的各标准单元。其中,SCAN技术是一种较为成熟的测试技术,在本文中不再赘述。
实际应用中,为了保证SCAN时钟模型产生的SCAN时钟信号能够同时到达被仿真电路中的各标准单元,以保证仿真结果的准确性,需要禁止仿 真应用程序从标准单元库中导入任何标准单元的延时设置参数。
假设被仿真电路是由级联的DFF1和DFF2构成的寄存器,DFF1的D端为该寄存器的输入端,DFF1的Q端连接至DFF2的D端,DFF2的Q端为该寄存器的输出端。
参见图1和图2,在DFF1和DFF2均接收时钟信号1(SCAN时钟信号),DFF1的D端输入信号在时钟信号1的第n个时钟跳变为低电平,在时钟信号1的第n+1个时钟周期上升沿时,DFF1会采集到低电平并使其Q端跳变为低电平。
由于时钟信号1会同时到达DFF1和DFF2,因此,在仿真应用程序仿真DFF2采样时,会设置DFF2的D端在DFF2在时钟信号1的第n+2个时钟周期上升沿,才会采集到DFF1的Q端输出的低电平并使其Q端跳变为低电平,即DFF1的Q端跳变、DFF2的Q端跳变依次发生在时钟信号1的连续两个上升沿,这种跳变方式是正确的。
然而,上述禁止仿真应用程序从标准单元库中导入任何标准单元的延时设置参数的方式,虽然能够保证SCAN时钟信号能够同时到达被仿真电路中的各标准单元,但在某些特殊情况下会存在如下问题:
仍假设被仿真电路是由级联的DFF1和DFF2构成的寄存器,DFF1的D端为该寄存器的输入端,DFF1的Q端连接至DFF2的D端,DFF2的Q端为该寄存器的输出端。
参见图3和图4,在DFF1接收时钟信号2(SCAN时钟信号经如三角形所示的一个其他标准单元延迟后的时钟信号)、DFF2接收时钟信号3(SCAN时钟信号经如三角形所示的三个其他标准单元延迟后的时钟信号),DFF1的D端输入信号在时钟信号2的第n个时钟周期跳变为低电平,DFF1则会在时钟信号2的第n+1个时钟周期采集到低电平并使其Q端跳变为低电平。
在图3中,虽然时钟信号3经过的其他标准单元多于时钟信号2,但由于仿真应用程序未从标准单元库中导入任何标准单元的延时设置参数,因 此,在仿真过程中,时钟信号3和时钟信号2的实际传输并未受到其他标准单元的延时,即时钟信号3实际到达DFF2的时间与时钟信号1实际到达DFF1的时间相同。
但仿真应用程序是否导入标准单元的延时设置参数,仅仅决定仿真过程中的信号传输过程是否真正存在延时,在仿真应用程序仿真DFF2采样时,仍然会设置时钟信号3与时钟信号2不同步,从而会设置时钟信号3的第n+1个时钟周期上升延迟于时钟信号2的第n+1个时钟周期(如图4中时钟信号3的虚线部分所示),使得时钟信号3的第n+1个时钟周期上升到来时,DFF1的Q端已经跳变为低电平,DFF2在时钟信号3的第n+1个时钟周期上升沿就会采集到低电平(如图4中对应时钟信号3的虚线部分的点划线所示)、并使其Q端跳变为低电平,即DFF1的Q端跳变、DFF2的Q端跳变会在时钟信号2和时钟信号3的第n+1个时钟周期同时发生。
而实际上,由于时钟信号3实际到达DFF2的时间与时钟信号1实际到达DFF1的时间相同,因而DFF2在时钟信号3的第n+1个时钟周期上升沿应当采集到DFF1的Q端在时钟信号2的第n个时钟周期内的高电平。
可见,在现有仿真过程中,不论时钟信号的真实延迟是否为0,仿真应用程序在仿真触发器采样时均会设置不同传输路径时钟信号不同步,从而使得被仿真电路中级联触发器之间的数据输出与采样时机不匹配,因而可能会导致采错数据。
发明内容
有鉴于此,本发明提供了一种可编程逻辑器件的仿真控制方法和一种可编程逻辑器件的仿真控制系统,能够避免被仿真电路中级联触发器之间采错数据。
本发明提供的一种可编程逻辑器件的仿真控制方法,包括:
导通仿真应用程序与标准单元库、但禁止仿真应用程序导入标准单元库中各标准单元的延时设置参数,并建立外部时钟源模型、将该外部时钟源模型直接连接至被仿真电路中的触发器;
触发仿真应用程序基于所述外部时钟源模型执行仿真、并从标准单元库中导入各标准单元除延时设置参数之外的其他设置参数及功能。
所述禁止仿真应用程序在仿真过程中导入标准单元库中各标准单元的延时设置参数包括:将仿真应用程序提供的可视化界面中,表示所有标准单元的延时设置参数均为0的选项选中。
所述禁止仿真应用程序在仿真过程中导入标准单元库中各标准单元的延时设置参数包括:通过仿真应用程序提供的命令输入窗口输入控制命令,将表示所有标准单元的延时设置参数均为0的选项选中。
所述表示所有标准单元的延时设置参数均为0的选项为:延时为零模式delay_mode_zero选项。
本发明提供的一种可编程逻辑器件的仿真控制系统,包括:
模型存储单元,用于存储预先建立的外部时钟源模型,该外部时钟源模型能够直接连接至被仿真电路中的触发器;
仿真应用程序,用于对被仿真电路执行仿真;
标准单元库,用于存储各种标准单元的功能及各类型设置参数,所述各类型设置参数中包括延时设置参数;
控制接口,用于导通仿真应用程序与标准单元库,禁止仿真应用程序在仿真过程中导入标准单元库中触发器的延时设置参数;
仿真触发器,用于触发仿真应用程序基于所述外部时钟源模型执行仿真、并通过所述控制接口从标准单元库中导入各标准单元除延时设置参数之外的其他设置参数及功能。
所述仿真应用程序具有可视化界面,在该可视化界面中将表示所有标准单元的延时设置参数均为0的选项被选中后,控制接口禁止仿真应用程序从标准单元库导入各标准单元的延时设置参数。
所述仿真应用程序具有命令输入窗口,在该命令输入窗口输入了控制命令并将所述仿真应用程序表示所有标准单元的延时设置参数均为0的选项去除后,控制接口禁止仿真应用程序从标准单元库导入各标准单元的延时设置参数。
所述表示所有标准单元的延时设置参数均为0的选项为:延时为零模式delay_mode_zero选项。
由上述技术方案可见,本发明建立外部时钟源模型,将该模型直接连接至被仿真电路中的触发器。由于仿真应用程序执行仿真所基于的外部时钟源模型未经任何其它标准单元而直接连接在被仿真电路中的触发器,使得外部时钟信号旁路被仿真电路中到达各触发器的时钟信号实际传输路径,因而能够保证外部时钟信号同步到达各触发器;且由于到达各触发器的外部时钟信号的传输路径相同,因而仿真应用程序在仿真触发器采样时会设置到达触发器的外部时钟信号同步,从而匹配了级联触发器之间的数据输出与采样时机,进而避免了采错数据。
附图说明
图1为基于可编程逻辑器件实现的一种D触发器电路结构示意图。
图2为现有仿真过程对如图1所示的D触发器电路的波形示意图。
图3为基于可编程逻辑器件实现的另一种D触发器电路结构示意图。
图4为现有仿真过程对如图3所示的D触发器电路的波形示意图。
图5为本发明实施例中仿真控制方法的流程示意图。
图6为本发明实施例中建立外部时钟源模型后的D触发器电路结构示意图。
图7为基于本发明实施例中仿真控制方法对如图3所示的D触发器电路的波形示意图。
图8为本发明实施例中仿真控制系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 实施例,对本发明进一步详细说明。
图5为本发明实施例中仿真控制方法的流程示意图。如图5所示,本实施例中的仿真控制方法包括如下步骤:
步骤501,导通仿真应用程序与标准单元库,但禁止仿真应用程序从标准单元库导入各标准单元的延时设置参数。其中,标准单元库存储了各种标准单元的功能及各类型设置参数,所述各类型设置参数中包括延时设置参数。
实际应用中,仿真应用程序可提供一可视化界面,这样,在本步骤中,可以将仿真应用程序提供的可视化界面中表示所有标准单元的延时设置参数均为0的选项选中;仿真应用程序通常还能够提供一操作平台命令输入窗口,这样,在本步骤中,还可以通过该操作平台命令输入窗口输入控制命令,以选中表示所有标准单元的延时设置参数均为0的选项。
其中,对于不同版本的仿真应用程序来说,表示所有标准单元的延时设置参数均为0的选项可能互不相同。以NC Verilog仿真应用程序为例,例如表示所有标准单元的延时设置参数均为0的选项为延时为零模式(delay_mode_zero)选项。
经过本步骤,即可控制仿真应用程序在仿真过程中从标准单元库中导入标准单元的延时设置参数。
步骤502,建立外部时钟源模型,将该模型直接连接至被仿真电路中的触发器,以将被仿真电路中的时钟信号实际传输路径旁路。
本步骤中,可以在仿真应用程序所提供的测试平台(test bench)中利用Verilog force语句将时钟产生模块的时钟输出强制连到SCAN时钟上语句来建立上述外部时钟源模型,例如“force top.clock_generater.clk1=scan_clk”。
实际应用中,本步骤也可以在步骤501之前执行。
步骤503,触发仿真应用程序基于建立的时钟源模型执行仿真、并从标准单元库中导入各标准单元除延时设置参数之外的其他设置参数及功能。
至此,本流程结束。
由上述流程可见,本发明中的仿真控制方法建立外部时钟源模型,将该模型直接连接至被仿真电路中的触发器。由于仿真应用程序执行仿真所基于的外部时钟源模型未经任何其它标准单元而直接连接在被仿真电路中的触发器,使得外部时钟信号旁路被仿真电路中到达各触发器的时钟信号实际传输路径,因而能够保证外部时钟信号同步到达各触发器;且由于到达各触发器的外部时钟信号的传输路径相同,因而仿真应用程序在仿真触发器采样时会设置到达触发器的外部时钟信号同步,从而匹配了级联触发器之间的数据输出与采样时机,进而避免了采错数据。
仍假设被仿真电路是由级联的DFF1和DFF2构成的寄存器,DFF1的D端为该寄存器的输入端,DFF1的Q端连接至DFF2的D端,DFF2的Q端为该寄存器的输出端。
在仿真之前,建立外部时钟源模型,将该模型直接连接至被仿真电路中的DFF1和DFF2,参见图6中SCAN时钟信号对应的实线。
参见图6和图7,外部时钟源产生的SCAN时钟信号未经任何其他标准单元直接传输至DFF1和DFF2,将时钟信号2和时钟信号3旁路(参见图6中对应时钟信号2和时钟信号3的虚线),即同时替换并用作时钟信号2和时钟信号3的SCAN时钟信号实际到达DFF1和DFF2的时间相同。
在仿真过程中,DFF1的D端输入信号在SCAN时钟信号的第n个时钟周期跳变为低电平,DFF1则会在SCAN时钟信号的第n+1个时钟周期采集到低电平并使其Q端跳变为低电平。
由于SCAN时钟信号会同时到达DFF1和DFF2,因此,在仿真应用程序仿真DFF2采样时,会设置DFF2的D端在DFF2在SCAN时钟信号的第n+2个时钟周期上升沿,才会采集到DFF1的Q端输出的低电平并使其Q端跳变为低电平,保证了DFF2不会采错数据,即DFF1的Q端跳变、DFF2的Q端跳变依次发生在时钟信号1的连续两个上升沿,得到正确的跳变方式。
图8为本发明实施例中仿真控制系统的结构示意图。如图8所示,本实施例中的仿真控制系统包括:外部时钟源模型单元、仿真应用程序、标准单元库、控制接口和仿真触发器。
模型存储单元,用于存储预先建立的外部时钟源模型,该模型能够直接连接至被仿真电路中的触发器,并将被仿真电路中连接至触发器的时钟传输路径旁路。
仿真应用程序,用于基于模型存储单元中的外部时钟源模型对被仿真电路执行仿真。
标准单元库,用于存储各种标准单元的功能、延时设置参数以及其他各类型设置参数。此处所述的各类型参数可以与现有技术相同,在此不再一一赘述。
控制接口,用于导通仿真应用程序与标准单元库,并禁止仿真应用程序从标准单元库导入各标准单元的延时设置参数。其中,控制接口可以为仿真应用程序的软件接口。
实际应用中,仿真应用程序可提供一可视化界面,这种情况下,在将仿真应用程序提供的可视化界面中表示所有标准单元的延时设置参数均为0的选项选中后,控制接口即不会允许仿真应用程序从标准单元库导入各标准单元的延时设置参数;
实际应用中,仿真应用程序通常还能够提供一操作平台命令输入窗口,这种情况下,在通过该操作平台命令输入窗口输入控制命令,以选中表示所有标准单元的延时设置参数均为0的选项后,控制接口及不会允许仿真应用程序从标准单元库导入各标准单元的延时设置参数。
其中,对于不同版本的仿真应用程序来说,表示所有标准单元的延时设置参数均为0的选项可能互不相同。以NC Verilog仿真应用程序为例,例如表示所有标准单元的延时设置参数均为0的选项为delay_mode_zero选项。
仿真触发器,用于触发仿真应用程序基于模型存储单元模型执行仿真、并通过控制接口从标准单元库中导入各标准单元除延时设置参数之外的其 他设置参数及功能。
由此可见,本发明中的仿真控制系统中存储有外部时钟源模型,且该模型直接连接至被仿真电路中的触发器。由于仿真应用程序执行仿真所基于的外部时钟源模型未经任何其它标准单元而直接连接在被仿真电路中的触发器,使得外部时钟信号旁路被仿真电路中到达各触发器的时钟信号实际传输路径,因而能够保证外部时钟信号同步到达各触发器;且由于到达各触发器的外部时钟信号的传输路径相同,因而仿真应用程序在仿真触发器采样时会设置到达触发器的外部时钟信号同步,从而匹配了级联触发器之间的数据输出与采样时机,进而避免了采错数据。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种可编程逻辑器件的仿真控制方法,其特征在于,该方法包括:
导通仿真应用程序与标准单元库、但禁止仿真应用程序导入标准单元库中各标准单元的延时设置参数,并建立外部时钟源模型、将该外部时钟源模型直接连接至被仿真电路中的触发器;
触发仿真应用程序基于所述外部时钟源模型执行仿真、并从标准单元库中导入各标准单元除延时设置参数之外的其他设置参数及功能。
2.如权利要求1所述的仿真控制方法,其特征在于,所述禁止仿真应用程序在仿真过程中导入标准单元库中各标准单元的延时设置参数包括:将仿真应用程序提供的可视化界面中,表示所有标准单元的延时设置参数均为0的选项选中。
3.如权利要求1所述的仿真控制方法,其特征在于,所述禁止仿真应用程序在仿真过程中导入标准单元库中各标准单元的延时设置参数包括:通过仿真应用程序提供的命令输入窗口输入控制命令,将表示所有标准单元的延时设置参数均为0的选项选中。
4.如权利要求2或3所述的仿真控制方法,其特征在于,所述表示所有标准单元的延时设置参数均为0的选项为:延时为零模式delay_mode_zero选项。
5.一种可编程逻辑器件的仿真控制系统,其特征在于,该仿真控制系统包括:
模型存储单元,用于存储预先建立的外部时钟源模型,该外部时钟源模型能够直接连接至被仿真电路中的触发器;
仿真应用程序,用于对被仿真电路执行仿真;
标准单元库,用于存储各种标准单元的功能及各类型设置参数,所述各类型设置参数中包括延时设置参数;
控制接口,用于导通仿真应用程序与标准单元库,禁止仿真应用程序在仿真过程中导入标准单元库中各标准单元的延时设置参数; 
仿真触发器,用于触发仿真应用程序基于所述外部时钟源模型执行仿真、并通过所述控制接口从标准单元库中导入各标准单元除延时设置参数之外的其他设置参数及功能。 
6.如权利要求5所述的仿真控制系统,其特征在于,所述仿真应用程序具有可视化界面,在该可视化界面中将表示所有标准单元的延时设置参数均为0的选项被选中后,控制接口禁止仿真应用程序从标准单元库导入各标准单元的延时设置参数。 
7.如权利要求5所述的仿真控制系统,其特征在于,所述仿真应用程序具有命令输入窗口,在该命令输入窗口输入了控制命令并将所述仿真应用程序表示所有标准单元的延时设置参数均为0的选项去除后,控制接口禁止仿真应用程序从标准单元库导入各标准单元的延时设置参数。 
8.如权利要求6或7所述的仿真控制系统,其特征在于,所述表示所有标准单元的延时设置参数均为0的选项为:延时为零模式delay_mode_zero选项。 
CN2008101159310A 2008-06-30 2008-06-30 可编程逻辑器件的仿真控制方法及系统 Expired - Fee Related CN101303710B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101159310A CN101303710B (zh) 2008-06-30 2008-06-30 可编程逻辑器件的仿真控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101159310A CN101303710B (zh) 2008-06-30 2008-06-30 可编程逻辑器件的仿真控制方法及系统

Publications (2)

Publication Number Publication Date
CN101303710A CN101303710A (zh) 2008-11-12
CN101303710B true CN101303710B (zh) 2011-10-12

Family

ID=40113613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101159310A Expired - Fee Related CN101303710B (zh) 2008-06-30 2008-06-30 可编程逻辑器件的仿真控制方法及系统

Country Status (1)

Country Link
CN (1) CN101303710B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951609B (zh) * 2015-06-19 2018-05-15 西安紫光国芯半导体有限公司 一种处理门级网表中的同步逻辑结构的方法
TWI614686B (zh) * 2015-12-15 2018-02-11 財團法人工業技術研究院 系統模擬方法

Also Published As

Publication number Publication date
CN101303710A (zh) 2008-11-12

Similar Documents

Publication Publication Date Title
US7721036B2 (en) System and method for providing flexible signal routing and timing
CN105259561B (zh) 一种卫星时间同步设备异常处理能力的测试装置和方法
CN102928772A (zh) 时序测试系统及其测试方法
CN102981116A (zh) 一种验证专用集成电路的装置和方法
US8769448B1 (en) Circuit design simulation
GB2401446A (en) Simulating clock drift between asynchronous clock domains
CN112732508A (zh) 一种基于Zynq的可配置通用IO测试系统及测试方法
CN101303710B (zh) 可编程逻辑器件的仿真控制方法及系统
CN109815073B (zh) 一种基于pxi平台的高速串口srio的测试方法
CN102567587A (zh) Fpga互联装置及方法
CN101303709B (zh) 可编程逻辑器件的仿真控制方法及系统
US8144828B2 (en) Counter/timer functionality in data acquisition systems
CN111025046B (zh) 一种测试系统、控制矩阵开关的方法及存储介质
CN104866640A (zh) 一种全fifo电路设计方法及其通用验证平台
CN111124790B (zh) 一种可重用仿真接口模型的生成系统
CN107609219B (zh) 一种混合模型信号完整性仿真方法
CN110569162B (zh) 一种通信领域中fpga的自动测试方法及装置
CN111103495A (zh) 一种现场调试跨间隔继电保护设备的自动测试系统及方法
CN107506540B (zh) 一种混合模型信号完整性仿真方法
CN108279591B (zh) 一种仿真平台数字量通用输出方法
CN110413471A (zh) 一种fpga内部信号数据获取方法、系统
US20060071821A1 (en) Method for verifying a circuit function
CN213458042U (zh) 一种前仿真中对亚稳态的模拟处理电路
CN104735371B (zh) 一种基于ccd数字模型的用于仿真的数据源建立方法
KR102003790B1 (ko) 기폭 발파 장치의 기폭 출력을 측정하는 장치 및 그 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111012

Termination date: 20120630