自适应时钟技术在芯片设计与验证中的应用(三)(转)
2.3 多芯片级联结构
双向同步自适应时钟技术完全支持IEEEll49.1协议中定义的各种多芯片间JTAG信号板级互联结构。多芯片级联情况下,通过式(9)或式(13),根据每一块芯片的工作主频都能计算得到一个对应的TCK频率值。整个级联系统最终使用的JTAG时钟信号TCK的最高工作频率不能超过所有TCK频率值中最小的那个。如图5所示。

采用并行互联结构的JTAG链路,多芯片自适应时钟连接方式与单芯片连接方式一致,每块芯片都提供一路被自身时钟域所同步的自适应时钟TCK_RET,如图5(a)所示。
对于采用串行菊花链结构的JTAG链路,自适应时钟TCK_RET仅来自于链路上最接近TDO输出端一侧的那块芯片,其他芯片不提供自适应时钟,如图 5(b)所示。
对于串/并混合连接的多芯片JTAG链路,自适应时钟的连接是上述两种连接方式的混合,如图5(c)所示。
多芯片系统的JTAG连接方式一般都采用串行菊花链结构,从而确保其JTAG链路与仿真器接口与单芯片情况下一致,并能够简化系统设计。
3 自适应时钟技术在芯片验证中的应用
随着嵌入式处理器设计的规模越来越大,复杂度越来越高,功能验证已经成为设计过程中的首要瓶颈。为了提高验证速度,通常采用专门的硬件加速器,笔者参与的高性能DSP设计项目采用了Cadence公司XtremeⅢ硬件加速器,以加速设计功能的验证。XtremeⅢ是基于FPGA的硬件模拟器,它是专门为运行模拟(Simulation)而特别设计的计算机。硬件模拟器只能验证逻辑功能,而不能验证时序性质,因为来自FPGA网络或者处理器的时延与系统设计过程中的时延无关。使用硬件模拟器时,主要瓶颈是硬件模拟器与主机之间的交互(又称系统调用)。因此,在软/硬件协同验证中。真实的硬件系统在与基于硬件模拟器的系统发生信号交互时,时序匹配成为最大的难题。

图6说明了硬件模拟器的时钟与真实硬件系统时钟间的差别。真实硬件系统产生的是绝对时钟信号,它的周期是一个固定值T,如图6(a)所示。硬件模拟器与软件模拟器类似,只有相对时钟概念。它在被模拟系统的时钟上升沿和下降沿处分别计算系统中所有的事件,如图6(b)所示。对于特定的设计,无系统调用时,虚拟时钟信号周期Ts=TR+TF基本上是常值,其中,TR为上升沿计算所有事件所需的时间;TF为下降沿计算所有事件所需的时间会产生;当发生系统调用时 (比如仿真时的系统函数调用等),额外的延时△t(△t=△t1+△t2),使得当前周期增大为Ts+△t。因此硬件模拟器中的时钟信号周期是无规律变化的,而且受系统调用频度以及系统调用复杂度(即△t的大小)的影响。

嵌入式处理器的调试系统需要采用系统级的软/硬件协同验证,包括软件开发和调试环境、仿真器系统、处理器系统三部分。在该DSP设计项目中,软件环境(运行在PC机上)和仿真器系统(基于FPGA开发板)都采用真实系统,而DSP则在XtremeⅢ模拟器中实现。仿真器与DSP之间通过JTAG信号进行通信。仿真器采用图3所示的双向同步自适应时钟技术,仿真器发送给DSP的TCK信号特征与图6(a)相同,而DSP反馈给仿真器的同步时钟TCK_RET 信号特征与图6(b)相同。因此,在TCK Generator中设计图7所示的算法,从而完全解决了真实硬件系统与硬件模拟器之间的JTAG信号传输时序匹配问题。实验中,设定TCK的工作频率为 40 kHz。未采用双向自适应同步时钟技术时,仿真器与xtremeⅢ硬件模拟器之间的JTAG信号传输经常发生TCK_RET时钟沿丢失(等效时钟频率约为 20 kHz),导致仿真器无法正确采样TDO数据,如图8(a)所示。采用双向自适应时钟后,尽管整个验证系统中TCK时钟信号的实际工作频率约为20 kHz,但持续不间断工作72 h以上未发现JTAG信号传输错误,从而证明系统能够正常工作,如图8(b)所示。

4 结语
为解决高性能嵌入式处理器或DSP与仿真器之间JTAG信号传输稳定性问题,提出了一种双向同步自适应时钟技术。该技术在同步电路中引入了异步电路的应答机制,巧妙解决了由于嵌入式处理器或DSP(尤其是针对低功耗设计的处理器,它的工作主频会随着负载变化而变化)本身主频变化导致的JTAG信号传输失效。此外,该技术还为软、硬件协同验证中真实系统与硬件模拟器之间信号传输提供了可靠的解决方案。在随后的工作中,将继续研究自适应时钟技术在各种系统跨时钟域信号传输中的应用。从而进一步拓展该技术的适用范围。
