(电路与系统专业论文)信号完整性仿真自动化技术及Automation应用的研究[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)信号完整性仿真自动化技术及Automation应用的研究[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)信号完整性仿真自动化技术及Automation应用的研究[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)信号完整性仿真自动化技术及Automation应用的研究[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)信号完整性仿真自动化技术及Automation应用的研究[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(电路与系统专业论文)信号完整性仿真自动化技术及Automation应用的研究[电路与系统专业优秀论文].pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着现代数字电子系统突破1 g h z 的壁垒,信号完整性问题使得首件产品很难做 到一次成功,需要用仿真的手段分析信号完整性问题,然后利用e d a 工具找出最优 解决方案加以验证。 而现有的仿真工具,如c a d e n c e 仍存在令人不满的地方。本文从这些问题入手, 通过二次开发的方式对c a d e n c e 的信号完整性仿真功能加以扩充,从而实现了信号 完整性仿真自动化的功能。 论文首先介绍了信号完整性概念及其自动化的总体设计,接着详细说明了基于 a u t o m a t i o n 的报告文档自动生成技术。然后讲述了s k i l l 调用c a d e n c e 内软件的技 术、实时波形还原技术等。利用c + + 编程工具,实现了信号完整性仿真自动化平台 的设计,并在论文中给出了平台的结构模型与设计要点。最后,对仿真自动化平台 的成果进行总结,并对调用仿真工具及拓扑图库部分提出新的构想。 关键词:e d a 软件c a d e n c e信号完整性 仿真自动化仿真报告 a b s t r a e t a b s t r a c t w i t hm o d e r nd i g i t a le l e c t r o n i cs y s t e m s p u s h i n gb e y o n dt h e1 - g h zb a r r i e r , s i g n a l - i n t e g r i t yp r o b l e m sp r e v e n tp r o d u c t sf r o mw o r k i n gc o r r e c t l yt h ef i r s tt i m e w e n e e dt ou s es i m u l a t i o nt os o l v es lp r o b l e ma n df i n dt h eb e s ts o l u t i o nu s i n ge d at o o l s t h es i m u l a t i o nt o o l st o d a y ,h o w e v e r , s t i l lh a v es o m ed i s a d v a n t a g e s ,f o re x a m p l e c a d e n c e t h e r e f o r e ,f a c i n gt h e s ep r o b l e m s ,t h ep a p e ra d v a n c e dt h eo r i g i n a lf u n c t i o n , s o t h a tr e a l i z e ds is i m u l a t i o na u t o m a t i z a t i o n f i r s t ,c o n c e p to fs i g n a li n t e g r i t yw a si n t r o d u c e d s e c o n d ,a u t o m a t i o nt e c h n o l o g yi n r e p o r tb u i l d i n gw a se x p l a i n e di nd e t a i l ,a n dt h e ns k i l ll a n g u a g ea sw e l la sr e a l t i m e d i s p l a yo fw a v e f o r mw a sn a r r a t e d w eu s e dc + + p r o g r a m m i n g t o o lr e a l i z i n gt h ed e s i g n o fs is i m u l a t i n ga u t o m a t i z a t i o np l a t f o r m a n da l s ob r o u g h ts t r u c t u r a lm o d ea n dt h e p o i n to fd e s i g n a tl a s t ,t h et h e s i ss u m m a r i z e sa l lw o r kf i n i s h e dt h a ti sr e l a t e dt ot h i s p r o j e c t ,a n dp r o s p e c tt h ee v o l u t i o no f t h i sp r o j e c t k e y w o r d s :e d as o f t w a r e c a d e n c e s i g n a li n t e g r i t y s i m u l a t i n ga u t o m a t i z a t i o n s i m u l a t i o nr e p o r t 声明 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致i l j _ r p 所罗列的内容以外,论文中不 包括其他人已经发表或撰写过的研究成果:也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 本人签名: 缅! 鞠 日期 关于论文使用授权的说明 本人完全了解西安电了科技大学有关保留和使用学位论文的规定,即:学校有 权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部 分内容,可以 本人签名: 导师签名: 缩印或其它复制手段保存论文。 日期:! ! 堑:至:至z 同期:z 翌:2 :留 一 绪论 绪论 本章简单介绍了该课题提出的背景和来源、本论文的主要工作以及论文的结构, 对整个课题与论文有关的研究工作进行了简要介绍。 论文的研究背景: 随着现代数字电子系统突破i g h z 的壁垒,p c b 板级设计和i c 封装设计必须 都要考虑到信号完整性和屯气性能问题。从封装形式来看,芯片体积越来越小、 引脚数越来越多。在当今快速发展的电子设计领域,由i c 芯片构成的电子系统的 体积越来越小而规模不断变大且速度极大的提高,这样就带来了一个问题,即电 子设计的体积减小导致电路的布局布线密度变大,而同时信号的频率还在提高, 从而使得如何处理高速信号问题成为一个设计能否成功的关键因素。随着电子系 统中逻辑和系统时钟频率的迅速提高和信号边沿不断变陡,印刷电路板的线迹互 连和板层特性对系统电气性能的影响也越发重要。因此,高速系统的设计必须面 对互连延迟引起的时序问题以及串扰、传输线效应等信号完整性问题。 在现代电子产品的设计过程中,仿真占据着不可忽视的重要作用。尤其是信 号完整性问题,若在设计开始阶段不考虑,就很难做到产品的一次成功。这意味 着信号完整性的仿真在整个的设计流程中占据着至关重要的地位,如何利用信号 完整性的分析方法打造更高效的产品设计、采用何种仿真工具去实现信号完整性 的分析、并利用先迸的e d a 技术实现仿真自动化成为了业界普遍的呼声。 要充分发挥e d a 设计工具的强大能力,增强现有信号完整性仿真工具,借助 其产生的丰富的设计数据来指导仿真工作。实现信号完整性仿真的自动化并包括 其规范的仿真报告自动输出。 论文的章节安捧; 论文围绕科研项目,重点提出并研究了基于c a d e n c e 的信号完整性仿真自动化 平台实现的若干关键性的技术。 论文共分四章来叙述: 第一章:介绍了信号完整性的概念及其仿真策略并详细介绍了信号完整性仿真 自动化的设计构架。 第二章:详细描述了a u t o m a t i o n 自动化服务技术及其在实际开发中的应用。 第三章:讲述了信号完整性仿真自动化平台实现的其它关键技术。 第四章:介绍了实际使用论文提出的若干支撑技术实际丌发该平台的情况,并 对平台进一步开发的方向进行了展望。 第一章信号完整性仿真自动化的概念和设计 3 第一章信号完整性仿真自动化的概念和设计 1 1 信号完整性仿真自动化的作用与意义 目前,在电子产品的设计过程中信号完整性已经成为设计师们不可忽视的一 个问题。信号完整性是指信号未受到损伤的种状态,它表示信号质量和信号传输 后仍保持正确的功能特性。良好的信号完整性是指在需要时信号仍能以正确的时 序和电压电平值做出响应。由于电子系统中逻辑和系统时钟频率的迅速提高和信 号边沿不断变陡等因素,使得信号完整性问题变得越发突出。从广义上讲,信号 完整性问题主要表现为几个方面:延迟,反射,振荡,缝弹,串扰等。合理进行 电路建模仿真是寻找信号完整性解决方法的重要途径。在高速电路设计中,仿真 分析越来越显示出优越性它给设计者以准确、直观的设计结果,便于尽早发现问 题,及时修改。从面缩短设计时间,降低设计成本。 1 1 1 信号完整性概述 信号完整性( s i g n a li n t e g r i t y ,s 1 ) 是指在信号线上的信号质量。差的信号完整性 不是由某单一因素导致的,而是板级设计中多种因素共同引起的。当电路中信 号能以要求的时序、持续时间和电压幅度到达i c 时,该电路就有很好的信号完整 性。当信号不能正常响应时,就出现了信号完整性问题。主要的信号完整性问题 包括延迟、反射、振荡、上冲与下冲、串扰、同步开关噪声( s i m u l t a n e o u ss w i t c h i n g n o i s e s s n ) 等。这些问题会影响电路功能的j 下确性或性能的降低。 延迟是指信号在p c b 板的导线上以有限的速度传输,信号从发送端发出到达 接收端,其问存在一个传输延迟。信号的延迟会对系统的时序产生影响,在高速 数字系统中,传输延迟主要取决于导线的长度和导线周围介质的介电常数。 根据传输线理论,信号沿传输线传输,当阻抗不连续时就会有反射( r e f l e c t i o n ) 产生,反射的大小与阻抗失配的程度有关,阻抗失配越大,反射就越大。如果负 载阻抗大于传输线的特性阻抗,负载没有吸收全部能量,多余的能量就会反射回 发送端,这种情况称为欠阻尼;如果负载阻抗小于传输线的特性阻抗,负载试图 消耗比当前发送端提供的更多的能量,故通过反射来通知发送端发送更多的能量, 这种情况称为过阻尼。欠阻尼和过阻尼都会引起反射。反射的结果将造成过冲( 包 括上冲和下冲) 和振荡,过冲可能损坏输入电路。布线的几何形状、不正确的线端接、 信号完整性仿真自动化技术及a u t o m a t i o n 的麻h j 研究 经过连接器的传输及电源平面的不连续等因素的变化都会导致此类反射。常用的 减少或消除反射的方法是采用端接技术,端接技术是在接收端或发送端并联或串 联阻抗,使传输线在接收端或发送端阻抗连续,消除接收端反射或发送端反射, 从而消除反射。 信号的振铃( , i n g i n g ) 和环绕振荡( m u l l d i n g ) 由线上过度的电感和电容引起,振铃 属于欠阻尼状态,而环绕振荡属于过阻尼状态。振荡和环绕振荡同反射一样也是 由多种因素引起的,振荡可以通过适当的端接予以减小,但是不可能完全消除。 振荡可能引起信号的误触发和增加信号的稳定时白j ,在高速数字信号的传输过程 中,这是影响速度的关键因素。 在电路中有大的电流涌动时就会引起开关噪声,如大量芯片的输出同时开启 时,将有一个较大的瞬态电流在芯片与板的电源平面流过,芯片封装与电源平面 的电感和电阻会引发电源噪声,这样会在真正的地平面( 0 v ) 上产生电压的波动和变 化,这个噪声会影响其他元器件的动作,甚至会造成逻辑的错误。引起开关噪声 的原因同样有很多,负载电容的增大、负载电阻的减小、地电感的增大、同时开 关器件数目的增加均会导致开关噪声的增大。 串扰( c r o s s t a l k ) 是指当信号在传输线上传播时,因电磁耦合对相邻传输线产生 不期望的电压或电流噪声干扰。电磁耦合分为容性耦合和感性耦合,串扰分为容 性耦合串扰和感性耦合串扰。容性耦合引发耦合电流,而感性耦合引发祸合电压。 串扰的强度取决于器件及导线的几何尺寸和相互距离。过大的串扰可能引起电路 的误触发,导致系统无法j 下常工作。消除串扰最基本的办法是减少并行线长度, 增加并行线间距。系统设计时,经常在串扰严重的两条信号线之i 日j 插入地线以减 少串扰。 因此,高速数字电路的设计必须面对延迟、反射、振荡、上冲与下冲、串扰、 同步开关噪声( s s n ) 等信号完整性问题。图1 1 说明了信号完整性问题在波形上的 体现。 | 笙| 1 1信号完整性示意幽 第一章信号完整性仿真自动化的概念和设计 1 1 2 信号完整性的仿真策略及自动化的意义 在高速数字电路设计中,不用仿真而只凭传统的设计方法或经验很难预测和 保证信号完整性,仿真已成为高速信号设计的必要手段。我们可以在系统开发的 早期进行仿真分析,以确定系统能否满足设想的信号传输速率要求。而且当前设 计不能满足要求时,可以通过:改变电缆的类型,选择电磁兼容性较好或者特性 阻抗更加匹配发送和接收装置的电缆:改变器件之白j 的电缆长度,电缆束中电线 的距离;改变电缆和会属外壳之问的距离,等等。通过反复修改设计和仿真来检 验是否满足设计的要求,这样可以大大减少设计原型的数量,缩短开发的周期, 减少使用经费。 信号完整性的仿真信息策略有以下几个方面:1 ) 确认系统中的关键信号和非 关键信号。对于一般高速p c b 设计来说,不要求所有的信号都要做信号完整性分 析,因此仿真分析前应对系统中的信号进行划分。划分为关键信号和非关键信号。 因为有些信号属于低速信号且对信号的要求不太严格。这时只对要求关键信号进 行仿真即可,节约研发时间。2 ) 选择仿真模型模型的下确与否将直接影响到仿真结 果,因此必须保证元器件的模型参数能正确反应仿真的规定条件,如频率、电平 等。在电子设计中有多种可以用于p c b 板级信号完整性分析的模型如s p i c e 模型、 i b i s 模型。3 ) 定义仿真参数。仿真参数是指驱动源的开关速度、布线最大最小允 许长度、传输线阻抗、阻抗容限及p c b 参数等。在仿真静,定义好各种仿真参数 是很重要的,因为参数不准确,仿真结果将不可信。同时,采用哪种分析方式也 要谨慎考虑,设计后的信号反射及串扰往往能反映实际走线的真实情况。而对于 约束条件,一定要根据逻辑电平要求和器件本身的参数去确定,可通过元器件的 电气参数、规格书等来确认合理的值。4 ) 选择仿真软件。 其中,对仿真工具要格外的说明。利用信号完整性分析工具和电磁兼容分析 工具均可以进行信号完整性分析。在高速电路设计中,选择一个好的信号仿真工 具是至关重要的。一般来说,选择信号仿真工具应考虑以下因素:其一,选择的 信号仿真分析工具是否支持所选择的模型;其二,所选择的信号仿真分析工具与 所用的原理图设计软件及p c b 制作软件之间是否有良好的接口关系。常用的仿真 工具有c a d e n c e 公司的a l l e g r o 和s p e c c t r a q u e s t ,a n s o f l 公司的s i w a v e , z u k e n 公司的h o t s t a g e 4 ,m e n t o r g r a p h i c s 公司的i c x 3 0 和h y p e r l y n x , a p p l i e d s i m u l a t i o n t e c h n o l o g y 公司的a p s i m s i 等。在进行信号完整性仿真的时候首 先要确认系统中的关键信号和非关键信号,然后选择仿真模型、定义仿真参数, 再进行仿真分析,最终指导我们进行设计的修改。那么下面就以c a d e n c e 的仿真 工具为例说明信号完整性仿真的流程,如图1 2 所示。 6 信号完整性仿真自动化技术及a u t o m a t i o n 的戍研究 开 始 在a l l e g r o 中准备好要进行s i 仿真的p c b 版图 转换i b i s 库到d m l 格式井加载 给器件加载对应模型 定义板子的地线和电源电压 调整p c b 板叠层结构以满足阻抗需求 设置仿真参数 _ 【l jp r o b e 指定仿真信号线 提取电路拓扑结构 更改条件重复进行仿真 仿真结果分析 电器约求规则的定义 图1 2c a d e n c e 信号完整性仿真流程 结柬 根据以上的分析及实际的操作经历,目f 在使用c a d e n c e 的信号完整性软件 进行大规模的仿真工作时依然存在着令人不满的地方,例如: 每次只能进行一种类型的仿真,不能够一次设置完成多种仿真; 没有提供仿真设置的保存功能,使得每次仿真都要重复设置当要求达到某一 指标而设置互联参数时,需要仿真人员手动的多次设置该参数: 不能够实时显示仿真波形,这样对于计算量较大的信号完整性仿真,就不能 根据即时波形做出第一反应。那么,就此提出能否利用一定的手段,在现有的仿 真工具基础上做出一定的改进来省掉这些过多的、重复性较大的过程以提高仿真 设计的效率。即构想我们所谓的信号完整性仿真自动化。 根据这些问题,就提出了信号完整性仿真自动化的要求。所谓仿真的自动化 就是用户在本平台中正确完整的设置了需进行信号完整性分析的条件后,本软件 自动的调用仿真工具完成仿真分析工作,输出格式证确的仿真报告,从而达到提 高设计质量和效率的目的。其核心内容可分为三大部分:首先仿真条件整理如图 1 3 所示,这是c a d e n c e 中的仿真条件设置界面,在信号完整性仿真自动化软件中 第一章信号完格性仿真白动化的概念和设计 7 也要包括此功能,当然不能像原先一样每次进行同类仿真时都要重复的进行参 图1 3 c a d e n c e 完辂性条件整理说明 幽1 4 仿真控制条件的说明 数的设置,而是只需一次设置完全,软件自动进行多次仿真。其次是控制条件整 理,这里指的是目前用户最关心的几种情况如图1 4 所示。其中在点对点拓扑结构 中,存在着无匹配、始端匹配、终端匹配、布线延迟几种情况。其它的拓扑结构 也又类似的设覆。 8 信号完整性仿真自动化技术及a u t o m a t i o n 的应h j 研究 1 2 信号完整性仿真自动化的设计思想 要实现信号完整性仿真自动化,针对c a d e n c e 的信号完整性分析软件s i g n o i s e , 需要通过一定的编成方式接受用户输入的仿真设置信息,并通过与仿真软件本身 的接口语言将仿真的设置信息保存到原来的p c b 文件b r d 的属性中。同时通过专 用接口传递给c a d e n c e 信号完整性仿真软件s i g n o i s e ,达到调用仿真工具的目的。 当然,对于总体的仿真过程都应有明确的调度监控和闩志记录,最终的仿真结果 报告是非常重要的一部分。 曼弩譬- 罂“卫邕 ,“* 。= ,| 、 s i 仿真工具l s i 仿真工具 接口犷叫s i g n o i s e 图1 5 信号完整性仿真臼动化的总体设计构想 如图1 5 所示,信号完整性仿真自动化系统得实现过程中,所要处理的对象有: 原p c b 图设计文件+ b r d ,s i ( 信号完整性) 仿真文件+ t o p ,s i m ,还要打通 与仿真工具本身调用渠道以及与文字处理软件w o r d 的桥梁。其中针对不同的处理 对象应建立各自的接口模块。如此分析,整个系统的实现可划分为这样几个部分: 调用仿真工具模块、调度监控模块、仿真条件整理模块、控制条件整理模块、仿 真报告输出模块、同志模块。其中各部分的各自使命及运作关系如下: 首先通过仿真条件整理模块接收设置的仿真条件,并将设置信息及时地反馈 到原文件的相关信息中去;由控制条件整理模块接收设置的控制信息,每个网络 第一章信号完整性仿真自动化的概念和设计 9 的控制信息进行处理,同时也有到b r d 文件属性中的反馈;调度监控模块根据输入 的b r d 文件,提取出相应的仿真条件信息和控制条件信息,结合各个t o p 文件信息, 组合出若干条仿真记录,起动仿真软件,逐条进行仿真,仿真完成后给仿真报告 模块提供相应信息:调用仿真工具模块负责启动仿真工具并按要求进行相应仿真: 上述各模块在运行的过程中都向只志模块提供各自的运行状态信息;最终由仿真 报告输出模块完成报告的生成。根据上面的分析,图1 6 给出了总体模块设计图。 图1 6 总体模块设计| 鳘| 1 3 仿真条件及控制条件整理 在实现信号完整性仿真自动化的过程中,非常重要的一个环节就是仿真条件 整理及控制条件整理这一步骤。它直接关系到整个仿真实现的内容、范围及其i f 确性并且是信号完整性仿真自动化与仿真软件本身交互非常紧密的一个部分。因 此这个部分的实现水平就直接体现在仿真条件的选取是否准确及控制条件的反馈 是否合理。而仿真条件的整理模块和控制条件整理模块这两个模块本身就是紧密 联系相互制约的。 1 3 1 仿真条件的整理 仿真条件整理是信号完整性仿真自动化软件系统中的重要模块,通过此模块 可以设置修改仿真条件,控制仿真的具体执行。通过与用户进行交互,设置用户 所选网络的仿真条件参数用s k i l l 语言将用户设置的仿真条件参数信息以属性( 这 部分将在第三章详细介绍) 的形式写到网络所在的b r d 文件中。仿真条件整理部 1 0 信号完整性仿真自动化技术及a u t o m a t i o n 的戍_ i ;j 研究 分的组织结构如图1 7 所示。 图1 7 仿真条1 ,l :整理部分组织结构 由图i 7 可以看出,仿真条件整理模块所进行的仿真条件设置修改是个人机 交互的部分,通过对所选网络的设置获取仿真参数的提取,并最终添加到新的b r d 文件中去。这是仿真参数读取的过程。为了完成仿真条件整理,设计了仿真条件 整理的类c n e t s i m u l a t e t n f o 。该类提供仿真条件整理所需的数据类型,详情如表1 1 所示。 表1 1 仿真条件整理类的数据设置 属性名称类型说明( 对属性的简短描述) m d u t yc s t n n g l j i 空系数 m0 f f s e t c s t r i n g 偏移带 m _ f r e q u e n c yc s t r i n g 开关频率 r e _ m e a s u r e m e n tc s t r i n g 测擎周期 1 3 2 控制条件的整理 对特定的网络进行参数的设置,前提是必须获取原始b r d 文件的所有网络信 息。因此需要控制条件整理模块来把b r d 文件中的所有网络名称提取出来,其次是 对选取网络进行控制条件的设置。同样,控制信息也要写入b r d 文件中。以上所提 出的写入b r d 文件的过程都是为实际进行软件仿真时提供正确的条件。这部分的执 行过程如图1 8 所示: 幽i 8 控制条什整理部分的组织结构 第一章信号完绍性仿真自动化的概念和f 设计 l i 其中将所有网络名存储至列表中后针对所选的网络进行不同的处理,如设定无匹 配时的电阻设黄或者始端匹配、终端匹配及上下拉等时的设置内容。如图1 9 所示 为控制条件整理实现的模块设计。由以上的分析设计出控制条件整理类 c n e t c o n t r a l i n f o ,该类用来保存用户设置的单个网络的控制信息。该类所包含的属 性见表1 2 。此外还有一些数据类型是在仿真条件整理和控制条件整理过程中都需 要的,具体的设置如表1 3 所示。 图1 9 控制条r l 整理部分的模块设计图 表1 2 控制条f ,l :辂理类的数据设置 属性名称类型说明 m _ u p l m p e d a n c e v a l c e d i t 保存设置的上拉电阻值( 也用来保 u e存始端神i 终端匹配的电阻值) m i m p e d a n c e c e d i t 保存设置的f 拉电阻值 n r o m d e l a y i n t 是否要求设置布线延时( 1 为要求) m _ r o u t i n g d e l a y c e d i t设置的布线延时值 n l n v e r t d r i v e l i n t 是否要求变化驱动端( 1 为变化) n m a t c h e d b o t t o n e n u m r e s i s t a n c e t y p e n o m a t c h 设置的电阻匹配类型 i n g - - o ,f i r s t m a t c h i n g , l a s t m a t c h i n g , p u l l u p d o w n n t o p t y p e e n u mn e t t y p e d o t t o d o t = o , 设置的网络类璎 d a i s y c h a i n ,r e m o t e c l u s t e r 信号完整性仿真自动化技术及a u t o m a t i o n 的戍刖研究 表1 3 仿真条r l :和控制条f , j :整理公心的数据设置 属性名称 类型说明( 对属性的简短描述) mn e t l i s t c s t r i n g l i s t 网络名称列表 mf i l e l n f o c s 岍n g 存储文竹内容 m _ c u r r e n t n e t c s 们n g 所选网络名称 m _ s e l e c t n e t l i s t c s t r i n g l i s t 所选网络的列表 1 4 仿真调度的实现机理 在1 2 节中曾经指出,该论文所描述的信号完整性仿真自动化实现都要在调度 监控模块的管理及调配下进行。所谓调度监控就是指组合仿真记录,启动仿真软 件,再进行仿真的总体调配过程。即计划好仿真的内容并通知仿真软件开始进行 工作的过程。 对该过程的设计思想是根据输入的b r d 文件,提取出相应的仿真条件信息和控 制条件信息,结合各个t o p 文件信息,组合出若干条仿真记录,启动仿真软件,逐 条进行仿真;仿真完成后给仿真报告模块提供相应信息;同时给同志模块提供信 息,包括当前仿真状态,异常状态,相应仿真条件与控制条件等。由此可知该模 块是整个设计的核心部分,它同时也是基于仿真条件整理和控制条件整理完成的 基础之上,它的信息源头同样是b r d 文件,但此b r d 文件是经过前面步骤添加了仿 真任务的新的文件。仿真调度的工作流程如图1 1 0 所示: bfd 文 牛 t 0p 文件 建屯仿真条件与挡 il 建札t 0p 制条件的数摧结构i 相应结构 舰划仿真条件 启动仿 分析仿真结果 罾膏鲁 百 给j e 他模块 提交结果 l ! i ii 1 0 仿真调皮的j :作流程 第一章信号完整性仿真自动化的概念和设计 1 3 1 4 1 启动仿真前的数据结构准备 仿真调度监控的一部分任务是要为仿真启动前建立起仿真控制与t o p 信息的 数据结构,从而规划出若干可执行的仿真条件。在各自不同的数据结构建立过程 中要对仿真执行的全过程进行实践和研究,设计出合理而全面的数据结构。 其中,每一个网络条件列表中的一组控制条件数据结构所需的数据类型如表 1 4 所示。实际操作中以类的形式出现。 表1 4 单网络控制条件所需的数据类型 属性名称类型 说明 m _ m a t c h t y p e e n u mm a t c h t y p e匹配类型 n o m a l c h i n g - - 0 ,b e g i n m a t c h i n g , e n d m a c h i n g ,p u l l u p d o w n m j m p e n d a n c e v a l u e c s t r i n g 电阻值( u d ) m _ d o w n l m p e n d a n c e v a l u ec s t r i n g 电阻值( d o w n ) mr o u t d e l a y v a l u e c s t r i n g 布线延迟值 m _ r o u t d e l a y b o o l布线延迟 m i n v e r t d r i v e r b o o l 变化驱动 除了控制条件的数据结构建立还有一个重要的部分就是t o p 信息的数据结构 建立。这里包含了t o p 图中器件的列表以及t o p 图中器件的树型结构。t o p 图的器 件列表如表1 5 所示。实际操作中以类的形式出现。 表1 5 每组仿真引擎输入的数据类犁 属性名称类型说明 n a m e c s t r i n g器件名 t y p ec s t r i n g器件类碰 s t r c s t r i n g 器件左箝点 r s t r c s t r i n g器件右节点 s t a t ec s t r i n g器件状态 v a l u ed o u b l e 器件值 1 4 2 数据结构的设计思路 完成了仿真条件设定的必要准备后,就要利用这些数据类型建立实际的数据 结构,规划出实际的仿真内容。同时调用仿真工具( 详情见后) 执行仿真。同时 分析仿真结果,如果结果不符合设计指标的要求。即时更改t o p 文件信息并调用下 1 4 信号完整性仿真臼动化技术及a u t o m a t i o n 的应埘研究 次仿真直至数据达标为止。最终将合理的仿真结果向报告输出模块和同志模块发 送信息。 在仿真调度监控的实现中所建立的数据结构由表1 6 所示的几个类的组成。具 体的实现是根据存在b r d 文件中每个网络的仿真条件和控制条件,组合出一组组的 仿真引擎输入所需的数据类型如表1 7 所示。 表1 6 控制条件整理的数据结构设计 c c o n d i t i o n s t r u c t定义建立一个网络条件列表中的一组控制条件数据结构所需的数据类 型 c n e t s t r u c t根据存在b r d 文件中每个网络的仿真条件和控制条件,组合出一组组的 仿真引擎输入 c n o d e 用丁:建立t o p 图中器件的列表 c n o d e s t r u c t 用于建立t o p 图中器件的树型结构 c c o n t r o l p r o c e s s 建立数据结构;分析仿真条件信息;修改t o p 文件信息 c m a i n f r a m e主界面窗口的一些操作。 调度监控模块主要涉及其中的启动仿真 具、结果路径设置、监控档个 流程 表1 7 每组仿真引擎输入的数据类犁 属性名称类型说明 m _ s t r n e t n a m ec s t r i n g 网络名 m _ t o p t y p e e n u mt o p t y p e网络拓扑类删 p o i n t t o p o i n t = 0 ,d a i s y c h a i n r e m o t e c l u s t e r m _ m a t c h t y p e e n u mm a t c h t y p e 匹配类讹 n o m a t c h i n g = 0 ,b e g i n m a t c h i n g ,e n d m a t c h i n g ,p u l l u p d o w n ) m d u t y c y c l ec s t r i n gd u t yc y c l e 属性值 m m e a s u r e m e n t c y c l ec s t r i n g m e a s u r e m e n tc y c l e 属性值 m0 f f s e t c s t r i n g o f f s e t 属性值 m _ s w i t c h i n g f r e q u e n c y c s t r i n gs w i t c h i n gf r e q u e n c y 属性值 + s t r c p t r c c o n d i t i o n s t r u c t 指向控制条什的指针 该组数据的设置表示每开启一次软件仿真,可清晰地告知仿真软件是对那个网络 的何种拓扑类型进行哪种匹配的仿真。并设定了占空比、开关频率等值。 第一二章基r a u t o m a t i o n 的报告自动生成技术的研究 第二章基于a u t o m a t io r 的报告自动生成技术的研究 信号完整性仿真的最终目的就是要指导设计师完成更好的设计,那么设计师 进行修改的最直观依据就是仿真报告。因此,在整个信号完整性仿真自动化的实 现过程中最重要的成果就是仿真报告,自动化在整个项目的设计中有一半都体现 在这个部分。采用哪种字处理软件,如何实现报告的按格式自动输出,这是本论 文的研究重点。 2 1 自动服务( a u t o m a t i o n ) 技术 信号完整性仿真自动化软件最终展示的成果就足仿真报告,设计师最关心的 也是仿真的最后结果。所谓自动化,极大的程度上就体现在自动生成仿真报告, 即用户通过s i s a ( 信号完整性仿真自动化) 软件进行一系列的设置后,软件平台 对数据的处理,应能够“自动”地将综合后的文字与图形信息导入字处理软件中。 这旱的自动包含“无缝”的意味,即数据从仿真自动化平台导入到字处理软件的 工作应该出平台软件自动完成,用户不需手动干预。为此需要找到一种能够完成 这项功能的软件技术,使大纲平台能够与字处理软件自动地交换数据,并且能够 操纵字处理软件的各项功能。另外,在3 3 节中将会提到还需要在s k i l l 与c 交互 的基础上建立建立了两个自动化服务器。因此,在丌发本软件的时候,采用了自 动服务( a u t o m a t i o n ) 的软件开发技术,较好地解决了这些问题。 2 1 1a u t o m a t i o n ( 自动服务) 技术的概念 a u t o m a t i o n 技术,以前也被称为“0 l ea u t o m a t i o n ”,是从m i c r o s o f t 的 c o m ( c o m m o no b j e c tm o d e l ,对象组件模型) 技术的基础上发展而来的,他既继承 了c o m 的进程透明、语言无关等特点,又简化了c o m 的繁琐的底层细节。简单 的浼a u t o m a t i o n 技术就是一个应用提供了一个接口,使另外一个应用可以编程实 现对这个应用的调用。 自动化建立在组件对象模型( c o m ) 的基础之上。c o m 是一种基于接口的标 准软件结构,旨在将代码分离为独立的对象。可以将它看作是面向对象编程( o o p l 范例的扩展,但是它也适用于单独的应用程序。每个对象都公开一组接口,到对 象的所有通信( 如初始化、通知和数据传输) 都是通过这些接口进行的。c o m 还 1 6 信号完整性仿真自动化技术及a u t o m a t i o n 的戍_ i l j 研究 是随操作系统一起安装的动态链接库( d l l ) 所提供的一组服务。自动化会用到其 中的许多服务。其中一个示例就是“封送处理”服务,该服务将客户端应用程序的调 用打包到服务器应用程序接口的成员函数中,然后将这些函数及其参数传递给服 务器应用程序。服务器的接口可能会在客户端的内存空间中公开,但是,如果客 户端是e x e 文件,而且在自己的进程空间运行,则不会出现这种情况。封送处理 还可以跨越进程边界从服务器的方法中获取返回值,并将这些值安全地传递给客 户端调用。 使用a u t o m a t i o n 技术可以在一个应用程序中创建和管理另一个应用程序的对 象,或者创建访问和管理对象的工具。他们之| 日j 的相互作用是建立在服务器,客户 机模型上的( 如图2 1 所示) ,其中,根据程序是受惠者还是施惠者这一原则,将 提供对象和对象属性方法的应用程序称为自动化服务器端,操作a c t i v e x 对象的应 用程序叫做自动化的客户端。属性( p r o p e r t i e s ) 和方法( m e t h o d s ) 是自动化对象的 两个基本属性。属性是指a c t i v e x 对象的数据特征,而方法是指a c t i v e x 对象所能 提供的服务。另外,如果服务器端发生某种事件,例如用户单击鼠标或关闭稳定, 会以事件( e v e n t s ) 的方式通知客户端,以使客户端能调用相应的处理函数对该事件 进行必要的处理。 进碰边界 - 。- 。- _ _ - _ 。_ - _ - 。_ 。一 a u t o m a t i o n 服务器端 1。-r。1。一 ;定义* 暴露- a e t i v e x , 蒙; f a u t o m a t i o n 客户端 r 1 1 访问或纠让 c t i v e x i 1 r i 2 峭川对象的瞒忡或盯法l 】3 响应服务器端的事 l ,。j 图2 1a u t o m a t i o n 服务器客户机模硝 在自动化通讯对话过程中实际上已经明确定义了主从关系,主是自动化客户程 序,从是自动化组件( 服务器) 。通过构造一个组件对象,或者与已经运行的组件程 序中的现存对象建立连接,客户程序可以对相互作用的过程进行初始化,然后客 户程序可以调用组件程序中的接口函数,并且将那些已经完成的接口释放。下面 是几种交互的情节: c + + 自动化客户使用m i c r o s o f t 或者第三方的应用程序作为组件。其交互过程 可能会触发组件应用程序中v b a 代码的执行。 c h 自动化客户被m i c r o s o f t 应用程序( 或一个v i s u a lb a s i c 应用程序) 内部调 用,这时该应用程序作为自动化客户上作。这时,v b a 代码能够创建和使用 第二章基丁:a u t o m a t i o n 的报告自动生成技术的研究 1 7 c + + 对象。 c - h - 自动化客户使用c - h - 自动化组件。 v i s u a lb a s l e 程序可以使用具有自动化功能的应用程序。在这种情况下v i s u a l b a s i c 是客户,而e x c e l 则是组件。 既然是以c o m 为基础的,这里就不得不对它进行简单的介绍。c o m 软件工 程发展到今天,从开始的结构化编程,到面向对象编程,再到现在的c o m 编程。 目标就是希望软件能像积方块一样组装起来,而不是一点点编出来的。面向对象 的编程方式相对结构化编程有了很大提高,但类库的重用是基于源码的方式,这 是它的重大缺陷。它限制了编程语言,而且每次都必须重新编译,只有编译后才 能与自己的代码结合在一起生成可执行文件。而采用c o m 技术根本不用通过函数 名来调用函数,它是通过虚函数表,通过查注册表来找组件的,因此c o m 基本上 做到了与语言无关。c o m 组件实际上是一个c + + 类,而接e l 都是纯虚类,组件从 接1 2 1 派生而来。c o m 组件有3 个最基本的接e l 类,分别是i u n k n o w n 、i c l a s s f a c t o r y 、 i d i s p a t c h 。c o m 规范规定任何组件、任何接口都必须从i u n k n o w n 继承, i c l a s s f a e t o r y 的作用是创建c o m 组件,i d i s p a t c b 为调度接口。 由于基于c o m 技术,客户端并不是直接获取服务器端的a c t i v e x 对象束实现 对他的访问,而是通过接口进行的。a u t o m a t i o n 技术提供以下两种接口类型实现 对对象的间接访问: 其一,通过称为i d i s p a t c h ( 调度接口) 的特殊接口。i d i s p a t c h 接口包含了一 组可以访问一个a c t i v e x 对象的方法与属性的函数,并且a c t i v e x 对象的属性与方 法都与某一个i d 号码构成一一映射,这个l d 称为d i s p i d 。当知道某个特定方法 的名称后,首先调用i d i s p a t c h 的o e t l d s o f n a m e s 函数得到该属性方法的d i s p i d , 通过这个d i s p i d 就可以调用i d i s p a t c h 接口的i n v o k e 方法访问到该对象的属性 方法。 其二,a u t o m a t i o n 技术还允许使用一种称为v t b l ( v i r t u a lt a b l e 虚表) 的方 法来直接存取和操作a c t i v e x 对象的属性和方法。v t b l 其实是一个a c t i v e x 对象 的所有属性与方法的地址列表,其中包含了许多由i d i s p a t c h 派生的接e l ,通过这 些接口,客户端可以直接调用对象的方法和属性。 通常情况下,一个a c t i v e x 对象同时提供这两种接口,但由于后者不需要在运 行时查找d i s p i d 号,因此不仅使用简便,并且运行速度比通过调用i d i s p a t c h 的 i n v o k e 方法要快。 i d i s p a t c h 是自动化的核心,它完全被c o m 调度所支持,同时m f c 库也能很 好地支持它。从组件看,需要有一个具有i d i s p a t c h 接e l 的c o m 类;从客户看, 使用标准c o m 技术来获得i d i s p a t c h 指针。利用v i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论