复用jtag接口的fpga片内逻辑分析仪系统和方法

文档序号:6338663阅读:359来源:国知局
专利名称:复用jtag接口的fpga片内逻辑分析仪系统和方法
技术领域
本发明涉及现场可编程门阵列(FPGA)技术领域,尤其涉及嵌入式调试系统复用现场可编程门阵列(FPGA)内部联合测试行动组(JTAG)接口和在线设置寄存器,来实现对现场可编程门阵列(FPGA)内部信号进行观测的方法。
背景技术
在采用现场可编程门阵列(FPGA)等硬件逻辑验证IC设计的过程中,通常需要逻辑分析仪来观测硬件逻辑的内部信号。一种验证方法类似于Altera公司推出的SignalTap 工具,将这些功能代码和被测试代码一起经过逻辑综合和布线生成配置文件,下载到现场可编程门阵列(FPGA)等硬件逻辑,然后在测试过程中进行信号采样并通过联合测试行动组(JTAG)接口传输到上位机进行分析。
实现FPAG片内逻辑分析仪系统要处理的主要的问题是信号存储和接口通信。当采样信号数量很多或者采样深度很大的情况下,存储大量的采样信号需要很多的存储资源,而现场可编程门阵列(FPGA)当中的存储器资源就会变得很紧张;另一个问题是接口通信,采用合适的硬件接口和传输协议来实现对现场可编程门阵列(FPGA)内部信号和状态数据的传输,直接影响到现场可编程门阵列(FPGA)片内逻辑分析仪系统的处理数据的能力。
信号存储的处理上,目前通常的做法是将采样到的数据存储到现场可编程门阵列 (FPGA)的逻辑单元,即现场可编程门阵列(FPGA)存储器中,等到采样结束后,再将采样到的数据从现场可编程门阵列(FPGA)存储器中提取出来,并通过联合测试行动组(JTAG)接口传送至上位机进行显示和存储。但是,采用此种方法仅适用于所要采样的信号量和采样深度低的环境,当要检测的信号量较大或需要较深的采样深度时,此种方法往往需要耗费大量的现场可编程门阵列(FPGA)等硬件逻辑资源。
接口通信的处理上,现阶段通常的做法是通过联合测试行动组(JTAG)接口实现计算机和现场可编程门阵列(FPGA)的通信,由于在一般的现场可编程门阵列(FPGA)芯片当中都自带有联合测试行动组(JTAG)接口用来实现下载和测试功能,复用联合测试行动组(JTAG)接口可以简化设计难度,但是目前复用联合测试行动组(JTAG)接口的方法太复杂,不便于实现联合测试行动组(JTAG)接口的复用,而且联合测试行动组(JTAG)接口的数据传输是串行的,如何保证采样数据和触发状态的同时传输也是一个需要解决的问题。
以下是对现场可编程门阵列(FPGA)片内逻辑分析仪系统的专利检索分析
Altera公司在申请日2002年4月14号,美国专利号6389558B1的专利中提出了使用电子设计自动化(EDA)软件工具的方法实现现场可编程门阵列(FPGA)片内逻辑分析仪的基本流程及其实现原理,并提出了利用触发条件寄存器来实现在线设置触发条件而无需重新编译的方法。
Altera公司在申请日2001年11月1号,美国专利号2001/0037477A1的专利中提出了实现复用联合测试行动组(JTAG)接口的方法,该方法主要包括使用未连接的I/O单元和使用边界扫描寄存器的方法,这两种方法都需要对JTAG扫描链执行复杂的操作。
Xilinx公司在申请日2004年7月6号,美国专利号6760898B1的专利中提出了基于现场可编程门阵列(FPGA)的片上系统(SOC)的自动化调试工具,用来减少片上系统 (SOC)验证中人工参与的复杂度。
申请日2008年4月22号,美国专利号2008/0116919A1的专利提出了一种调试现场可编程门阵列(FPGA)的方法,包括被测试设计、可配置的信号选择单元和一个高速串行发送器,同样的问题是,该发明是不使用现场可编程门阵列(FPGA)片内存储器资源进行采样信号的存储,必须外接逻辑分析仪进行信号分析。
Agilent公司在申请日2009年4月14号,美国专利号7519879B2的专利中提出了往现场可编程门阵列(FPGA)中插入追踪核,通过和联合测试行动组(JTAG)兼容的串行通道,控制多路选择器从多组信号中选择一组进行输出观测,但是由于数据通道是多位输出, 需要额外的输出管脚进行信号输出。
北京中星微电子有限公司在申请日2009年2月4号,中国专利号200710063841. 7 的专利提出了将采样信号存储到现场可编程门阵列(FPGA)片外的外部存储器,再通过从外部存储器读出数据到逻辑分析仪进行分析,以此来减少所需的现场可编程门阵列(FPGA) 片内存储器资源。发明内容
本发明的目的在于提供一种复用JTAG接口的FPGA片内逻辑分析仪系统和方法, 该系统通过复用现场可编程门阵列(FPGA)内部的联合测试行动组(JTAG)接口和在线设置采样选择寄存器的方法,来克服现有技术中使用片内存储器资源太多以及通信接口复杂的缺点,同时提出了一种利用联合测试行动组(JTAG)接口分时传输采样数据和触发状态信息的传输协议,来提高现场可编程门阵列(FPGA)片内逻辑分析仪的调试效率和可靠性。
本发明的目的是通过以下技术方案实现的
一种复用JTAG接口的FPGA片内逻辑分析仪系统,包括联合测试行动组(JTAG) 接口、片内逻辑分析仪(ELA)电路和人机界面模块,其人机界面模块和联合测试行动组 (JTAG)接口用联合测试行动组(JTAG)线缆连接,联合测试行动组(JTAG)接口的三个输入端TCK、TMS、TDI分别连到现场可编程门阵列(FPGA)内部固定的布线节点A、B、C ;现场可编程门阵列(FPGA)软件的布局布线系统对片内逻辑分析仪(ELA)电路的输入端口 TCKUSER、 TMSUSER、TDIUSER和输出端口 TD0USER进行约束,并将输入端口 TCKUSER、TMSUSER、TDIUSER 和输出端口 TD0USER分别连到内部固定节点A、B、C和联合测试行动组(JTAG)接口的D端口 ;其中
人机界面模块负责和联合测试行动组(JTAG)接口通信,通过用户操作控制联合测试行动组(JTAG)时序往联合测试行动组(JTAG)接口和片内逻辑分析仪(ELA)电路发送指令和数据,并接受来自联合测试行动组(JTAG)接口的采样数据和状态信息;
联合测试行动组(JTAG)接口是现场可编程门阵列(FPGA)片内的硬核,负责将从片内逻辑分析仪(ELA)电路发送过来的采样信息转发给人机界面模块,并对人机界面模块的联合测试行动组(JTAG)输入信号进行布线约束从而实现联合测试行动组(JTAG)接口的复用;
片内逻辑分析仪(ELA)电路,负责触发状态的判断、采样数据的存储及采样数据和触发状态的输出。
所述的复用JTAG接口的FPGA片内逻辑分析仪系统,其所述联合测试行动组 (JTAG)接口,通过比较联合测试行动组(JTAG)接口指令寄存器中内容和片内逻辑分析仪 (ELA)指令,当两者相等时才开始使能联合测试行动组(JTAG)接口,否则联合测试行动组 (JTAG)接口工作在其他指令模式;片内逻辑分析仪(ELA)寄存器用来接收从片内逻辑分析仪(ELA)电路传送回来的TD0USER数据,并通过多路选择器从联合测试行动组(JTAG)接口的TDO端口输出到人机界面模块。
所述的复用JTAG接口的FPGA片内逻辑分析仪系统,其所述联合测试行动组 (JTAG)接口的复用,由两方面组成
A)通过往联合测试行动组(JTAG)接口中增加片内逻辑分析仪(ELA)指令和片内逻辑分析仪(ELA)寄存器结构,用来支持联合测试行动组(JTAG)接口工作在不同的指令模式下,只有指令寄存器中为片内逻辑分析仪(ELA)指令时,联合测试行动组(JTAG)接口才工作在片内逻辑分析仪(ELA)指令模式下;
B)对联合测试行动组(JTAG)输入信号进行布线约束,从而实现联合测试行动组 (JTAG)接口和片内逻辑分析仪(ELA)电路之间的数据通路。
所述的复用JTAG接口的FPGA片内逻辑分析仪系统,其所述片内逻辑分析仪(ELA) 电路,包括联合测试行动组(JTAG)状态机、触发状态机、采样选择寄存器、触发条件寄存器、触发条件比较器、指令寄存器、采样存储器、存储器读写控制器、输出控制器及多路选择器;
TDI、TCK信号线分别接入指令寄存器、触发条件寄存器、采样选择寄存器,TMS、TCK 信号线接入联合测试行动组(JTAG)状态机,TCK信号线接入输出控制器第一输入端、采样存储器第二输入端;触发条件寄存器的输出接触发条件比较器的第二输入端;联合测试行动组(JTAG)状态机第一输出端、第二输出端分别接存储器读写控制器第二输入端、输出控制器第二输入端;采样选择寄存器输出端接多路选择器输入,输出控制器输出端接联合测试行动组(JTAG)接口 D端;
指令寄存器、触发条件比较器的输出端、联合测试行动组(JTAG)状态机第三输出端接触发状态机第二输入端;存储器读写控制器输出端接采样存储器第三输入端;
触发状态机、采样存储器的输出端接输出控制器第三输入端;
系统时钟信号分别接触发条件比较器、触发状态机、存储器读写控制器、采样存储器的第一输入端;触发信号接触发条件比较器第三输入端;采样信号经多路选择器接采样存储器第四输入端。
所述的复用JTAG接口的FPGA片内逻辑分析仪系统,其所述采样存储器,是现场可编程门阵列(FPGA)的片内双端口存储器。
所述的复用JTAG接口的FPGA片内逻辑分析仪系统,其所述人机界面模块,通过用户来设置参数,指定多组采样信号组、当前采样信号组、触发条件、采样时钟、采样深度以及采样模式,并根据用户指定的参数生成相应的片内逻辑分析仪(ELA)电路;人机界面模块还负责控制联合测试行动组(JTAG)接口的时序,对片内逻辑分析仪(ELA)电路的指令寄存器、采样选择寄存器及触发条件寄存器进行设置,其中
设置指令寄存器使得整个系统工作在片内逻辑分析仪(ELA)工作模式,片内逻辑分析仪(ELA)电路的触发电路和采样电路处在片内逻辑分析仪(ELA)工作模式之下时,联合测试行动组(JTAG)接口将片内逻辑分析仪(ELA)电路的采样数据和触发状态作为联合测试行动组(JTAG)接口的输出;
设置采样选择寄存器,控制写入采样存储器的数据是本次采样用户想要观察的数据,当观察不同组的采样信号组时,需要重新设置片内逻辑分析仪(ELA)电路的采样选择寄存器;
设置触发条件寄存器,触发条件寄存器中的值和触发信号的值经过触发条件比较器进行比较,只有触发条件比较器输出为正时,表示触发条件满足,当需要设置不同的触发条件时,需要重新设置片内逻辑分析仪(ELA)电路的触发条件寄存器。
一种复用JTAG接口的FPGA片内逻辑分析仪工作方法,其包括用户通过人机界面模块指定多组待采样信号和当前采样信号组;每次数据采样之前由人机界面模块通过联合测试行动组(JTAG)接口往采样选择寄存器中输入数据,以指定当前采样信号组;实际采样过程中,只有采样选择寄存器选中的采样信号组写入采样存储器,其他的采样信号组只有在重新设置采样选择寄存器后才可以进入采样存储器;选择不同的采样信号组进行存储只需重新设置采样选择寄存器中的值,而无需对现场可编程门阵列(FPGA)设计进行重新编译。
所述的复用JTAG接口的FPGA片内逻辑分析仪工作方法,其所述人机界面模块接收输出控制器送出的数据分为触发状态和采样数据两类;其中,触发状态包括四种空闲状态、等待触发状态、触发后状态和传数状态。
所述的复用JTAG接口的FPGA片内逻辑分析仪工作方法,其特征在于现场可编程门阵列(FPGA)和上位机通过联合测试行动组(JTAG)接口传输数据的协议为
A)对片内逻辑分析仪(ELA)电路的数据发送端而言,输出控制器对采样数据和触发状态进行并串转换并按照数据帧的格式进行组装输出。数据帧的帧头用来标志数据帧的开始位。在进行采样数据和触发状态的并串转换的同时进行循环冗余校验(CRC)数据的计算,并将循环冗余校验(CRC)数据在帧尾输出;
B)对上位机接收端而言,上位机根据帧头确定新一帧开始并开始按照顺序接收后面的数据内容。上位机将接收到的触发状态和采样数据进行循环冗余校验(CRC)编码,只有当上位机中计算得到的循环冗余校验(CRC)数据和接收到的循环冗余校验(CRC)数据相等时,才认为接收到的数据帧是有效帧,此时继续对上位机接收到的数据帧进行解析,否则丢弃该数据帧;当接收的触发状态为空闲状态、等待触发状态和触发后状态时,人机界面模块实时显示片内逻辑分析仪的工作状态;只有当接收到触发状态为传数状态时,才将接收到的数据作为采样数据进行解析;当所有采样深度个数据都被成功接收以后,人机界面模块动态刷新接收到的采样数据。
所述的复用JTAG接口的FPGA片内逻辑分析仪工作方法,其包括步骤
(a)通过人机界面模块设置片内逻辑分析仪(ELA)参数;
(b)根据片内逻辑分析仪(ELA)参数生成片内逻辑分析仪(ELA)电路,和待测模块一起进行编译并下载;
(c)人机界面模块控制联合测试行动组(JTAG)时序对指令寄存器、触发条件寄存器及采样选择寄存器进行设置;
(d)片内逻辑分析仪(ELA)电路对采样信号进行采样存储,并将采样数据和触发状态输出到人机界面模块进行显示;
(e)当需要添加其他分组的采样信号或改变触发条件时则跳到步骤(C)继续调试ο
所述的复用JTAG接口的FPGA片内逻辑分析仪工作方法,其所述步骤(d)包括步骤
(dl)当触发信号满足触发条件寄存器中的触发条件时,将采样选择寄存器选择的采样信号存入现场可编程门阵列(FPGA)片内存储器块;
(d2)触发状态的改变通过人机界面模块进行实时显示;
(d3)只有触发状态变为传数状态后,采样数据才开始送到人机界面模块;
(d4)人机界面模块接收到所有长度的采样数据后显示采样数据;
(d5)当片内逻辑分析仪(ELA)电路工作在连续模式下时重复步骤(d2)到步骤 (d4),否则本次采样周期结束。
本发明的一种复用JTAG接口的FPGA片内逻辑分析仪系统,通过布线约束实现了联合测试行动组(JTAG)接口的复用,利用在线设置采样选择寄存器选择采样信号,降低了对片内存储器资源的需求。复用了联合测试行动组(JTAG)接口控制多路选择器的选择,同时复用了联合测试行动组(JTAG)接口进行最终采样数据的输出,减少了输出管脚数量,且将采样信号使用内部存储器进行存储,无需外接逻辑分析仪。并且设计了一种简单有效的数据传输协议,利用该协议可以通过一个端口同时观测采样数据和触发状态并保证了数据传输的可靠性。
本发明的一种复用JTAG接口的FPGA片内逻辑分析仪工作方法,是通过在联合测试行动组(JTAG)接口中新增逻辑分析仪的使能指令,并在布线阶段实现联合测试行动组 (JTAG)接口和内部逻辑分析仪模块之间的数据连通,方法简单易行。并在已有技术的基础之上提出了在线设置采样信号而无需重新编译,通过复用联合测试行动组(JTAG)接口实现上位机和现场可编程门阵列(FPGA)之间的通信,并且联合测试行动组(JTAG)接口能分时传输采样数据和触发状态数据。


