调试设计:芯片设计中必不可少之举
内部状态。Bay 的逻辑设计总监Jun-wen Tsong将这种方法描述为多阶段验证流程。
“首先,我们在模块级实现芯片。在这种模式下,每个模块都被隔离开来:我们可以注入足够的状态启动其运行,然后观察其独立运行特点。”这些测试必须在最大时钟速度下进行,以保证精度。这样,设计师就可实现对一串处理器每级的调试。此时,设计师还将I/O 环与内部模块隔离,使输入可直接进入输出FIFO中。Bay 的设计师在独立验证I/O 环和内部模块后,再将两者结合起来整体地测试芯片。
以整个芯片全速运行采集数据,需要制定全面的计划。单个处理器中的调试内核必须不仅可以识别本地指令和数据字,而且大的图像数据对芯片运行也是十分重要的:如数据包和数据封包。另外,36位总线贯穿整个芯片,可实时将关键信号从任何模块传输到封装脚。使芯片以全速处理包时,调试工程师可以观察模块的运行。此外,硬件实时监测特定的断言,如FIFO full/empty 断言。Broadcom 也有类似的方法。Hublitz告诉我们,他们公司的无线局域网芯片有足够的内部调试硬件,工程师可以在整个芯片上跟踪向量幅度,从输入到基带直到输出。
在一个模块内一旦将问题隔离到一个功能上时,基于类似DFT 的策略,调试工程师可使用低级的诊断工具。Bay 杰出的工程师兼芯片架构师Barry Lee 说:“我们在模块中有对触发和单步的时钟控制,并可扫描我们认为重要的信号。理想情况下,我们可以确切地了解一个特殊的流水线如何执行到针脚和寄存器级别。”
模拟挑战
当涉及模拟电路时,一切都不一样了。“我们将模拟部分与数字电路分割开来进行调试”Lee 解释道。“对两者的调试技术是不一样的。在模拟领域,要打开环回途径,可能要将所有的调试拿到封装脚之外进行。由于在模拟电路中活动基元并不与时钟同步,因而无法对其进行捕捉。”
模拟电路与数字电路类似,随着几何尺寸的缩小,设计师已经看到了探测和实验设计的能力,Analog Devices的Paul Ferguson 认为。“我们习惯了将激光切割器用于探测台来修改电路。后来,随着几何尺寸的减小,我们转移到了聚焦离子束系统。对于250 nm 或更大的间距非常实用。这表明,实际上说,如果采用65nm 工艺,只能改动上面的两个金属层。”
这种情况引发了模拟设计风格的一个有趣的变化, Ferguson说。“最近我们在做一项90nm 设计的PLL,我们发现必须首先完成VCO(压控制振荡器),才能建立合适的模型。所以,我们引入了一些线路,将增益和其它参数调整到所能达到的上部金属层。这对于调试过程的确很有益处。”
Matt Ball 是单芯片无线电厂商Jennic公司的混合信号项目工程师,他也强调要将关键模拟信号置于可取位置的重要性。“我们加入了尽量多的可编程性和数字调整功能,”他说。“有些东西必须为金属微调的, 我们将那些位置变成单一的掩模层级别实现可访问性。”
除了将实时信号引到上部金属层或封装脚上,今天的模拟设计师还有其它武器设定及观察电路的状态。最重要的是在微细几何尺寸上进行,模拟电路与校准和监测它们的数字电路间要有密切的协作。
CSR的McCall 说在其设计中,ADC监测器可确定模拟电路中数字监视电路的多个点。这些点通过将转换器的输出接到封装的外部,为调试工程师提供了访问模拟部分行为的机会。“通常重要的模拟信号在某些点进行数字化处理了”Ball说。“为什么不进行采样,以片上DSP进行滤波,输出我们能够看到它的结果呢?”
设计滤波器或放大器以便数字电路能够调节所有重要电气特性,这似乎有些大动干戈了。但是在首次工作的芯片和在调试前有两层新金属掩模层的芯片之间产生的不同甚至可以启动设计的数字部分。而且,在小于90nm的工艺中,设计师必须面对越来越强的可变性,这些由数字调整就成了必须,这样才能生产足够数量的有用芯片。
如何进行调整?对于无线电芯片上信号的精度和频率,IF (中频)信号,在测试模式中可以只用布线和模拟多路复用将信号引出封装之外。“在中频部分,缓冲器非常有用。”Ball 说。“从重要的节点取得信号送到针脚,就可以看到需要看的结果。”Analog Devices的Ferguson也同意此观点。“就调试而言,往往不需要比模拟多路复用器所能提供的精确度高多少,就可以看到振荡或20% 的增益误差。”
如果不能将信号引到封装之外,有时可以将 信号路由到片上数据转换 器。“芯片上通常有一个附属ADC监测芯片温度,电池电压等等,”Ferguson 解释说。“在调试中我们将庞大的多路复用器置于其前面,用来检查模拟部分的其它节点。但要小心:额外的测量电路会损坏其它部分。例如,接通多路复用器观察节点,会提高稳定电路的振
荡能力。如果调试信号无意中跨过电源域,可以引入没有遇到过的寄生电流路径。”
Ball 也同意这种警告,必须选择适当的方法,他说:“缓冲模拟信号时所产生的10fF或20fF可改变节点的行为。” Jennic倾向于只根据以前出现问题的区域,如带隙电池,构建其调试方案。“我们更喜欢添加旁通电路,以防出现问题。”Ball补充说。这种保守思想可降低故障电路的出现机会。
经过计划,加上运气,以及一点雅致,可以重新利用功能模块进行调试。许多模拟信号在数据转换器中终止,所以至少其中部分是可观察的。Ferguson 指出,可以轻松地开关s-Δ转换器作为滤波器工作,以对进入的模拟信号进行观察。或者小心地将位流路由到针脚,在转换器两侧都可观察。一旦对数据进行数字化处理,就可以使用CPU 或DSP 模块调节及压缩或测试对其的断言。
也可以将调试智能(相当于简单的网络分析仪)构建到一个模块中。环回路径可使用发射器和接收器来互相检查(图 2),有些电路可以抽取结果的模拟波形。“在我们千兆位PHY (物理层)设计中,我们在PHY 块中捕捉到了一些模拟信号,”Broadcom Hublitz 介绍说。
评论