最近,英国Ascot的Agere系统公司 ASIC设计中心从一个重要客户处收到一份富有挑战性的简报:将8个 ARM966E-S r1p0 处理器子系统集成到单芯片上。
尽管这项任务很复杂,但是仅花了11个月就完成了4M-gate 5MbIT 的设计。目前,芯片已投入生产,并作为首次推出的基础设施的一部分,于2002年在欧洲首次使用。整个芯片是第三方和Agere设计经验的合作成果,Agere负责提供ARM子系统设计经验和芯片集成知识,而第三方提供特定用途知识产权。 本文不仅概括了小组在开发设计过程中遇到的挑战,还提供了对所采用的解决方案的深刻见解。使用的技术有Agere的0.16um 6LM (金属层) 1.5V/3.3V处理,且连线到456 PBGAM数据包,以及Agere的内部EDA工具集、用于合成的Synopsys的设计编译器、用于静态时序分析的Primetime、用于测试插入和矢量生成的DC-XP/Tetramax和用于功耗分析的Primepower。小组使用了Avanti Apollo/Saturn 的布局规划和时钟树综合(CTS)技术、Mentor Graphics的Modelsim RTL 仿真技术和Cadence的NCVerilog 功能门仿真技术。 Celerity是用于Spice仿真的解决方案,而AssuraSI是用于信号集成分析的解决方案。
ARM966E-S子系统 本设计是分等级的,它将ARM966E-S子系统排在最低级别。子系统的结构如图所示。
每个ARM966E-S子系统在每段设计里可使用2次,并同时添加第三方IP。而该段在设计中被复制4次。在层次的上一级也包括了第三方IP,最后,包括Agere所有的IO和测试结构。该结构在图2中有说明。使用该设计结构,Agere提出了SoC设计,即当设备中的最低核心电压是1.32V,接合温度达到125 摄氏度,且使用最慢处理特性时,这种设计最少能容纳1280 MIPS,是基于每个ARM966E-S核心160 MIPS的一种测量方法。在这些条件下,限制MIP数目的因素不是ARM966E-S核心(在这种技术下能达到200MIPs),而是指令/数据紧密耦合内存 (TCM)的大小和形状,以及AMBA 高速总线 (AHB)的物理长度。在Agere的最新技术(0.13um)里,已获得不止两倍的性能,同时使用AMBA 3.0 AXI协议,克服了AHB的局限性。
子系统设计工艺基础是Agere的 "AHB Supercore macrocell"。 Agere利用子系统的开发经验,使Supercore满足了SoC设计的要求。这就要求更改TCM配置,包括将部分数据TCM内存映射变为双口RAM。而且,增加了一个双向的外部存储接口(EMI) 和一个定制的矢量中断控制器(VIC)。 测试设计功能性
一旦完成ARM966E-S子系统的RTL设计,Agere的工程师就创建了一套系统测试,以证明设计的功能性。除了可以测试ARM提供的矢量外,还可以测试合成的ARM966E-S核心的有效性。用于测试子系统的测试基准使用了Synopsys LMC (逻辑模型化公司)软内存模式仿真TCM。
该测试组件还用于检验各个步骤的分块合成和构造。一旦子系统设计人员确定了整个设计的合成,就会在融合到整个SoC设计前,将单独的验证结果传给SoC设计人员。为了遵守ARM许可协议,无需ARM966E-S门级连线表,而是与ARM966E-S DSM系统仿真的DSM(设计仿真模式)一并传给第三方。
这是一个复杂的SoC设计,不仅需要测试性能,还需要相关的调试。将BIST、SCAN和边界扫描结构包含在内,才有可能对整个设计的高故障覆盖生产进行测试。如果需要调试,除了需要一个结构外,还需添加支持ICE在线仿真的ETM9 (内置的踪迹模块)。
尤其是扫描技术,它不同于以往一次性扫描整个芯片的方法。每个分层的扫描都是单独进行的,然后合并起来进入上一级。这里主要的工作区将所有以前扫描过的子模块当作黑盒子来处理,直至插入了扫描。之后在填写设计连线表前,子模块代替设计中的黑盒子,为上一级扫描和合并做准备。这个过程在4 种不同层次上都有重复。从设计开始,Synopsys已发布了新版的设计编译器,Agere用它成功扫描和编译了许多复杂的分级设计,而无需精心制作的脚本。
边界扫描结构设计使所有IO计时在IO和电压转换结构中都是可预料的。这应当通过创建IO缓冲和边界扫描物理布局宏单元获得。这些宏单元与Agere的BCADu软件相结合,建立最高级IO连接。每种接入接出宏单元都转换为正确的电压,并接收不同的扫描输入和输出。
这就意味着功能信号在核心内不会与扫描信号相混淆。从而,随着设计的进行,实现从顶级透视预测整个时序。IO环设计的另一特性是将边界扫描时钟TCK发送给数据的另一端。这就消除了与TCK有关的任何保留时序问题,同时意味着不必担心时序平衡和芯片外围的TCK时钟树。
由于这种设备是基于ARM的,且具有ICE性能,与IO边界共享JTAG端口,所以需要进行扫描。设计的TDO针需要在每两个测试结构间复用。为了实现这一特性,将边界扫描控制器(Agere开发的BCAD软件部分)变为可支持边界扫描或ICE。
复杂设计需要足够的调试性能
ICE和ETM性能都添加到SoCy设计中。在设计规格阶段,为每个ARM966E-S提供一个独立的ETM9,费用会很大,而且因为8 个ARM966E-S都具有同一功能,所以只需要其中的一个ARM966E-S。因此单个的ETM9放在核心最上层,并连接到单芯片的单ARM966E-S核心中,其它三个芯片的ETM接口未被连接。
SoC 设计的ICE性能需要依靠所有8个ARM966E-S核,能经由设备的JTAG端口,通过TDI/TDO信号进行通信。因为拥有多个JTAG端口的解决方案并不很实用,因而有必要利用ARM966E-S的菊花链通信性能。菊花链控制的说明见图3。菊花链系列连接要求在每两个ARM966E-S核间进行数据传送,并意味着较低级别的TCK时钟平衡变得重要了。为了使多ICE能以实用的调试速率运行,TCK时钟树必须首先在芯片间,然后在芯片内的ARM966E-S间达到平衡。