图1是本发明一种复用JTAG接口的FPGA片内逻辑分析仪系统的联合测试行动组 (JTAG)接口原理图2是本发明一种复用JTAG接口的FPGA片内逻辑分析仪系统的总体结构示意图3是本发明一种复用JTAG接口的FPGA片内逻辑分析仪系统的片内逻辑分析仪 (ELA)电路结构和流程示意图4是本发明一种复用JTAG接口的FPGA片内逻辑分析仪系统在线设置采样信号结构示意图5是本发明一种复用JTAG接口的FPGA片内逻辑分析仪系统的数据帧结构示意图6是本发明一种复用JTAG接口的FPGA片内逻辑分析仪系统的流程图。
具体实施方式
本发明的一种复用联合测试行动组(JTAG)接口的现场可编程门阵列(FPGA)片内逻辑分析仪系统的核心在于,通过增加指令和布线约束实现了联合测试行动组(JTAG)接口的复用,利用在线设置采样选择寄存器选择采样信号降低了对片内存储器资源的需求, 并且设计了一种简单可靠的数据传输协议实现同时观测采样数据和触发状态。
为了使本技术领域的人员更好的理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
如图1所示,本发明的一种复用联合测试行动组(JTAG)接口的现场可编程门阵列 (FPGA)片内逻辑分析仪系统,通过往联合测试行动组(JTAG)接口内部增加片内逻辑分析仪电路(ELA)寄存器和发送片内逻辑分析仪(ELA)指令,来实现联合测试行动组(JTAG)接口的复用。
联合测试行动组(JTAG)接口是现场可编程门阵列(FieIdProgrammabIe Gate Array,现场可编程门阵列(FPGA))中为实现与IEEEl 149. 1-2001协议兼容而加入的特定电路结构。其功能是完成IEEE1149. 1-2001协议所规定的各种功能,在现场可编程门阵列 (FPGA)中主要实现现场可编程门阵列(FPGA)配置下载和边界扫描等功能。在本发明系统中的联合测试行动组(JTAG)接口负责将从片内逻辑分析仪(ELA)电路发送过来的采样信息转发给人机界面模块,并对人机界面模块的联合测试行动组(JTAG)输入信号进行布线约束从而实现联合测试行动组(JTAG)接口的复用。
本实施例中,通过比较联合测试行动组(JTAG)接口指令寄存器中内容和片内逻辑分析仪(ELA)指令,只有当两者相等时才开始使能联合测试行动组(JTAG)接口,否则联合测试行动组(JTAG)接口工作在其他指令模式;片内逻辑分析仪(ELA)寄存器用来接收从片内逻辑分析仪(ELA)电路传送回来的TD0USER数据,并通过多路选择器从联合测试行动组(JTAG)接口的数据输出(TDO)端口输出到人机界面模块。
如图2所示,本发明一种复用联合测试行动组(JTAG)接口的现场可编程门阵列 (FPGA)片内逻辑分析仪系统的主体结构包括三个部分,即人机界面模块、联合测试行动组 (JTAG)接口以及片内逻辑分析仪(ELA)电路。
人机界面模块通过用户来设置参数,指定多组采样信号组、当前采样信号组、触发条件、采样时钟、采样深度以及采样模式等,并根据用户指定的参数生成相应的片内逻辑分析仪(ELA)电路;人机界面模块还负责控制联合测试行动组(JTAG)接口的时序,对片内逻辑分析仪(ELA)电路的指令寄存器、采样选择寄存器及触发条件寄存器进行设置,其中
设置指令寄存器使得整个系统工作在片内逻辑分析仪(ELA)工作模式,其片内逻辑分析仪(ELA)电路的触发电路和采样电路也处在片内逻辑分析仪(ELA)工作模式之下, 联合测试行动组(JTAG)接口将片内逻辑分析仪(ELA)电路的采样数据和触发状态作为联合测试行动组(JTAG)接口的输出;
设置采样选择寄存器,控制写入采样存储器的数据是本次采样用户想要观察的数据,当观察不同组的采样信号组时,都需要重新设置片内逻辑分析仪(ELA)电路的采样选择寄存器;
设置触发条件寄存器,触发条件寄存器中的值和触发信号的值经过触发条件比较器进行比较,只有触发条件比较器输出为真才表示触发条件满足,当需要设置不同的触发条件时,都需要重新设置片内逻辑分析仪(ELA)电路的触发条件寄存器。
图中人机界面模块和联合测试行动组(JTAG)接口用联合测试行动组(JTAG)线缆连接。联合测试行动组(JTAG)接口的三个输入端时钟信号(TCK)输入端、模式选择信号 (TMS)输入端、数据输入(TDI)输入端分别连到现场可编程门阵列(FPGA)内部固定的布线节点A、B、C;现场可编程门阵列FPGA)软件的布局布线系统对片内逻辑分析仪(ELA)电路的输入端口 TCKUSER、TMSUSER、TDIUSER和输出端口 TD0USER进行约束,并将他们分别布线到内部固定节点A、B、C和联合测试行动组(JTAG)接口的D端口。此数据通路保证了片内逻辑分析仪(ELA)电路既可以接收到来自人机界面模块的设置参数又可通过联合测试行动组(JTAG)接口向人机界面模块发送数据。
如图3所示,本发明一种复用联合测试行动组(JTAG)接口的现场可编程门阵列 FPGA)片内逻辑分析仪系统的片内逻辑分析仪(ELA)电路结构包括联合测试行动组(JTAG) 状态机、触发状态机、采样选择寄存器、触发条件寄存器、触发条件比较器、指令寄存器、采样存储器、存储器读写控制器以及输出控制器;
联合测试行动组(JTAG)状态机,用于接收从人机界面模块发送过来的状态控制信息,协调片内逻辑分析仪(ELA)电路的其他模块进行工作;
触发状态机,用于记录片内逻辑分析仪(ELA)电路的触发状态,触发状态包括空闲状态、等待触发状态、触发后状态以及传数状态;
采样选择寄存器,用于接收从人机界面模块发送过来的采样控制信息,选择采样信号中的其中一组进入采样存储器块;
触发条件寄存器,用于接收从人机界面模块发送过来的触发条件信息;
触发条件比较器,用于比较触发条件寄存器和实际触发信号,产生触发条件满足信号;
指令寄存器,用于接收从人机界面模块发送过来的指令信息,只有联合测试行动组(JTAG)接口和片内逻辑分析仪(ELA)电路的指令寄存器都为片内逻辑分析仪(ELA) 使能指令时,两个电路才同时工作在片内逻辑分析仪(ELA)状态下,否则片内逻辑分析仪 (ELA)电路不作触发判断和采样操作,联合测试行动组(JTAG)接口工作在其他指令模式。
采样存储器,用于接收经采样选择寄存器选择的采样数据并存储到特定地址;
存储器读写控制器,用于控制采样存储器的读写工作状态以及读写地址;
输出控制器,用于将触发状态和从采样存储器中读出的采样数据并串转换输出到联合测试行动组(JTAG)接口。
如图4所示,本发明一种复用联合测试行动组(JTAG)接口的现场可编程门阵列 (FPGA)片内逻辑分析仪系统的在线设置采样信号结构是将采样选择寄存器作为多路选择器的控制端选择多组采样信号中的一组进入采样存储器来实现。
连接到多路选择器的数据端的采样信号组由用户通过人机界面模块设置,采样选择寄存器由人机界面模块根据用户设置好的采样参数控制联合测试行动组(JTAG)时序写入。当用户需要观察不同的采样信号组时,无需对现场可编程门阵列(FPGA)设计进行重新编译,只需控制联合测试行动组(JTAG)时序往采样选择寄存器中写入相应的数据,即可实现同一次编译观察多组采样信号。由于进入每次采样的只有其中一组采样信号,观察相同信号时候,用本发明的实施思想可以极大地减少采样存储器资源。从电路面积和性能方面考虑,这种设计方法不但可以节省RAM资源,而且可以使得电路时序很容易得到满足。在时间效率方面,这种方法可以在保证时序稳定的前提下编译一次即可实现大量信号的调试, 节省了多次编译所需要的编译时间。
如图5所示,本发明一种复用联合测试行动组(JTAG)接口的现场可编程门阵列(FPGA)片内逻辑分析仪系统的数据帧包括帧头、触发状态、采样数据和循环冗余校验 (CRC)数据。
其中帧头用于确定新一帧的起始位,循环冗余校验(CRC)数据是对触发状态和采样数据进行循环冗余校验(CRC)后的值。触发状态分为四种空闲状态、等待触发状态、 触发后状态和传数状态。空闲状态为系统初始状态;等待触发状态表示片内逻辑分析仪 (ELA)系统开始触发前采样并等待触发条件的到来;触发后状态表示触发条件满足,继续进行触发后采样;传数状态将触发状态数据和采样数据按照数据传输帧的格式进行并串转换后输出。当所有采样数据全部输出后,触发状态重新回到空闲状态开始新一轮采样周期。 为了使多次采样过程中采样数据不产生混叠,每次采样前必须先用新数据对所有存储单元进行刷新。
本发明实施例定义了现场可编程门阵列(FPGA)和上位机通过联合测试行动组 (JTAG)接口传输数据的协议为
A)对片内逻辑分析仪(ELA)电路的数据发送端而言,输出控制器对采样数据和触发状态进行并串转换并按照数据帧的格式进行组装输出。数据帧的帧头用来标志数据帧的开始位。在进行采样数据和触发状态的并串转换的同时进行循环冗余校验(CRC)数据的计算,并将循环冗余校验(CRC)数据在帧尾输出;
B)对上位机接收端而言,上位机根据帧头确定新一帧开始并开始按照顺序接收后面的数据内容。上位机将接收到的触发状态和采样数据进行循环冗余校验(CRC)编码,只有当上位机中计算得到的循环冗余校验(CRC)数据和接收到的循环冗余校验(CRC)数据相等时,才认为接收到的数据帧是有效帧,此时继续对上位机接收到的数据帧进行解析,否则丢弃该数据帧;当接收的触发状态为空闲状态、等待触发状态和触发后状态时,上人机界面模块实时显示片内逻辑分析仪的工作状态;只有当接收到触发状态为传数状态时,才将接收到的数据作为采样数据进行解析;当所有采样深度个数据都被成功接收以后,人机界面模块动态刷新接收到的采样数据。
如图6所示,本发明一种复用联合测试行动组(JTAG)接口的现场可编程门阵列 (FPGA)片内逻辑分析仪系统的工作流程包含以下步骤
(a)通过人机界面模块设置片内逻辑分析仪(ELA)参数;
(b)根据片内逻辑分析仪(ELA)参数生成片内逻辑分析仪(ELA)电路,和待测模块一起进行编译并下载;
(c)人机界面模块控制联合测试行动组(JTAG)时序对指令寄存器、触发条件寄存器及采样选择寄存器进行设置;
(d)片内逻辑分析仪(ELA)电路对采样信号进行采样存储,并将采样数据和触发状态输出到人机界面模块进行显示;
(e)当需要添加其他分组的采样信号或改变触发条件时则跳到步骤(C)继续调试;
步骤(d)进一步分为以下步骤
(dl)当触发信号满足触发条件寄存器中的触发条件时,将采样选择寄存器选择的采样信号存入现场可编程门阵列(FPGA)片内存储器块;
(d2)触发状态的改变通过人机界面模块进行实时显示;
(d3)只有触发状态变为传数状态后,采样数据才开始送到人机界面模块;
(d4)人机界面模块接收到所有长度的采样数据后显示采样数据;
(d5)当片内逻辑分析仪(ELA)电路工作在连续模式下时重复步骤(d2)到步骤 (d4),否则本次采样周期结束。
本发明中复用联合测试行动组(JTAG)接口的方法和所有检索到相关领域的专利中提出的方法不同,本发明通过增加联合测试行动组(JTAG)接口中的指令,并通过在布线阶段连接联合测试行动组(JTAG)接口和片内逻辑分析仪模块的数据通路,实现联合测试行动组(JTAG)接口接收来自外部上位机的控制输入和输出来自逻辑分析仪的相关数据。 本发明解决片内存储器资源紧张的方法是通过外部上位机控制采样选择寄存器,采样选择寄存器控制多路选择器选择多路采样信号中的一组进行采样存储。当需要观察另外一组采样信号时,只需要再次改变采样选择寄存器中的内容,无需重新编译即可实现不同采样信号组的观察。另外,本发明公开了一种可以实现联合测试行动组(JTAG)串行接口分时传输采样信号和触发状态信息的一种方法。利用该方法,片内逻辑分析仪中的内部状态可以进行输出观测,片内逻辑分析仪中的可观察性大大增强。
权利要求
1.一种复用JTAG接口的FPGA片内逻辑分析仪系统,包括联合测试行动组接口、片内逻辑分析仪电路和人机界面模块,其特征在于人机界面模块和联合测试行动组接口用联合测试行动组线缆连接,联合测试行动组接口的三个输入端TCK、TMS、TDI分别连到现场可编程门阵列内部固定的布线节点A、B、C ;现场可编程门阵列软件的布局布线系统对片内逻辑分析仪电路的输入端口 TCKUSER、TMSUSER、TDIUSER和输出端口 TD0USER进行约束,并将输入端口 TCKUSER、TMSUSER、TDIUSER和输出端口 TD0USER分别连到内部固定节点A、B、C禾口联合测试行动组接口的D端口 ;其中人机界面模块负责和联合测试行动组接口通信,通过用户操作控制联合测试行动组时序往联合测试行动组接口和片内逻辑分析仪电路发送指令和数据,并接受来自联合测试行动组接口的采样数据和状态信息;联合测试行动组接口是现场可编程门阵列片内的硬核,负责将从片内逻辑分析仪电路发送过来的采样信息转发给人机界面模块,并对人机界面模块的联合测试行动组输入信号进行布线约束从而实现联合测试行动组接口的复用;片内逻辑分析仪电路,负责触发状态的判断、采样数据的存储及采样数据和触发状态的输出。
2.如权利要求1所述的复用JTAG接口的FPGA片内逻辑分析仪系统,其特征在于所述联合测试行动组接口,通过比较联合测试行动组接口指令寄存器中内容和片内逻辑分析仪指令,当两者相等时才开始使能联合测试行动组接口,否则联合测试行动组接口工作在其他指令模式;片内逻辑分析仪寄存器用来接收从片内逻辑分析仪电路传送回来的TD0USER 数据,并通过多路选择器从联合测试行动组接口的TDO端口输出到人机界面模块。
3.如权利要求1所述的复用JTAG接口的FPGA片内逻辑分析仪系统,其特征在于所述联合测试行动组接口的复用,由两方面组成A)通过往联合测试行动组接口中增加片内逻辑分析仪指令和片内逻辑分析仪寄存器结构,用来支持联合测试行动组接口工作在不同的指令模式下,只有指令寄存器中为片内逻辑分析仪指令时,联合测试行动组接口才工作在片内逻辑分析仪指令模式下;B)对联合测试行动组输入信号进行布线约束,从而实现联合测试行动组接口和片内逻辑分析仪电路之间的数据通路。
4.如权利要求1所述的复用JTAG接口的FPGA片内逻辑分析仪系统,其特征在于所述片内逻辑分析仪电路,包括联合测试行动组状态机、触发状态机、采样选择寄存器、触发条件寄存器、触发条件比较器、指令寄存器、采样存储器、存储器读写控制器、输出控制器及多路选择器;TDI、TCK信号线分别接入指令寄存器、触发条件寄存器、采样选择寄存器,TMS、TCK信号线接入联合测试行动组状态机,TCK信号线接入输出控制器第一输入端、采样存储器第二输入端;触发条件寄存器的输出接触发条件比较器的第二输入端;联合测试行动组状态机第一输出端、第二输出端分别接存储器读写控制器第二输入端、输出控制器第二输入端;采样选择寄存器输出端接多路选择器输入,输出控制器输出端接联合测试行动组接口 D端;指令寄存器、触发条件比较器的输出端、联合测试行动组状态机第三输出端接触发状态机第二输入端;存储器读写控制器输出端接采样存储器第三输入端;触发状态机、采样存储器的输出端接输出控制器第三输入端;系统时钟信号分别接触发条件比较器、触发状态机、存储器读写控制器、采样存储器的第一输入端;触发信号接触发条件比较器第三输入端;采样信号经多路选择器接采样存储器第四输入端。
5.如权利要求1所述的复用JTAG接口的FPGA片内逻辑分析仪系统,其特征在于所述采样存储器,是现场可编程门阵列的片内双端口存储器。
6.如权利要求1所述的复用JTAG接口的FPGA片内逻辑分析仪系统,其特征在于所述人机界面模块,通过用户来设置参数,指定多组采样信号组、当前采样信号组、触发条件、采样时钟、采样深度以及采样模式,并根据用户指定的参数生成相应的片内逻辑分析仪电路; 人机界面模块还负责控制联合测试行动组接口的时序,对片内逻辑分析仪电路的指令寄存器、采样选择寄存器及触发条件寄存器进行设置,其中设置指令寄存器使得整个系统工作在片内逻辑分析仪工作模式,片内逻辑分析仪电路的触发电路和采样电路处在片内逻辑分析仪工作模式之下时,联合测试行动组接口将片内逻辑分析仪电路的采样数据和触发状态作为联合测试行动组接口的输出;设置采样选择寄存器,控制写入采样存储器的数据是本次采样用户想要观察的数据, 当观察不同组的采样信号组时,需要重新设置片内逻辑分析仪电路的采样选择寄存器;设置触发条件寄存器,触发条件寄存器中的值和触发信号的值经过触发条件比较器进行比较,只有触发条件比较器输出为正时,表示触发条件满足,当需要设置不同的触发条件时,需要重新设置片内逻辑分析仪电路的触发条件寄存器。
7.一种复用JTAG接口的FPGA片内逻辑分析仪工作方法,其特征在于包括用户通过人机界面模块指定多组待采样信号和当前采样信号组;每次数据采样之前由人机界面模块通过联合测试行动组接口往采样选择寄存器中输入数据,以指定当前采样信号组;实际采样过程中,只有采样选择寄存器选中的采样信号组写入采样存储器,其他的采样信号组只有在重新设置采样选择寄存器后才可以进入采样存储器;选择不同的采样信号组进行存储只需重新设置采样选择寄存器中的值,而无需对现场可编程门阵列设计进行重新编译。
8.如权利要求7所述的复用JTAG接口的FPGA片内逻辑分析仪工作方法,其特征在于 所述人机界面模块接收输出控制器送出的数据分为触发状态和采样数据两类;触发状态包括四种空闲状态、等待触发状态、触发后状态和传数状态,其中空闲状态为系统初始状态; 等待触发状态表示片内逻辑分析仪系统开始触发前采样并等待触发条件的到来;触发后状态表示触发条件满足,继续进行触发后采样;传数状态将触发状态数据和采样数据按照数据传输帧的格式进行并串转换后输出。当所有采样数据全部输出后,触发状态重新回到空闲状态开始新一轮采样周期。为了使多次采样过程中采样数据不产生混叠,每次采样前必须先用新数据对所有存储单元进行刷新。
9.如权利要求7所述的复用JTAG接口的FPGA片内逻辑分析仪工作方法,其特征在于 为了在人机界面模块分辨所述触发状态和采样数据并保证数据传输的可靠性,现场可编程门阵列和上位机通过联合测试行动组接口传输数据的协议为A)对片内逻辑分析仪电路的数据发送端而言,输出控制器对采样数据和触发状态进行并串转换并按照数据帧的格式进行组装输出。数据帧的帧头用来标志数据帧的开始位。在进行采样数据和触发状态的并串转换的同时进行循环冗余校验数据的计算,并将循环冗余校验数据在帧尾输出;CN 102541707 AB)对上位机接收端而言,上位机根据帧头确定新一帧开始并开始按照顺序接收后面的数据内容。上位机将接收到的触发状态和采样数据进行循环冗余校验编码,只有当上位机中计算得到的循环冗余校验数据和接收到的循环冗余校验数据相等时,才认为接收到的数据帧是有效帧,此时继续对上位机接收到的数据帧进行解析,否则丢弃该数据帧;当接收的触发状态为空闲状态、等待触发状态和触发后状态时,人机界面模块实时显示片内逻辑分析仪的工作状态;只有当接收到触发状态为传数状态时,才将接收到的数据作为采样数据进行解析;当所有采样深度个数据都被成功接收以后,人机界面模块动态刷新接收到的采样数据。
10.如权利要求7所述的复用JTAG接口的FPGA片内逻辑分析仪工作方法,其特征在于包括步骤(a)通过人机界面模块设置片内逻辑分析仪参数;(b)根据片内逻辑分析仪参数生成片内逻辑分析仪电路,和待测模块一起进行编译并下载;(c)人机界面模块控制联合测试行动组时序对指令寄存器、触发条件寄存器及采样选择寄存器进行设置;(d)片内逻辑分析仪电路对采样信号进行采样存储,并将采样数据和触发状态输出到人机界面模块进行显示;(e)当需要添加其他分组的采样信号或改变触发条件时则跳到步骤(c)继续调试。
11.如权利要求10所述的复用JTAG接口的FPGA片内逻辑分析仪工作方法,其特征在于所述步骤(d)包括步骤(dl)当触发信号满足触发条件寄存器中的触发条件时,将采样选择寄存器选择的采样信号存入现场可编程门阵列片内存储器块;(d2)触发状态的改变通过人机界面模块进行实时显示; (d3)只有触发状态变为传数状态后,采样数据才开始送到人机界面模块; (d4)人机界面模块接收到所有长度的采样数据后显示采样数据; (d5)当片内逻辑分析仪电路工作在连续模式下时重复步骤(d2)到步骤(d4),否则本次采样周期结束。
全文摘要
本发明公开了一种复用JTAG接口的FPGA片内逻辑分析仪系统和方法,涉及现场可编程门阵列技术,用来实现现场可编程门阵列(FPGA)内部信号的调试和观测,主要包含复用的联合测试行动组(JTAG)接口、可在线选择不同采样信号的片内逻辑分析仪电路以及同时接收采样信号和触发状态的人机界面模块。本发明的有益之处在于,提供了一种复用联合测试行动组接口的方法来实现片内逻辑分析仪系统,通过在线选择采样信号降低了片内逻辑分析仪系统对片内采样存储器资源的需求,其中所需的存储器资源数量和采样信号组的数量成反比,并提出了一种可以实现联合测试行动组分时传输采样信号和触发状态信息的方法,提高了现场可编程门阵列调试的效率。
文档编号G06F11/25GK102541707SQ201010588370
公开日2012年7月4日 申请日期2010年12月15日 优先权日2010年12月15日
发明者杨海钢, 谭宜涛 申请人:中国科学院电子学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1