位置:51电子网 » 技术资料 » 模拟技术

统一的电路仿真验证平台的设计

发布时间:2008/5/27 0:00:00 访问次数:790

        

    

    统一的电路仿真验证平台的设计

    电路仿真和验证是集成电路设计工作的重要组成部分,在不同类型芯片的各个设计阶段中都消耗了相当大的资源。下面是一些具体的仿真应用:在数字电路模块设计中,无论是系统级、行为级还是rtl级,都需要编写专门的测试代码输入激励波形,同时检测输出波形是否符合功能描述;若发现实际输出和预计输出不一致,则进一步查看输入输出和电路分析。而在模拟电路设计中,由于输出不能精确定义,更需要经常观察输出波形,有时还需要进行数学变换来测量电路性能。

    此外,通讯方面的芯片要遵从各种通信协议,需要构造相对复杂的激励信号。在建库应用中,单元功能比较明确和通用,工程师更加侧重测试向量自动生成和自动检测;此外还有各种环境下时延等特征参数的提取。对一些大型定制电路来说,工程师可能还需要提取关键路径包含的电路,以此作为时序模型进行仿真和特征参数提取。需要说明的是,这里我们把特征参数提取、建模等应用也归入仿真和验证这个大方向。

    虽然以上各种应用涉及的工具、目标数据以及输出结果各不相同,我们仍然可以把仿真和验证过程大致分为激励信号准备、仿真、结果察看和分析三个主要步骤。从这个角度看,不同应用只是侧重点不同:数字电路的仿真验证更侧重在测试数据管理和自动化,模拟电路侧重于波形观察和性能分析,单元库侧重于特征提取和自动化......。

    而另一方面,本质上类似的这些应用却涉及hspice、modelsim、spectre、waveview、spiceexplorer等众多工具,用户需要分别启动相关工具,控制数据文件在工具之间流转,虽然脚本语言可以将流程衔接得比较流畅,但在数据管理上的支持还很不够。波形显示和波形编辑方面也需要更加灵活、强大的操作和显示方法,让用户能够从更多角度查看电路工作情况,同时使得使用方法更加简单。

    

    针对这些需求,圣景微电子开发了matrix stimuli这个通用仿真验证平台,它将数字电路、模拟电路的仿真和验证统一在一起,集成了测试数据管理、波形编辑、波形查看、特征提取等功能,能够很方便地嵌入cadence、mentor graphics、synopsys等公司的集成环境、仿真工具。该平台的安装非常简单,软件检测系统中已经安装的各种eda工具,可自动完成不同环境下菜单、工具的链接。matrix stimuli采用c/c++编写,用不同编译器编译后可以分别运行于windows、linux、sun平台。

    matrix stimuli架构如图1所示,各主要模块的功能和实现方法说明如下。

    

    

    

    图1:圣景微电子仿真验证平台架构。

    1. 波形编辑

    可提供可视化数字/模拟波形编辑方法。软件提供正弦波、三角波、方波等基本波形,用户用鼠标就可以很方便地调控波形的周期、振幅、相位以及需要的周期数。同时还可以将几个波形叠加在一起形成复合信号,用作通讯类电路的输入波形。对于更为复杂的模拟波形和数字波形,用户还可以用“5sin(100派t)×sin(2派t)”之类的表达式定义信号的组合方法。

    如果要追求更加真实的波形,可以直接从电路仿真的输出波形中截取一段作为待测模块的输入波形。为了实现这样的效果,软件定义了抽象的波形基类,每个波形自己定义显示方式、控制方法、叠加方法、输出方法。在此基础上派生出各种基本波形和复合波形。这样的架构可以让不同波形之间、以及和界面之间相对无关,系统可扩展性较好。软件还包括一个表达式解析器,将用户输入的文本转化成内部的波形数据。

    2. 增量结果获取和压缩

    遇到大型模块或者复杂激励的仿真时,为了让用户尽快看到早期的仿真结果,软件应跟踪输出文件,定期检测新增的仿真结果,以不干扰当前显示内容的方式添加到窗口中。用户可以继续关注原来正在分析的一段波形,也可以及时查看最新的仿真结果。此外,仿真工具输出的波形信息通常包含较多的冗余信息,不利于保存和反复读取。软件通过将步长确定的输出波形压缩成异步二进制信息来大幅度减少数据量。为了屏蔽仿真工具控制命令、输入输出格式各不相同等特点,采用定义通用接口、从基类派生的方法来保持架构的结构化和可扩展性。

    3. 波形显示

    波形显示基本上可以采用波形编辑的数据结构,设计工作主要集中在增加用户查看输出波形的方法。例

        

    

    统一的电路仿真验证平台的设计

    电路仿真和验证是集成电路设计工作的重要组成部分,在不同类型芯片的各个设计阶段中都消耗了相当大的资源。下面是一些具体的仿真应用:在数字电路模块设计中,无论是系统级、行为级还是rtl级,都需要编写专门的测试代码输入激励波形,同时检测输出波形是否符合功能描述;若发现实际输出和预计输出不一致,则进一步查看输入输出和电路分析。而在模拟电路设计中,由于输出不能精确定义,更需要经常观察输出波形,有时还需要进行数学变换来测量电路性能。

    此外,通讯方面的芯片要遵从各种通信协议,需要构造相对复杂的激励信号。在建库应用中,单元功能比较明确和通用,工程师更加侧重测试向量自动生成和自动检测;此外还有各种环境下时延等特征参数的提取。对一些大型定制电路来说,工程师可能还需要提取关键路径包含的电路,以此作为时序模型进行仿真和特征参数提取。需要说明的是,这里我们把特征参数提取、建模等应用也归入仿真和验证这个大方向。

    虽然以上各种应用涉及的工具、目标数据以及输出结果各不相同,我们仍然可以把仿真和验证过程大致分为激励信号准备、仿真、结果察看和分析三个主要步骤。从这个角度看,不同应用只是侧重点不同:数字电路的仿真验证更侧重在测试数据管理和自动化,模拟电路侧重于波形观察和性能分析,单元库侧重于特征提取和自动化......。

    而另一方面,本质上类似的这些应用却涉及hspice、modelsim、spectre、waveview、spiceexplorer等众多工具,用户需要分别启动相关工具,控制数据文件在工具之间流转,虽然脚本语言可以将流程衔接得比较流畅,但在数据管理上的支持还很不够。波形显示和波形编辑方面也需要更加灵活、强大的操作和显示方法,让用户能够从更多角度查看电路工作情况,同时使得使用方法更加简单。

    

    针对这些需求,圣景微电子开发了matrix stimuli这个通用仿真验证平台,它将数字电路、模拟电路的仿真和验证统一在一起,集成了测试数据管理、波形编辑、波形查看、特征提取等功能,能够很方便地嵌入cadence、mentor graphics、synopsys等公司的集成环境、仿真工具。该平台的安装非常简单,软件检测系统中已经安装的各种eda工具,可自动完成不同环境下菜单、工具的链接。matrix stimuli采用c/c++编写,用不同编译器编译后可以分别运行于windows、linux、sun平台。

    matrix stimuli架构如图1所示,各主要模块的功能和实现方法说明如下。

    

    

    

    图1:圣景微电子仿真验证平台架构。

    1. 波形编辑

    可提供可视化数字/模拟波形编辑方法。软件提供正弦波、三角波、方波等基本波形,用户用鼠标就可以很方便地调控波形的周期、振幅、相位以及需要的周期数。同时还可以将几个波形叠加在一起形成复合信号,用作通讯类电路的输入波形。对于更为复杂的模拟波形和数字波形,用户还可以用“5sin(100派t)×sin(2派t)”之类的表达式定义信号的组合方法。

    如果要追求更加真实的波形,可以直接从电路仿真的输出波形中截取一段作为待测模块的输入波形。为了实现这样的效果,软件定义了抽象的波形基类,每个波形自己定义显示方式、控制方法、叠加方法、输出方法。在此基础上派生出各种基本波形和复合波形。这样的架构可以让不同波形之间、以及和界面之间相对无关,系统可扩展性较好。软件还包括一个表达式解析器,将用户输入的文本转化成内部的波形数据。

    2. 增量结果获取和压缩

    遇到大型模块或者复杂激励的仿真时,为了让用户尽快看到早期的仿真结果,软件应跟踪输出文件,定期检测新增的仿真结果,以不干扰当前显示内容的方式添加到窗口中。用户可以继续关注原来正在分析的一段波形,也可以及时查看最新的仿真结果。此外,仿真工具输出的波形信息通常包含较多的冗余信息,不利于保存和反复读取。软件通过将步长确定的输出波形压缩成异步二进制信息来大幅度减少数据量。为了屏蔽仿真工具控制命令、输入输出格式各不相同等特点,采用定义通用接口、从基类派生的方法来保持架构的结构化和可扩展性。

    3. 波形显示

    波形显示基本上可以采用波形编辑的数据结构,设计工作主要集中在增加用户查看输出波形的方法。例

相关IC型号

热门点击

 

推荐技术资料

泰克新发布的DSA830
   泰克新发布的DSA8300在一台仪器中同时实现时域和频域分析,DS... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!