嵌入式逻辑分析仪在FPGA时序匹配设计中的应用
引言
随着FPGA器件规模的不断增加、封装密度不断提高,传统逻辑分析仪在FPGA板级调试中的应用日益困难。为此,主流FPGA厂商相继在其开发工具中增加了嵌入式逻辑分析仪(ELA) IP软核,如Lattice在ispLEVER中提供的ispTRACY,Xilinx在ISE中提供的ChipScopePro,Altera在Quartus II提供中的Signal Tap II等。ELA在FPGA内部预先设计探测点和测试逻辑,可在软件工具的配合下对FPGA设计进行较全面的测试。采用ELA,只需用JTAG下载电缆连接待调试的FPGA器件,占用FPGA的部分逻辑资源和内部存储器资源,无需传统的逻辑分析仪就可以观察FPGA的内部信号和I/O引脚的状态。
以我们开发的全彩LED同步显示控制系统为例,该系统包括采集、传输、接收等模块,FPGA为Altera Cyclone系列PQFP封装的EP1C6Q240C8,逻辑单元(LE)数量为5980个,RAM大小为92160 bit。使用Quartus II软件首次对设计文件进行综合布局和布线,将布线好的工程下载到FPGA板上运行时,全彩LED屏显示效果非常差,图像闪烁且左右移动。根据Quartus II编译报告可以看出,该工程消耗的器件资源仅为26%,但是却占用了90%的引脚,留给外部测试的引脚仅为10%,使得利用Quartus II内部集成软件测试的优势得以体现。为了找出设计缺陷,采用Signal Tap II采集到FPGA内各个关键信号的波形,根据波形找出原因在于LED显示屏接收板中的数据信号较控制信号形成了延时,造成了时序不匹配。
本文介绍的FPGA时序匹配设计方法,利用Quartus II软件中的Signal Tap II采集FPGA内部信号波形,通过比较分析采集的数据,可得出精确的延时信息。在Signal Tap II时序测试结果的指导下改进了设计,经实际电路的波形测试证明,LED显示屏接收板中的数据信号与控制信号时序匹配良好。
Signal Tap II
Signal Tap II是Altera公司FPGA开发软件Quartus II中的一个实用工具,能够捕获、显示FPGA内部节点或I/O引脚实时信号的状态,帮助设计者在系统设计时观察硬件和软件的交互作用。
图1为Signal Tap II嵌入式逻辑分析仪采集数据的原理框图。其中CLK(采样时钟)和Trigger(触发逻辑)可以根据需要设定。在Signal Tap II工作时,待测试信号在CLK的上升沿被嵌入式逻辑分析仪实时捕获,经FPGA内部的RAM缓存后,通过JTAG接口传送至Quratus II软件中显示。其中,RAM缓存方式有连续存储和分段存储。JTAG接口用的下载电缆包括USB Blaster、ByteBlasterMV、ByteBlaster II或MasterBlaster等。这些在Signal Tap II工作窗口可以灵活设置。
嵌入式逻辑分析仪捕获数据的流程如图2所示。首先判断时钟的上升沿是否满足,不满足继续等待时钟,满足先捕获前触发数据,触发级别满足后,捕获后触发数据,然后清除数据,结束该捕获流程。其中Signal Tap II最多可支持10级触发级别。触发级别高意味着可接收更复杂的数据获取命令,提供更高的精度和问题解决能力。
使用Signal Tap II设计时序匹配电路
延时的产生
在LED全彩大屏同步显示控制系统中,针对占空比控制亮度损失大的问题,在显示驱动控制模块设计中采用了分场叠加与占空比控制相结合的方法对存储的图像数据进行分场扫描,实现了低亮度损失、800×512分辨率、256级灰度LED全彩大屏的显示。其中,“分场叠加”是指:前端将一幅彩色图像的数据按灰度级分解为多个位平面,终端根据不同位平面数据扫描不同的场次,在有限时间内实现各场次的叠加,从而在LED全彩大屏上重建彩色图像。
图3为位面分离模块在Quartus II软件中生成的引脚图。其中RGBdin[23..0]为输入的颜色数据(R、G、B三种颜色各八位),clkin156为输入数据时钟,clk_after85pc为延时后的使能信号,rst_bit_regroup为移位寄存器的复位信号,rst_mux为颜色位选择器的复位信号,rgb_regroup_output[23..0]是经过数据重组后输出的数据。
“位面分离模块”实现“分场存储”功能,即将每个颜色的8比特数据(以256级灰度为例)按灰度级分类,分别存入存储器的8个数据段中。位平面的分离需要时间,将带来系统延时。图4为利用Signal Tap II采集的输入数据RGBdin[23..16]和输出数据rgb_regroup_output[23..16]的波形关系。其中采样时钟设置为clk38 (CRT显示器分辨率为800×600,刷新频率为60Hz,输出的点时钟为38MHz),采样深度设置为4K bit,则Signal Tap II采集波形时占用了16×4K=64K bit个存储单元。
由图4 (黑色亮线)可以看出,输出数据在第9个时钟(clk38)时由FF(高阻)变成有效数据。该模块的输出数据是送到外部存储
- 便携式逻辑分析仪的设计与实现(10-29)
- SD卡中逻辑分析仪的应用(03-22)
- 逻辑分析仪介绍(01-29)
- 逻辑分析仪的工作原理(01-29)
- 12位串行A/D转换器MAX187的应用(10-06)
- AGC中频放大器设计(下)(10-07)