CN107608846A - 一种针对fpga内嵌tap接口的调试链路及调试方法 - Google Patents

一种针对fpga内嵌tap接口的调试链路及调试方法 Download PDF

Info

Publication number
CN107608846A
CN107608846A CN201710765377.XA CN201710765377A CN107608846A CN 107608846 A CN107608846 A CN 107608846A CN 201710765377 A CN201710765377 A CN 201710765377A CN 107608846 A CN107608846 A CN 107608846A
Authority
CN
China
Prior art keywords
debugging
jtag
tap
fpga
link
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710765377.XA
Other languages
English (en)
Other versions
CN107608846B (zh
Inventor
娄冕
张洵颖
杨博
崔媛媛
赵翠华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Microelectronics Technology Institute
Original Assignee
Xian Microelectronics Technology Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Microelectronics Technology Institute filed Critical Xian Microelectronics Technology Institute
Priority to CN201710765377.XA priority Critical patent/CN107608846B/zh
Publication of CN107608846A publication Critical patent/CN107608846A/zh
Application granted granted Critical
Publication of CN107608846B publication Critical patent/CN107608846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明公开了一种针对FPGA内嵌TAP接口的调试链路及调试方法,通过设置一个UART串口作为片上互连总线上的主机,为调试软件提供发起片上访问的通信链路,并将用户自定义的JTAG与TAP链路上的观测点以从机的形式也映射到片上互连总线的虚拟从机中,通过串口调试软件实时检查观测点的状态,确认用户自定义设计的正确性。本发明具有调试范围广泛、可观性高且易于操作的特点,所需要的软硬件环境都是成熟设计,无需新增研发任务即可快速实现调试目的,相对于示波器调试需要反复修改和综合设计,本发明将观测点大规模的集成于片上可寻址空间,只需要一次设计就可完成所有的调试任务,能够大幅度缩短调试周期。

Description

一种针对FPGA内嵌TAP接口的调试链路及调试方法
技术领域
本发明属于集成电路设计与测试技术领域,具体涉及一种针对FPGA内嵌TAP接口的调试链路及调试方法。
背景技术
在芯片设计领域,从RTL代码到芯片实现过程中,FPGA的原型验证是必不可少的环节,它为最终芯片的成功流片提供了最接近物理现实的验证手段。这种代价低、可反复利用的验证平台,不仅被成本风险要求极高的商用芯片开发商高度重视,同样被可靠性要求苛刻的军用芯片应用视为安全可靠的重要凭证。
对于一般的ASIC设计代码,均可以在FPGA和ASIC之间相互兼容。然而,诸如存储器、PLL、TAP类的宏单元需要调用FPGA自身的硬件原语。这类原语中存储器、PLL均可以提供仿真模型,因此在仿真阶段就可以评判设计的正确与否。然而,以TAP为代表的宏单元并不提供仿真模型,它仅提供一个激活FPGA自带TAP控制器的原语接口,并没有物理实体。如果将集成TAP的设计综合到FPGA时,一般无法通过仿真的手段检查其功能正确性,只能依靠前期ASIC代码的正确性以及移植过程中设计者的经验进行预估。当下载到FPGA之后,由于传统FPGA的调试是通过自带下载器连接JTAG和TAP进行,而现在芯片的JTAG和TAP被现有的逻辑功能所使用,使得FPGA自带的开发调试环境无法继续使用,导致整个芯片设计陷入无法调试的困境。
对于这种情形,如果是小型设计,可以通过将内部的关键信号引出到PCB板上的插针上,然后利用示波器的触发功能进行定点观测,以单步的方式递进式的调试整个设计的正确性。但是,这种方法具有较多的局限性:首先,该方法耗时且问题定位过于发散,它需要人工反复更新代码引出观测点,且可能会破坏原始设计结构;其次,这种调试方法受限于示波器的通道数目,它对于内部的并行数据、状态机信号等无能为力,这将使得该方法进一步捉襟见肘;最后,示波器的捕获信号深度也十分有限,在信号触发后往往只能观测到若干位的信号变化,这也不利于故障原因的定位。
JTAG接口及TAP控制器是IEEE标准测试规范,因此利用该接口实现芯片的调试功能具有极高的实用意义。然而,FPGA开发商早已将JTAG口和TAP控制器内嵌于设计开发调试环境中,因此一旦用户重新例化了TAP控制器用于自身的功能设计,则FPGA的设计开发调试环境将无法应用,也将无法对芯片的设计进行有效的调试。因此,解决FPGA内嵌TAP的再调试问题,能够有效缩短ASIC芯片JTAG功能的研发时间,提高芯片内部设计的调试透明度,对于芯片的可靠性验证具有非常重大的应用价值。经检索相关专利,尚未发现有解决该问题的方法。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种针对FPGA内嵌TAP接口的调试链路及调试方法,一方面解决FPGA的内嵌宏单元TAP不提供仿真模型,造成无法在仿真阶段保证RTL设计正确性的问题;另一方面,该技术用于解决一旦用户自定义使用TAP进行功能设计,将造成FPGA自带的开发调试环境无法继续使用的局面,而这将使得用户无法通过该开发环境对用户的设计进行调试。
本发明采用以下技术方案:
一种针对FPGA内嵌TAP接口的调试链路,通过设置一个UART串口作为片上互连总线上的主机,为调试软件提供发起片上访问的通信链路,并将用户自定义的JTAG与TAP链路上的观测点以从机的形式也映射到片上互连总线的虚拟从机中,通过串口调试软件实时检查观测点的状态,确认用户自定义设计的正确性。
进一步的,包括上位机和FPGA,所述上位机内分别设置有用户程序和串口调试两部分,所述用户程序经过USB接口、下载器连接至所述FPGA形成JTAG链路;所述串口调试分别经过TXD和RXD信号与所述FPGA上设置的UART接口连接形成UART链路。
进一步的,所述JTAG链路用于驱动JTAG和TAP控制器的用户程序,具体为:FPGA将USB驱动信号发给上位机的USB接口,然后USB信号经过下载器转换成JTAG标准信号后发给FPGA的JTAG接口,经过TAP控制器的状态迁移,将JTAG的串行数据按照对应用户指令的格式传递给协议转换单元,完成JTAG串行信号到JTAG并行信号的转换。
进一步的,所述TAP控制器中的观测点信号引出至状态寄存器中,并将所述状态寄存器作为片上的一个虚拟从机,所述UART调试链路通过访问所述虚拟从机实时获取到用户自定义TAP控制器的状态信息。
进一步的,所述JTAG链路和UART链路均连接至主机接口,所述主机接口用于对片上互连总线上的从机发起主机访问时序,各从机接收到片上互连总线转换后的从机时序后,将被访问信息按照JTAG链路或UART链路传送回所述上位机。
一种针对FPGA内嵌TAP接口调试链路的调试方法,包括以下步骤:
S1、启动上位机中运行的用户程序及串口调试软件;
S2、用户程序驱动JTAG发出TAP的复位信号,复位信号将会被虚拟从机中的状态寄存器捕获,如果UART串口观测到该信号,则调试链路正确,否则错误;
S3、用户程序驱动JTAG发出用户自定义串行指令码,通过UART串口观测该状态寄存器,如果捕获成功,说明指令移入正确,反之则错误;
S4、用户程序发出该指令码对应的串行数据,由于数据并不像指令会产生选通信号,因此需要将串并转换后的数据记录在状态寄存器中,此时UART串口读出该寄存器值进行比较,如果与用户程序一致,则设计正确,否则设计错误。
进一步的,步骤S1中,在没发送用户程序前,先利用串口检测片上虚拟从机中的各状态寄存器复位值是否符合预期,如果有误,则证明调试链路有误。
进一步的,步骤S3中,用户程序驱动JTAG发出用户自定义串行指令码,状态寄存器捕获该指令码在Capture-IR状态下生成的对应数据寄存器的选通信号。
进一步的,步骤S4中,如果调试流程还要继续,则重新从JTAG打入新的指令继续观测,否则结束调试流程。
与现有技术相比,本发明至少具有以下有益效果:
本发明针对FPGA内嵌TAP接口的调试链路,通过新增一个UART串口作为片上互连总线上的主机,从而为调试软件提供发起片上访问的通信链路,同时将用户自定义的JTAG与TAP链路上的观测点以从机的形式也映射到片上互连总线的虚拟从机中,这样就可以通过串口调试软件来实时检查观测点的状态,从而确认用户自定义设计的正确性,为芯片内部设计的可观性和可控性提供实现通道,相对于示波器调试,本发明具有调试范围广泛、可观性高且易于操作的特点,所需要的软硬件环境都是成熟设计,无需新增研发任务即可快速实现调试目的,相对于示波器调试需要反复修改和综合设计,本发明将观测点大规模的集成于片上可寻址空间,只需要一次设计就可完成所有的调试任务,能够大幅度缩短调试周期。
进一步的,上位机同时运行两种软件,采用串口作为通信接口,需重新开发可直接获取使用,上位机的串口只需要两根信号(TXD和RXD),因此FPGA只需要新增两根管脚资源就可以完成调试所需。
进一步的,由于片上互连总线大多为分时复用,因此JTAG链路和UART链路无法同时占用总线发起访问,所以本发明为了节省资源,将两条链路共用一个主机接口。该主机接口将和片上的处理器一样,对片上互连上的从机发起主机访问时序,各从机接收到总线转换后的从机时序后,将被访问信息按照JTAG链路或UART链路传送回上位机。
进一步的,本发明提出将用户自定义TAP控制器中所有关键的观测点信号全部引出至状态寄存器中,并将该寄存器作为片上的一个虚拟从机。基于这样的设计结构,UART调试链路就可以通过访问该虚拟从机,从而实时获取到用户自定义TAP控制器的状态信息。
本发明还公开了一种针对FPGA内嵌TAP接口调试链路的调试方法,针对FPGA内嵌TAP接口的调试方法解决了FPGA内嵌原语TAP被用户自定义使用后,原始的开发调试环境无法继续使用的问题,通过UART主机调试链路以及观测点的从机虚拟化,实现了对内嵌原语TAP的联合调试验证,所需的硬件资源以及管脚资源较低,且由于模块化IP设计,因此在转ASIC时能够易于裁剪而不影响原始设计结构。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为TAP控制器工作原理图;
图2为用户自定义TAP示意图;
图3为本发明内嵌TAP接口的调试链路连接示意图;
图4为本发明针对FPGA内嵌TAP接口的调试方法流程示意图。
具体实施方式
本发明提供了一种针对FPGA内嵌TAP接口的调试链路及调试方法,通过集成一个可自由裁剪的串口链路,并对TAP设计中的故障观测点进行状态监测,从而获取必要的调试结论信息。该发明的主要贡献在于解决了当FPGA开发调试环境无法继续使用的情况下,提供了对芯片内部设计的可观测性和可控制性。该发明新增的资源包括具有主动访问功能的串口以及能够映射到芯片互连总线上的状态寄存器,其中的串口作为一种常用的通用接口,其设计与应用已经非常成熟,不存在设计难度,而增加的状态寄存器也仅仅是在总线上开辟出一小片独立于其它设计的空间,该结构对芯片的原始设计没有任何侵入性,所消耗的资源也可忽略不计。
为了说明本发明的初衷及主要原理,首先介绍TAP控制器的工作原理,并由此引出基于该TAP控制器,FPGA所自带的开发调试环境以及用户对TAP控制器的实际用例,最后,针对用户自定义TAP结构后所引出的调试问题,给出利用所述结构的解决方案。
请参阅图1,图1给出了IEEE1149.1规定的TAP控制器的工作状态机,该状态机共有16个状态,通过TCK时钟对TMS信号的采样,在各状态之间进行状态迁移。TAP控制器的工作原理是:
在TMS信号的控制下,首先由JTAG的TDI信号作为指令输入,并在指令状态簇中完成串行指令的移位及译码,指令决定了选中的数据寄存器组中的某数据寄存器为当下TDI的移入对象;
之后,TMS将控制TDI在数据状态簇中完成串行数据的移位,从而结束该条指令对应的数据传递。图1中的Test-Logic-Reset状态,是对TAP内的所有寄存器等复位,之后首先穿越Run-Test/Idle和Select-DR进入指令状态簇的第一个状态Select-IR,之后的Capture-IR是捕获当前指令寄存器中的指令,如果TMS为0则进入关键的指令移位状态Shift-IR,在该状态下,TDI将不断的移入指令寄存器,一旦移位结束,TMS变为1从而进入退出状态Exit1-IR,而指令状态簇的最后一个状态Update-IR则表示移入的指令开始生效,其立即生成对应数据寄存器的选通信号。
该指令状态簇中的暂停状态Pause-IR以及另外一个退出状态Exit2-IR则为指令状态迁移中的异常提供退出状态循环的旁路通道。对于另外一个数据状态簇,其状态设定与指令状态簇类似,其中的Shift-DR态完成TDI作为数据源的循环移位写入,而Update-DR则表示数据的更新完毕。
IEEE1149.1强制规定的指令包括了IDCODE、BYPASS等,也允许用户对指令以及对应的数据寄存器进行相应的扩展。这种用户自定义的可选项,使得用户可以通过定义新的指令从而对芯片内部发布通信信息,从而使得JTAG和TAP成为一种正常的通信接口。
FPGA开发调试环境就是利用IEEE1149.1赋予的指令可扩展功能实现对用户下载的RTL设计进行调试的功能。一般而言,与TAP连接的JTAG口是用于测试功能的,在ASIC芯片设计中也是用于测试生产制造中的故障,用户通常不会使用它作为功能设计。因此,FPGA开发调试环境中也利用该接口和TAP作为对用户的功能设计进行调试的链路接口。
当用户需要对设计中的某些重要状态点进行观测时,只需要利用FPGA开发调试环境中的调试软件,将这些综合成网表后的状态点引出,那么FPGA自动建立调试软件通过JTAG和TAP控制器到该状态点的访问通路,这些状态点的位宽和深度仅受到FPGA的硬件资源限制。当施加测试激励时,用户设计被激活,而状态点的实时变化信息就会通过JTAG和TAP控制器实时传送回调试软件,从而为用户判断设计是否正确合理提供依据。这里需要注意的是,调试软件通常通过上位机的高速USB或以太网口发布调试命令,这些命令通过一个下载器将这些命令转化成JTAG命令格式,然后连接FPGA的JTAG接口。
可以看出,当使用FPGA开发调试环境时,JTAG口与其内嵌的TAP控制器将被开发调试环境独占,由于用户此时并不使用该接口和TAP控制器,因此对设计并无影响。
然而,随着JTAG接口被更多的芯片用于DFT的标准接口,设计者也开始逐渐关注使用该接口复用为功能设计接口。这种复用的可实现性也基于TAP控制器对于指令和相关数据寄存器的可扩展性。当JTAG被用于DFT设计时,JTAG和TAP控制器对用户透明,相关的ATE设备根据相应的测试指令完成诸如扫描链测试、边界扫描和内建自测试等与生产制造相关的故障缺陷测试。当JTAG被用于用户的调试时,则相应的用户调试软件则复用该接口发出对应的调试指令,而该调试指令可以通过内部集成的转换接口形成内部总线上的访问命令,从而模拟主机模块对全芯片的地址空间进行寻址访问。
图2给出了用户利用自定义指令后的TAP控制器完成对芯片的访问通路。上位机安装了能够驱动USB口的用户程序,用户程序命令通过USB口传入下载器中,该下载器将USB命令转换成JTAG的标准时序信息注入FPGA的JTAG接口。用户通过例化FPGA提供的TAP接口从而形成用户自定义的TAP控制器,该控制器将JTAG指令进行译码,并将对应的数据传送进转换单元中,转换单元完成串并转换后将并行地址和并行数据送入主机接口,而该主机接口将按照芯片内的总线协议和时序发出标准总线的主机时序,经过总线的译码后对应的从机将接收到标准的从机时序,并将访问的数据内容按原路径返回。至此,上位机用户程序需要寻址的内容将按照此路径获得。
可以看出,当用户使用JTAG和TAP用于功能设计时,JTAG接口和TAP控制器就被上位机的用户程序所驱动,此时FPGA自带的开发调试环境是无法与上位机同时使用JTAG和TAP的。这将导致的一个关键问题是,开发调试环境与用户程序无法同时使用,将导致用户程序对芯片进行访问的过程无法被开发调试环境捕获,相当于此时丧失了FPGA原有的调试能力。这种后果是较严重的,因为一旦没有进行调试,那么整个芯片的设计bug就没有手段进行直观的检测。虽然可以利用示波器进行调试,但是示波器的通道数目有限,不能观测并行信号,且需要修改内部设计,将观测点引出至PCB的插针处,同时受限于示波器的观测深度,无法获得足够的调试信息。因此,即使是示波器调试,也仅能针对规模较简单的设计,且调试效果被动低效。
请参阅图3,本发明公开的针对FPGA内嵌TAP接口的调试链路,通过新增一个UART串口作为片上互连总线上的主机,从而为调试软件提供发起片上访问的通信链路,同时将用户自定义的JTAG与TAP链路上的观测点以从机的形式也映射到片上互连总线的虚拟从机中,这样就可以通过串口调试软件来实时检查观测点的状态,从而确认用户自定义设计的正确性,为芯片内部设计的可观性和可控性提供实现通道。
在图3中,上位机分两路同时运行两种软件,一路经过USB接口、下载器连接至FPGA,FPGA将USB驱动信号发给上位机的USB接口,然后USB信号经过下载器转换成JTAG标准信号(TCK、TMS、TDI和TDO)后发给FPGA的JTAG接口形成一条链路进入FPGA,经过TAP控制器的状态迁移,从而将JTAG的串行数据按照对应用户指令的格式传递给协议转换单元,从而完成JTAG串行信号到JTAG并行信号的转换,用于驱动JTAG和TAP控制器的用户程序。
上位机运行的另外一路为串口调试程序,上位机的串口调试分别经过TXD和RXD两根信号与FPGA上设置的UART接口连接形成第二条链路,FPGA内部的UART接口将接收到的UART串行数据发往其协议转换单元,完成UART串行数据到UART并行数据的格式转换。由于两条链路的协议转换单元转换出的JTAG并行数据和UART并行数据的最终目的地均为片上互连总线,所以它们均需要经过一个主机接口。
该程序发出串口驱动程序,由于串口已经是非常成熟且应用广泛的通信接口,其串口调试程序不需重新开发可直接获取使用。UART串口具有占用较低的硬件资源开销和管脚开销;不需要重新开发硬件调试环境;能够实时监测用户程序的动作以及硬件的激活状态;具备可裁剪性,即转ASIC时可快速屏蔽该接口设计的特点。
由于片上互连总线大多为分时复用,因此JTAG链路和UART链路无法同时占用总线发起访问,所以本发明为了节省资源,将两条链路共用一个主机接口。该主机接口将和片上的处理器一样,对片上互连上的从机发起主机访问时序,各从机接收到总线转换后的从机时序后,将被访问信息按照JTAG链路或UART链路传送回上位机。
另一方面,由于用户自定义TAP控制器在该环境下是作为主机存在的,因此UART调试链路无法直接访问用户自定义TAP控制器中的状态信息。为了充分发挥UART联合调试的作用,本发明提出将用户自定义TAP控制器中所有关键的观测点信号全部引出至状态寄存器中,并将该寄存器作为片上的一个虚拟从机。基于这样的设计结构,UART调试链路就可以通过访问该虚拟从机,从而实时获取到用户自定义TAP控制器的状态信息。
由于上位机的用户自定义程序与串口调试程序分别使用的是不同通信链路,因此两者之间并不干扰,因此可以同时进行工作,这就为调试工作的实时性提供了保障,且上位机运行的串口调试程序均为成熟设计,不需重新开发。由于UART链路仅需要两根管脚资源且与JTAG链路复用了主机接口,因此硬件资源开销较小。最后,当用户自定义设计被验证充分后,在向ASIC过渡时,可以将UART调试链路裁剪掉以降低成本,由于均为模块化设计,所以裁剪过程非常方便。
请参阅图4,本发明还公开了一种针对FPGA内嵌TAP接口的调试方法,包括以下步骤:
S1、启动上位机中运行的用户程序及串口调试软件,在没有发送任何用户程序前,先利用串口检测片上虚拟从机中的各状态寄存器复位值是否符合预期,如果有误,则证明设计本身有误。
S2、用户程序先驱动JTAG发出TAP的复位信号,而该复位信号将会被虚拟从机中的状态寄存器捕获,如果设计正确,UART串口应该能够观测到该信号,否则设计错误。
S3、当上述预备工作准备完毕,证明TAP状态已经就绪,则用户程序可以驱动JTAG发出用户自定义串行指令码,此时状态寄存器并不截获该指令码,而是捕获该指令码在Capture-IR状态下生成的对应数据寄存器的选通信号,通过UART串口来观测该状态寄存器,如果捕获成功,说明指令移入正确,反之则设计有误。
S4、用户程序发出该指令码对应的串行数据,由于数据并不像指令会产生选通信号,因此需要将串并转换后的数据记录在状态寄存器中,此时UART串口读出该寄存器值进行比较,如果与用户程序一致,则设计正确,否则设计错误。
由于JTAG的传输过程是发送一条指令以及发送对应该条指令下的数据,因此如果调试流程还要继续,则重新从JTAG打入新的指令继续观测,否则结束调试流程。
本发明已经应用于一款兼容SPARC V8结构处理器的SoC中,该SoC使用了本发明中的联合调试验证技术,不仅能够有效观测FPGA内嵌原语TAP的状态迁移,有效定位故障点,同时又能大幅度降低对于此类内嵌原语调试的复杂度。该方案结构简单、易于应用,具有较高的可移植性和使用价值。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (9)

1.一种针对FPGA内嵌TAP接口的调试链路,其特征在于,通过设置一个UART串口作为片上互连总线上的主机,为调试软件提供发起片上访问的通信链路,并将用户自定义的JTAG与TAP链路上的观测点以从机的形式也映射到片上互连总线的虚拟从机中,通过串口调试软件实时检查观测点的状态,确认用户自定义设计的正确性。
2.根据权利要求1所述的一种针对FPGA内嵌TAP接口的调试链路,其特征在于,包括上位机和FPGA,所述上位机内分别设置有用户程序和串口调试两部分,所述用户程序经过USB接口、下载器连接至所述FPGA形成JTAG链路;所述串口调试分别经过TXD和RXD信号与所述FPGA上设置的UART接口连接形成UART链路。
3.根据权利要求2所述的一种针对FPGA内嵌TAP接口的调试链路,其特征在于,所述JTAG链路用于驱动JTAG和TAP控制器的用户程序,具体为:FPGA将USB驱动信号发给上位机的USB接口,然后USB信号经过下载器转换成JTAG标准信号后发给FPGA的JTAG接口,经过TAP控制器的状态迁移,将JTAG的串行数据按照对应用户指令的格式传递给协议转换单元,完成JTAG串行信号到JTAG并行信号的转换。
4.根据权利要求3所述的一种针对FPGA内嵌TAP接口的调试链路,其特征在于,所述TAP控制器中的观测点信号引出至状态寄存器中,并将所述状态寄存器作为片上的一个虚拟从机,所述UART调试链路通过访问所述虚拟从机实时获取到用户自定义TAP控制器的状态信息。
5.根据权利要求3所述的一种针对FPGA内嵌TAP接口的调试链路,其特征在于,所述JTAG链路和UART链路均连接至主机接口,所述主机接口用于对片上互连总线上的从机发起主机访问时序,各从机接收到片上互连总线转换后的从机时序后,将被访问信息按照JTAG链路或UART链路传送回所述上位机。
6.一种利用权利要求1至5中任一项所述针对FPGA内嵌TAP接口调试链路的调试方法,其特征在于,包括以下步骤:
S1、启动上位机中运行的用户程序及串口调试软件;
S2、用户程序驱动JTAG发出TAP的复位信号,复位信号将会被虚拟从机中的状态寄存器捕获,如果UART串口观测到该信号,则调试链路正确,否则错误;
S3、用户程序驱动JTAG发出用户自定义串行指令码,通过UART串口观测该状态寄存器,如果捕获成功,说明指令移入正确,反之则错误;
S4、用户程序发出该指令码对应的串行数据,由于数据并不像指令会产生选通信号,因此需要将串并转换后的数据记录在状态寄存器中,此时UART串口读出该寄存器值进行比较,如果与用户程序一致,则设计正确,否则设计错误。
7.根据权利要求6所述的一种针对FPGA内嵌TAP接口调试链路的调试方法,其特征在于,步骤S1中,在没发送用户程序前,先利用串口检测片上虚拟从机中的各状态寄存器复位值是否符合预期,如果有误,则证明调试链路有误。
8.根据权利要求6所述的一种针对FPGA内嵌TAP接口调试链路的调试方法,其特征在于,步骤S3中,用户程序驱动JTAG发出用户自定义串行指令码,状态寄存器捕获该指令码在Capture-IR状态下生成的对应数据寄存器的选通信号。
9.根据权利要求6所述的一种针对FPGA内嵌TAP接口调试链路的调试方法,其特征在于,步骤S4中,如果调试流程还要继续,则重新从JTAG打入新的指令继续观测,否则结束调试流程。
CN201710765377.XA 2017-08-30 2017-08-30 一种针对fpga内嵌tap接口的调试链路及调试方法 Active CN107608846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710765377.XA CN107608846B (zh) 2017-08-30 2017-08-30 一种针对fpga内嵌tap接口的调试链路及调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710765377.XA CN107608846B (zh) 2017-08-30 2017-08-30 一种针对fpga内嵌tap接口的调试链路及调试方法

Publications (2)

Publication Number Publication Date
CN107608846A true CN107608846A (zh) 2018-01-19
CN107608846B CN107608846B (zh) 2020-09-29

Family

ID=61056585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710765377.XA Active CN107608846B (zh) 2017-08-30 2017-08-30 一种针对fpga内嵌tap接口的调试链路及调试方法

Country Status (1)

Country Link
CN (1) CN107608846B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737154A (zh) * 2018-04-03 2018-11-02 郑州云海信息技术有限公司 一种全闪阵列系统中通信方法和系统
CN110109618A (zh) * 2019-04-24 2019-08-09 珠海妙存科技有限公司 一种维护闪存操作时序的方法
CN110784388A (zh) * 2019-12-18 2020-02-11 湖南戈人自动化科技有限公司 一种总线网络的调试方法
CN111090584A (zh) * 2019-11-25 2020-05-01 大唐半导体科技有限公司 一种fpga平台ip原型快速验证方法及系统
CN112255534A (zh) * 2020-10-14 2021-01-22 天津津航计算技术研究所 一种基于fpga的ip核模块调试系统
CN113343615A (zh) * 2021-05-19 2021-09-03 中天恒星(上海)科技有限公司 基于fpga的原型验证方法与编码装置
CN113791568A (zh) * 2021-11-11 2021-12-14 西安热工研究院有限公司 一种基于火电厂高速串口的调试装置及使用方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044025A (en) * 1999-02-04 2000-03-28 Xilinx, Inc. PROM with built-in JTAG capability for configuring FPGAs
CN102968364A (zh) * 2012-11-16 2013-03-13 中国航天科技集团公司第九研究院第七七一研究所 一种基于通用调试接口的SoC硬件调试器
CN104133171A (zh) * 2014-07-31 2014-11-05 中国人民解放军空军预警学院 一种基于单片机的简易边界扫描测试系统及测试方法
CN105550119A (zh) * 2016-01-29 2016-05-04 中国人民解放军国防科学技术大学 一种基于jtag协议的仿真装置
US20160259005A1 (en) * 2015-03-06 2016-09-08 Intel Corporation System debug using an all-in-one connector
CN106647519A (zh) * 2016-12-30 2017-05-10 中国科学技术大学 基于单片机的多功能usb‑jtag接口fpga下载线

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044025A (en) * 1999-02-04 2000-03-28 Xilinx, Inc. PROM with built-in JTAG capability for configuring FPGAs
CN102968364A (zh) * 2012-11-16 2013-03-13 中国航天科技集团公司第九研究院第七七一研究所 一种基于通用调试接口的SoC硬件调试器
CN104133171A (zh) * 2014-07-31 2014-11-05 中国人民解放军空军预警学院 一种基于单片机的简易边界扫描测试系统及测试方法
US20160259005A1 (en) * 2015-03-06 2016-09-08 Intel Corporation System debug using an all-in-one connector
CN105550119A (zh) * 2016-01-29 2016-05-04 中国人民解放军国防科学技术大学 一种基于jtag协议的仿真装置
CN106647519A (zh) * 2016-12-30 2017-05-10 中国科学技术大学 基于单片机的多功能usb‑jtag接口fpga下载线

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
娄冕等: "一种片内硬件调试支持单元设计", 《现代电子技术》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737154A (zh) * 2018-04-03 2018-11-02 郑州云海信息技术有限公司 一种全闪阵列系统中通信方法和系统
CN110109618A (zh) * 2019-04-24 2019-08-09 珠海妙存科技有限公司 一种维护闪存操作时序的方法
CN111090584A (zh) * 2019-11-25 2020-05-01 大唐半导体科技有限公司 一种fpga平台ip原型快速验证方法及系统
CN110784388A (zh) * 2019-12-18 2020-02-11 湖南戈人自动化科技有限公司 一种总线网络的调试方法
CN112255534A (zh) * 2020-10-14 2021-01-22 天津津航计算技术研究所 一种基于fpga的ip核模块调试系统
CN113343615A (zh) * 2021-05-19 2021-09-03 中天恒星(上海)科技有限公司 基于fpga的原型验证方法与编码装置
CN113343615B (zh) * 2021-05-19 2023-08-01 中天恒星(上海)科技有限公司 基于fpga的原型验证方法与编码装置
CN113791568A (zh) * 2021-11-11 2021-12-14 西安热工研究院有限公司 一种基于火电厂高速串口的调试装置及使用方法
CN113791568B (zh) * 2021-11-11 2022-02-11 西安热工研究院有限公司 一种基于火电厂高速串口的调试装置及使用方法

Also Published As

Publication number Publication date
CN107608846B (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
CN107608846A (zh) 一种针对fpga内嵌tap接口的调试链路及调试方法
CN102135920B (zh) 嵌入式星载计算机故障注入系统及其注入方法
US7836416B2 (en) Hardware-based HDL code coverage and design analysis
CN104750603B (zh) 一种多核dsp软件仿真器及其物理层软件测试方法
CN102103535B (zh) 多核处理器、多核处理器的调试系统和调试方法
US20030131325A1 (en) Method and user interface for debugging an electronic system
CN104569794B (zh) 一种基于边界扫描结构的fpga在线测试仪及测试方法
KR20180072700A (ko) 회로 설계를 디버깅하기 위한 방법 및 회로
CN100492315C (zh) 嵌入式信号处理器模拟器
JPH03148732A (ja) 状態監視器を備えたデータ処理装置
Hunter et al. Balancing structured and ad-hoc design for test: testing of the PowerPC 603 microprocessor
CN105573954A (zh) 一种jtag接口与内部用户逻辑之间的连接装置
KR100812938B1 (ko) 초대규모급 설계 검증을 위한 하드웨어적으로 구현된대규모 디지털 시스템과 시뮬레이션을 이용하는 디버깅장치 및 이를 이용한 디버깅 방법
CN209765501U (zh) 一种基于jtag的多处理器仿真调试装置
Tulloss et al. BIST and boundary-scan for board level test: Test program pseudocode
Grosso et al. Software-based self-test for transition faults: A case study
Gurumurthy et al. Comparing the effectiveness of cache-resident tests against cycleaccurate deterministic functional patterns
US9581643B1 (en) Methods and circuits for testing partial circuit designs
Lee et al. A low-cost SOC debug platform based on on-chip test architectures
Lu et al. A general fault injection method based on jtag
NO319358B1 (no) Fremgangsmate ved grensesnittskanning for a terminere eller a modifisere integrerte kretsers operasjonsmodi
Jian-Min et al. A functional enhancement methodology to JTAG controller in complex SOC
Lee et al. A unified test and debug platform for SOC design
CN207946806U (zh) 一种调试器和调试装置
EP4398109A1 (en) Techniques for debug, survivability, and infield testing of a system-on-a-chip or a system-on-a-package

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant