基于HyperLynx的数字电路设计综合仿真方法
2 设计实例
2.1 系统架构及仿真需求
图2是一个由4片ADSP-TS201和XC5VSX35T(Xilinx-Virtex5系列FPGA)构成的并行信号处理系统的结构框图,用于某多功能雷达的实时信号处理。该系统采用共享总线的紧耦合架构,4个DSP通过高达4 Gb/s数据吞吐量的链路口实现了彼此的全互联,可灵活地支持共享总线与消息传递两类主要并行计算模型。同时,与外部其他板卡通过高速链路口及总线互联,拥有高速、实时的数据交换与灵活可靠的控制能力。该系统要求电路设计必须满足:
(1)系统主频能稳定运行于480 MHz(芯片最高主频500 MHz),为了保证各处理器同步,4片DSP及FPGA的工作时钟必须同频同相。
(2)系统外频,即共享总线能稳定运行于80 MHz,从而使得每个DSP可通过共享总线以相同速度访问其他3个DSP及共享存储器(SDRAM和Flash)。
(3)系统主频480 MHz的条件下,链路口能以最高性能全速运行,即双向吞吐量960 MB/通道;
(4)热约束详见本文热仿真部分。
下面将通过该实例来介绍如何运用HyperLynx各仿真模块,以确保系统设计能够满足如上需求。表1给出了仿真中用到的仿真模型参数及部分约束条件,除特殊说明外,参数设置参照表1。
2.2 SI仿真
2.2.1 Pre-layout仿真
(1)根据设计需求,确定总线拓扑结构及PCB叠层。
目前,多片处理器互联常用的总线拓扑主要有菊花链和星型两种拓扑结构。在菊花链结构下,接收端DSP接收波形不仅传输延迟不同,而且靠近驱动端的DSP波形受到严重的反射影响。更重要的是,菊花链结构只适用于总线上仅有一个Master的情形,无法满足设计需求中DSP0-DSP3中任何一个都可为驱动方(即总线Master)的需求,因而本设计中选择星型结构的总线拓扑。在拓扑结构确定后,综合考虑布线约束、布线空间、制造工艺、PCB厚度等方面的因素,就可以初步确定层数、层厚、介质厚度与介电常数、叠层分配等,调整合适的特征阻抗和传输速率,从而确定PCB的叠层设计。
(2)通过端接策略和时序仿真,确定关键信号的端接方式和布线规则。
为了保证信号完整性,从理论上讲,星型拓扑结构的每个分支都应进行AC端接,然而每个分支进行端接的方案在实际中存在两个问题:(1)端接元件数目巨大,布局布线难以实现;(2)负载增加,在DSP驱动能力一定的情形下,信号上升时间过长而无法满足要求。因而实际设计中,应该结合器件的时序需求,合理安排端接,确保信号完整性满足需求。
图3是TS201驱动强度配置为-5级、所有分支无端接时总线信号接收端的仿真结果。图3中,Testload表示TS201数据手册中时序参数测试时的标准负载对应的接收波形,其他则为实际拓扑结构和传输特性下几个DSP和SDRAM的接收波形。由图3可见,与标准负载下的接收信号相比,实际负载条件下的接收信号波形虽然有严重过冲,但TS201引脚内部的钳位电路使之可兼容3.3 V信号,因而引起的过冲效应可以忽略,只要再分析信号的时序裕量即可。
DSP处理器总线操作时序裕量的典型定义为:
(3)通过串扰仿真,确定合理的布线间距等参数。
在DSP、FPGA芯片和星型拓扑布线通道等区域布线密度很大,不同信号线间容易产生串扰。特别是总线类型的信号线,为了保持等长,通常采用1簇平行线,必须对线间距以及平行线最大长度等进行必要的限制。以DSP相邻的两数据线为例,若设线间距5 mil(1 mil=0.025 4 mm)、线宽7 mil、耦合长度1.5英寸(1英寸=2.54 cm),则干扰源端对接收端产生的串扰信号幅度最大为243 mV,超过了150 mV串扰阈值要求。根据高速数字信号传输的相关理论,可采取加大线间距、减小平行走线(即耦合长度)等措施减少串扰影响,相关参数调整后的串扰信号明显下降。
2.2.2 Post-layout仿真
根据Pre-layout仿真得到的布线约束,完成PCB的布局布线。由于布局布线的密度很大,尤其是在星型拓扑的中心位置和BGA内部,而且高速信号也多集中在此区域,因此借助BoardSim的整板交互式仿真工具,设置相应的参数如串扰阈值、时延最大误差、阻抗最大误差等,可以得到整板的端接、时序、串扰、阻抗等信号完整性报告。
2.3 系统热仿真
热通过传导、对流、辐射三种方式传递[5],热仿真主要从这三个方面分别考虑,指导散热设计。根据设计要求,在Thermal中导入PCB文件,设置热仿真模型参数如表3所示。
通常条件下,处理器的散热可通过在其顶部加装散射片来解决。从图4可以看出,在系统非密闭的情况下,在DSP和FPGA上加装散热片(散热片的参数设置见文献[6])能够有效地降低系统温度。然而,许多应用中的多处理器系统往往处于密闭腔体中,热往复很大,依靠散热片扩大散热面积的方法难以得到很好
- 基于Hyperlynx的DDR2嵌入式系统设计与仿真(11-05)
- 基于DSP的列车应变力测试系统设计(04-26)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)