CN115017080A - 一种在fpga芯片内复用jtag管脚的电路及方法 - Google Patents

一种在fpga芯片内复用jtag管脚的电路及方法 Download PDF

Info

Publication number
CN115017080A
CN115017080A CN202210680774.8A CN202210680774A CN115017080A CN 115017080 A CN115017080 A CN 115017080A CN 202210680774 A CN202210680774 A CN 202210680774A CN 115017080 A CN115017080 A CN 115017080A
Authority
CN
China
Prior art keywords
signal
output
jtag
user logic
pin
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
CN202210680774.8A
Other languages
English (en)
Other versions
CN115017080B (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.)
Jingwei Qili Beijing Technology Co ltd
Original Assignee
Jingwei Qili Beijing Technology Co ltd
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 Jingwei Qili Beijing Technology Co ltd filed Critical Jingwei Qili Beijing Technology Co ltd
Priority to CN202210680774.8A priority Critical patent/CN115017080B/zh
Publication of CN115017080A publication Critical patent/CN115017080A/zh
Application granted granted Critical
Publication of CN115017080B publication Critical patent/CN115017080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本申请公开了一种在FPGA芯片内复用JTAG管脚的电路及方法,该电路包括:多个输入端子,包括TCK管脚、TMS管脚和TDI管脚;其中,TCK管脚提供TCK时钟,TMS管脚提供TMS信号,TDI管脚提供TDI信号;TDO管脚;虚拟JTAG器件,用于在TCK时钟的控制下,根据TMS信号和TDI信号,产生虚拟JTAG输出;或者用户逻辑器件,用于在TCK时钟的控制下,根据TMS信号和TDI信号,产生用户逻辑JTAG输出;选通电路,用于根据用户逻辑的控制,在一种情况下,将TCK时钟、TMS信号和TDI信号提供给虚拟JTAG器件,将虚拟JTAG器件的虚拟JTAG输出通过TDO管脚输出;在另一种情况下,将TCK时钟、TMS信号和TDI信号提供给用户逻辑器件,将用户逻辑器件的用户逻辑JTAG输出通过TDO管脚输出。

Description

一种在FPGA芯片内复用JTAG管脚的电路及方法
技术领域
本发明涉及现场可编程门阵列(Field-Programmable Gate Array,FPGA)技术领域。尤其涉及一种在FPGA芯片内复用联合测试行动组(Joint Test Action Group,JTAG)管脚的电路及方法。
背景技术
随着FPGA器件的应用越来越广泛,越来越多的应用设计企业开始使用FPGA器件实现其应用设计,如将用户逻辑设计烧录到FPGA器件中。其中很多用户会在用户逻辑设计中集成复杂的带有JTAG调试功能的设计,比如微控制单元(Microcontroller Unit,MCU)设计等。为方便调试MCU设计中的MCU程序,用户会将MCU设计的一组JTAG管脚,如测试时钟(TestClock,TCK)管脚、测试模式选择(Test Mode Slected,TMS)管脚、测试数据输入(Test DataInput,TDI)管脚和测试数据输出(Test Data Output,TDO)管脚连接到一组用户输入/输出(Input/Output,IO)接口上,通过用户IO接口连接调试器进行调试,或者连接编程器进行编程,或者连接测试器进行测试。如此,当有多个MCU设计时,便会有多组JTAG管脚。此时,需要通过多组用户IO接口连接多个调试器进行调试,或者连接多个编程器进行编程,或者连接多个测试器进行测试,造成大量的资源开销。
发明内容
由于现有方法存在上述问题,本申请提出一种在FPGA芯片内复用JTAG管脚的电路及方法。
第一方面,本申请提出一种在FPGA芯片内复用JTAG管脚的电路,包括:
多个输入端子,包括测试时钟TCK管脚、测试模式选择TMS管脚和测试数据输入TDI管脚;其中,TCK管脚提供TCK时钟,TMS管脚提供TMS信号,TDI管脚提供TDI信号;
测试数据输出TDO管脚;
虚拟联合测试行动组JTAG器件,用于在所述TCK时钟的控制下,根据所述TMS信号和所述TDI信号,产生虚拟JTAG输出;或者
用户逻辑器件,用于在所述TCK时钟的控制下,根据所述TMS信号和所述TDI信号,产生用户逻辑JTAG输出;
选通电路,用于根据用户逻辑的控制,在一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件,将所述虚拟JTAG器件的虚拟JTAG输出通过所述TDO管脚输出;在另一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述用户逻辑器件,将所述用户逻辑器件的用户逻辑JTAG输出通过所述TDO管脚输出。
在一种可能的实现中,所述选通电路包括:
配置位单元,用于输出第一信号,所述第一信号用于使能与门以及作为所述与门的一个输入信号;
JTAG测试访问端口TAP状态机,用于根据所述TCK时钟、所述TMS信号、所述TDI信号以及它们之间的时序关系,输出第二信号和第三信号,所述第二信号与所述第一信号用于确定所述与门输出的第四信号,所述第四信号用于确定第一选择器的第一选择结果和第二选择器的第二选择结果,所述第三信号在所述虚拟JTAG器件被使能的情况下,被发送至所述虚拟JTAG器件,或者在所述用户逻辑器件被使能的情况下,被发送至所述用户逻辑器件;
所述与门,用于根据所述第一信号和所述第二信号,输出所述第四信号;
所述第一选择器,用于根据所述第四信号,确定第一选择结果,所述第一选择结果为在一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件;在另一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述用户逻辑器件;
所述第二选择器,用于根据所述第四信号,确定第二选择结果,所述第二选择结果为在一种情况下,通过所述TDO管脚输出所述虚拟JTAG器件的虚拟JTAG输出;在另一种情况下,通过所述TDO管脚输出所述用户逻辑器件的用户逻辑JTAG输出。
在一种可能的实现中,所述FPGA芯片还包括:
外部输入管脚,用于输出第五信号,所述第五信号、所述第一信号以及所述第二信号用于确定所述与门输出的第四信号。
第二方面,本申请提出一种在FPGA芯片内复用JTAG管脚的方法,包括:
在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过虚拟JTAG器件产生虚拟JTAG输出;或者
在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过用户逻辑器件产生用户逻辑JTAG输出;
根据用户逻辑的控制,在一种情况下,通过选通电路将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件,将所述虚拟JTAG器件的虚拟JTAG输出通过TDO管脚输出;在另一种情况下,通过选通电路将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述用户逻辑器件,将所述用户逻辑器件的用户逻辑JTAG输出通过所述TDO管脚输出。
在一种可能的实现中,所述选通电路包括配置位单元、JTAG TAP状态机、与门、第一选择器和第二选择器;
所述根据用户逻辑的控制,在一种情况下,通过选通电路将所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件,将所述虚拟JTAG器件的虚拟JTAG输出通过TDO管脚输出;在另一种情况下,通过选通电路将所述TMS信号和所述TDI信号提供给所述用户逻辑器件,将所述用户逻辑器件的用户逻辑JTAG输出通过所述TDO管脚输出,包括:
通过配置位单元输出第一信号,所述第一信号用于使能与门以及作为所述与门的一个输入信号;
根据所述TCK时钟、所述TMS信号、所述TDI信号以及它们之间的时序关系,通过JTAG TAP状态机输出第二信号和第三信号,所述第二信号与所述第一信号用于确定所述与门输出的第四信号,所述第四信号用于确定第一选择器的第一选择结果和第二选择器的第二选择结果,所述第三信号在所述虚拟JTAG器件被使能的情况下,被发送至所述虚拟JTAG器件,或者在所述用户逻辑器件被使能的情况下,被发送至所述用户逻辑器件;
根据所述第一信号和所述第二信号,通过所述与门输出所述第四信号;
根据所述第四信号,通过所述第一选择器确定第一选择结果,所述第一选择结果为在一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件;在另一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述用户逻辑器件;
根据所述第四信号,通过所述第二选择器确定第二选择结果,所述第二选择结果为在一种情况下,通过所述TDO管脚输出所述虚拟JTAG器件的虚拟JTAG输出;在另一种情况下,通过所述TDO管脚输出所述用户逻辑器件的用户逻辑JTAG输出。
在一种可能的实现中,所述方法还包括:
通过外部输入管脚输出第五信号;
根据所述第五信号、所述第一信号以及所述第二信号,确定所述与门输出的第四信号。
第三方面,本申请还提出一种在FPGA芯片内复用JTAG管脚的装置,包括
处理单元,用于在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过虚拟JTAG器件产生虚拟JTAG输出;或者
所述处理单元,用于在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过用户逻辑器件产生用户逻辑JTAG输出;
收发单元,用于根据用户逻辑的控制,在一种情况下通过选通电路将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件,将所述虚拟JTAG器件的虚拟JTAG输出通过TDO管脚输出;在另一种情况下通过选通电路将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述用户逻辑器件,将所述用户逻辑器件的用户逻辑JTAG输出通过所述TDO管脚输出。
第四方面,本申请还提出一种在FPGA芯片内复用JTAG管脚的装置,包括至少一个处理器,所述处理器用于执行存储器中存储的程序,当所述程序被执行时,使得所述装置执行如第二方面及各种可能的实现中的各个步骤。
第五方面,本申请还提出一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第二方面及各种可能的实现中的各个步骤。
由上述技术方案可知,本申请中的虚拟JTAG器件和用户逻辑器件通过共用四个JTAG管脚,只需将四个JTAG管脚连接到一组用户输入/输出(Input/Output,IO)接口上通过一个调试器进行调试,或者通过一个编程器进行编程,或者通过一个测试器进行测试,减少了用户IO接口和调试器、编程器或测试器的使用数量,减小了资源开销。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1a为本申请实施例提供的一种在FPGA芯片内复用JTAG管脚的电路的示意图;
图1b为本申请实施例提供的在图1a的基础上增加了外部输入管脚108的电路的示意图;
图2为本申请实施例提供的一种在FPGA芯片内复用JTAG管脚的方法的流程示意图;
图3为本申请实施例提供的一种在FPGA芯片内复用JTAG管脚的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
需要说明的是,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一选择器和第二选择器等是用于区别不同的选择器,而不是用于描述目标对象的特定顺序。在本申请实施例中,“示例性的”、“举例来说”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”、“举例来说”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
在一种可能的实现中,越来越多的应用设计企业会将用户逻辑设计烧录到FPGA器件中。其中很多用户会在用户逻辑设计中集成复杂的带有JTAG调试功能的设计,比如MCU设计等。为方便调试MCU设计中的MCU程序,用户会将MCU设计的一组JTAG管脚,如TCK管脚、TMS管脚、TDI管脚和TDO管脚连接到一组用户IO接口上,通过用户IO接口连接调试器进行调试,或者连接编程器进行编程,或者连接测试器进行测试。如此,当有多个MCU设计时,便会有多组JTAG管脚。此时,需要通过多组用户IO接口连接多个调试器进行调试,或者连接多个编程器进行编程,或者连接多个测试器进行测试,造成大量的资源开销。
为解决上述技术问题,本申请实施例提出了一种在FPGA芯片内复用JTAG管脚的电路。该电路的示意图如图1a所示。该电路的示意图具体包括:多个输入端子、TDO管脚104、虚拟JTAG器件105、用户逻辑器件106和选通电路107;其中,多个输入端子包括:TCK管脚101,用于提供TCK时钟、TMS管脚102,用于提供TMS信号、TDI管脚103,用于提供TDI信号,选通电路107包括配置位单元1071、JTAG TAP状态机1072、与门1073、第一选择器1074和第二选择器1075。
参阅图1a,根据用户逻辑的控制,在一种情况下(即虚拟JTAG器件105被使能,用户逻辑器件106被关闭),虚拟JTAG器件105分别与选通电路107、TCK管脚101、TMS管脚102和TDO管脚104相连;其中,选通电路107与TDI管脚103相连。选通电路107将TCK时钟、TMS信号和TDI信号提供给虚拟JTAG器件105,将虚拟JTAG器件105的虚拟JTAG输出通过TDO管脚104输出。或者
根据用户逻辑的控制,在另一种情况下(即用户逻辑器件106被使能,虚拟JTAG器件105被关闭),用户逻辑器件106分别与选通电路107、TCK管脚101、TMS管脚102和TDO管脚104相连;其中,选通电路107与TDI管脚103相连。选通电路107将TCK时钟、TMS信号和TDI信号提供给用户逻辑器件106,将用户逻辑器件106的用户逻辑JTAG输出通过TDO管脚104输出。可以理解的是,用户逻辑器件106通过将用户逻辑设计烧录到FPGA器件中获得。
参阅图1a,配置位单元1071用于输出第一信号,该第一信号用于使能与门1073以及作为与门1073的一个输入信号。可以理解的是,配置位单元1071是烧录在电路中的,并且其输出的第一信号在电路接通电源被供电的情况下,置为1,在电路被断电的情况下,才置为0。第一信号为1表示使能与门1073,并且第一信号作为与门1073的一个输入信号。
JTAG TAP状态机1072与TCK管脚101、TMS管脚102和TDI管脚103相连,用于根据TCK时钟、TMS信号、TDI信号以及它们之间的时序关系,输出第二信号和第三信号,所述第二信号与所述第一信号用于确定与门1073输出的第四信号,所述第四信号用于确定第一选择器1074的第一选择结果和第二选择器1075的第二选择结果,所述第三信号在虚拟JTAG器件105被使能的情况下,被发送至虚拟JTAG器件105,或者在用户逻辑器件106被使能的情况下,被发送至用户逻辑器件106。
与门1073用于根据第一信号和第二信号,输出第四信号。示例性的,当第一信号为1,第二信号也为1时,与门1073输出的第四信号即为1;或者当第一信号为1,第二信号为0时,与门1073输出的第四信号为0。
在此需要说明的是,以图1a中的“#Enable”代表使能用户逻辑器件106为例,此时需要与门1073输出的第四信号为1。又由于与门1073的一个输入信号是配置位单元1071输出的第一信号,即1,因此,与门1073的另一个输入信号需要为1时,才能使得与门1073输出的第四信号为1。也即是说,JTAG TAP状态机1072输出的第二信号为1,并且第二信号作为与门1073的另一个输入信号,才能使得与门1073输出的第四信号为1。
第一选择器1074用于根据第四信号,确定第一选择结果,所述第一选择结果为在一种情况下(即虚拟JTAG器件105被使能,用户逻辑器件106被关闭),将TCK时钟、TMS信号和TDI信号提供给虚拟JTAG器件105;在另一种情况下(即用户逻辑器件106被使能,虚拟JTAG器件105被关闭),将TCK时钟、TMS信号和TDI信号提供给用户逻辑器件106。在一个例子中,如图1a所示,若第四信号为0,则确定使能虚拟JTAG器件105,将TCK时钟、TMS信号和TDI信号提供给虚拟JTAG器件105;若第四信号为1,则确定使能用户逻辑器件106,将TCK时钟、TMS信号和TDI信号提供给用户逻辑器件106。
第二选择器1075用于根据第四信号,确定第二选择结果,所述第二选择结果为在一种情况下(即虚拟JTAG器件105被使能,用户逻辑器件106被关闭),通过TDO管脚104输出虚拟JTAG器件105的虚拟JTAG输出;在另一种情况下(即用户逻辑器件106被使能,虚拟JTAG器件105被关闭),通过TDO管脚104输出用户逻辑器件106的用户逻辑JTAG输出。在一个例子中,如图1a所示,若第四信号为0,则确定使能虚拟JTAG器件105,通过TDO管脚104输出虚拟JTAG器件105的虚拟JTAG输出;若第四信号为1,则确定使能用户逻辑器件106,通过TDO管脚104输出用户逻辑器件106的用户逻辑JTAG输出。
在一种可能的实现中,前述TCK管脚101、TMS管脚102、TDI管脚103、TDO管脚104通过四个输入/输出IO接口连接到前述电路外部的一个调试器、一个编程器或者一个测试器。当第一选择器1074确定使能虚拟JTAG器件105时,调试器会对JTAG TAP状态机1072和虚拟JTAG器件105进行调试,或者编程器会对JTAG TAP状态机1072和虚拟JTAG器件105进行编程,或者测试器会对JTAG TAP状态机1072和虚拟JTAG器件105进行测试。当第一选择器1074确定使能用户逻辑器件106时,调试器会对JTAG TAP状态机1072和用户逻辑器件106进行调试,或者编程器会对JTAG TAP状态机1072和用户逻辑器件106进行编程,或者测试器会对JTAG TAP状态机1072和用户逻辑器件106进行测试。
可以理解的是,用户逻辑器件106在使用过程中,可能会出现短路。在这样紧急的情况下,需要及时关闭用户逻辑器件106,也就是说,与门1073的输出需要及时变为0。因此,在本申请实施例中,在图1a所示的电路的基础上增加了一个外部输入管脚108,如图1b所示。该外部输入管脚108用于输出第五信号。该外部输入管脚108在电路接通电源被供电的情况下,输出的第五信号置为1;遇到紧急情况,如用户逻辑器件106在使用过程中,出现了短路,则将输出的第五信号置为0。所述第五信号、所述第一信号以及所述第二信号共同确定与门1073输出的第四信号。示例性的,当第五信号、第一信号和第二信号均为1时,与门1073输出的第四信号为1,此时,仍是使能用户逻辑器件106,关闭虚拟JTAG器件105。当第五信号为0时,即使第一信号和第二信号均为1,此时与门1073输出的第四信号为0,此时会关闭用户逻辑器件106,使能虚拟JTAG器件105,如此通过外部输入管脚108便可以控制与门1073输出的第四信号,从而有效控制在用户逻辑器件106出现短路的情况下,及时关闭用户逻辑器件106,使能虚拟JTAG器件105。
由上述技术方案可知,本申请实施例中的第一虚拟JTAG器件和第一FPGA用户逻辑器件通过共用四个JTAG管脚,只需将四个JTAG管脚连接到一组用户IO接口上通过一个调试器进行调试,或者通过一个编程器进行编程,或者通过一个测试器进行测试,减少了用户IO接口和调试器、编程器或测试器的使用数量,减小了资源开销。
图2为本申请实施例提供的一种在FPGA芯片内复用JTAG管脚的方法的流程示意图,该流程示意图包括:S201-S202;
S201,在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过虚拟JTAG器件产生虚拟JTAG输出;或者在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过用户逻辑器件产生用户逻辑JTAG输出。
在本申请实施例中,TCK管脚101提供TCK时钟、TMS管脚102提供TMS信号、TDI管脚103提供TDI信号。在TCK时钟的控制下,根据TMS信号和TDI信号,通过虚拟JTAG器件105产生虚拟JTAG输出;或者在TCK时钟的控制下,根据TMS信号和TDI信号,通过用户逻辑器件106产生用户逻辑JTAG输出。
S202,根据用户逻辑的控制,在一种情况下,通过选通电路将TCK时钟、TMS信号和TDI信号提供给虚拟JTAG器件,将虚拟JTAG器件的虚拟JTAG输出通过TDO管脚输出;在另一种情况下,通过选通电路将TCK时钟、TMS信号和TDI信号提供给用户逻辑器件,将用户逻辑器件的用户逻辑JTAG输出通过TDO管脚输出。
在本申请实施例中,根据用户逻辑的控制,在一种情况下(即虚拟JTAG器件105被使能,用户逻辑器件106被关闭),通过选通电路107将TCK时钟、TMS信号和TDI信号提供给虚拟JTAG器件105,将虚拟JTAG器件105的虚拟JTAG输出通过TDO管脚104输出;在另一种情况下(即用户逻辑器件106被使能,虚拟JTAG器件105被关闭),通过选通电路107将TCK时钟、TMS信号和TDI信号提供给用户逻辑器件106,将用户逻辑器件106的用户逻辑JTAG输出通过TDO管脚104输出。
在一个例子中,通过配置位单元1071输出第一信号,所述第一信号用于使能与门1073以及作为与门1073的一个输入信号。根据TCK时钟、TMS信号、TDI信号以及它们之间的时序关系,通过JTAG TAP状态机1072输出第二信号和第三信号,所述第二信号与所述第一信号用于确定与门1073输出的第四信号,所述第四信号用于确定第一选择器1074的第一选择结果和第二选择器1075的第二选择结果,所述第三信号在虚拟JTAG器件105被使能的情况下,被发送至虚拟JTAG器件105,或者在用户逻辑器件106被使能的情况下,被发送至用户逻辑器件106。根据第一信号和第二信号,通过与门1073输出第四信号。根据第四信号,通过第一选择器1074确定第一选择结果,所述第一选择结果为在一种情况下,将TCK时钟、TMS信号和TDI信号提供给虚拟JTAG器件105;在另一种情况下,将TCK时钟、TMS信号和TDI信号提供给用户逻辑器件106。根据第四信号,通过第二选择器确定第二选择结果,所述第二选择结果为在一种情况下,通过TDO管脚104输出虚拟JTAG器件105的虚拟JTAG输出;在另一种情况下,通过TDO管脚104输出用户逻辑器件106的用户逻辑JTAG输出。
在一种可能的实现中,所述方法还包括:通过外部输入管脚108输出第五信号。根据第五信号、第一信号以及第二信号,确定与门1073输出的第四信号。
本申请实施例中的虚拟JTAG器件和用户逻辑器件通过共用四个JTAG管脚,只需将四个JTAG管脚连接到一组用户IO接口上通过一个调试器进行调试,或者通过一个编程器进行编程,或者通过一个测试器进行测试,减少了用户IO接口和调试器、编程器或测试器的使用数量,减小了资源开销。
图3为本申请实施例提供的一种在FPGA芯片内复用JTAG管脚的装置,包括:
处理单元301用于在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过虚拟JTAG器件产生虚拟JTAG输出;或者
所述处理单元301用于在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过用户逻辑器件产生用户逻辑JTAG输出;
收发单元302用于根据用户逻辑的控制,在一种情况下通过选通电路将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件,将所述虚拟JTAG器件的虚拟JTAG输出通过TDO管脚输出;在另一种情况下通过选通电路将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述用户逻辑器件,将所述用户逻辑器件的用户逻辑JTAG输出通过所述TDO管脚输出。
在一种可能的实现中,收发单元302用于通过配置位单元输出第一信号,所述第一信号用于使能与门以及作为与门的一个输入信号;
收发单元302用于根据TCK时钟、TMS信号、TDI信号以及它们之间的时序关系,通过JTAG TAP状态机输出第二信号和第三信号,所述第二信号与所述第一信号用于确定与门输出的第四信号,所述第四信号用于确定第一选择器的第一选择结果和第二选择器的第二选择结果,所述第三信号在虚拟JTAG器件被使能的情况下,被发送至虚拟JTAG器件,或者在用户逻辑器件被使能的情况下,被发送至用户逻辑器件;
收发单元302用于根据第一信号和第二信号,通过与门输出第四信号;
处理单元301用于根据第四信号,通过第一选择器确定第一选择结果,所述第一选择结果为在一种情况下,将TCK时钟、TMS信号和TDI信号提供给虚拟JTAG器件;在另一种情况下,将TCK时钟、TMS信号和TDI信号提供给用户逻辑器件;
处理单元301用于根据第四信号,通过第二选择器确定第二选择结果,所述第二选择结果为在一种情况下,通过TDO管脚输出虚拟JTAG器件的虚拟JTAG输出;在另一种情况下,通过TDO管脚输出用户逻辑器件的用户逻辑JTAG输出。
在一种可能的实现中,收发单元302用于通过外部输入管脚输出第五信号;
处理单元301用于根据第五信号、第一信号以及第二信号,确定与门输出的第四信号。
本申请实施例还提供一种在FPGA芯片内复用JTAG管脚的装置,包括至少一个处理器,所述处理器用于执行存储器中存储的程序,当所述程序被执行时,使得所述装置执行前述一种在FPGA芯片内复用JTAG管脚的方法的各个步骤。
本申请实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述一种在FPGA芯片内复用JTAG管脚的方法的各个步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (9)

1.一种在FPGA芯片内复用JTAG管脚的电路,其特征在于,包括:
多个输入端子,包括测试时钟TCK管脚、测试模式选择TMS管脚和测试数据输入TDI管脚;其中,TCK管脚提供TCK时钟,TMS管脚提供TMS信号,TDI管脚提供TDI信号;
测试数据输出TDO管脚;
虚拟联合测试行动组JTAG器件,用于在所述TCK时钟的控制下,根据所述TMS信号和所述TDI信号,产生虚拟JTAG输出;或者
用户逻辑器件,用于在所述TCK时钟的控制下,根据所述TMS信号和所述TDI信号,产生用户逻辑JTAG输出;
选通电路,用于根据用户逻辑的控制,在一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件,将所述虚拟JTAG器件的虚拟JTAG输出通过所述TDO管脚输出;在另一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述用户逻辑器件,将所述用户逻辑器件的用户逻辑JTAG输出通过所述TDO管脚输出。
2.根据权利要求1所述的电路,其特征在于,所述选通电路包括:
配置位单元,用于输出第一信号,所述第一信号用于使能与门以及作为所述与门的一个输入信号;
JTAG测试访问端口TAP状态机,用于根据所述TCK时钟、所述TMS信号、所述TDI信号以及它们之间的时序关系,输出第二信号和第三信号,所述第二信号与所述第一信号用于确定所述与门输出的第四信号,所述第四信号用于确定第一选择器的第一选择结果和第二选择器的第二选择结果,所述第三信号在所述虚拟JTAG器件被使能的情况下,被发送至所述虚拟JTAG器件,或者在所述用户逻辑器件被使能的情况下,被发送至所述用户逻辑器件;
所述与门,用于根据所述第一信号和所述第二信号,输出所述第四信号;
所述第一选择器,用于根据所述第四信号,确定第一选择结果,所述第一选择结果为在一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件;在另一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述用户逻辑器件;
所述第二选择器,用于根据所述第四信号,确定第二选择结果,所述第二选择结果为在一种情况下,通过所述TDO管脚输出所述虚拟JTAG器件的虚拟JTAG输出;在另一种情况下,通过所述TDO管脚输出所述用户逻辑器件的用户逻辑JTAG输出。
3.根据权利要求1或2所述的电路,其特征在于,所述电路还包括:
外部输入管脚,用于输出第五信号,所述第五信号、所述第一信号以及所述第二信号用于确定所述与门输出的第四信号。
4.一种在FPGA芯片内复用JTAG管脚的方法,其特征在于,包括:
在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过虚拟JTAG器件产生虚拟JTAG输出;或者
在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过用户逻辑器件产生用户逻辑JTAG输出;
根据用户逻辑的控制,在一种情况下,通过选通电路将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件,将所述虚拟JTAG器件的虚拟JTAG输出通过TDO管脚输出;在另一种情况下,通过选通电路将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述用户逻辑器件,将所述用户逻辑器件的用户逻辑JTAG输出通过所述TDO管脚输出。
5.根据权利要求4所述的方法,其特征在于,所述选通电路包括配置位单元、JTAG TAP状态机、与门、第一选择器和第二选择器;
所述根据用户逻辑的控制,在一种情况下,通过选通电路将所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件,将所述虚拟JTAG器件的虚拟JTAG输出通过TDO管脚输出;在另一种情况下,通过选通电路将所述TMS信号和所述TDI信号提供给所述用户逻辑器件,将所述用户逻辑器件的用户逻辑JTAG输出通过所述TDO管脚输出,包括:
通过配置位单元输出第一信号,所述第一信号用于使能与门以及作为所述与门的一个输入信号;
根据所述TCK时钟、所述TMS信号、所述TDI信号以及它们之间的时序关系,通过JTAGTAP状态机输出第二信号和第三信号,所述第二信号与所述第一信号用于确定所述与门输出的第四信号,所述第四信号用于确定第一选择器的第一选择结果和第二选择器的第二选择结果,所述第三信号在所述虚拟JTAG器件被使能的情况下,被发送至所述虚拟JTAG器件,或者在所述用户逻辑器件被使能的情况下,被发送至所述用户逻辑器件;
根据所述第一信号和所述第二信号,通过所述与门输出所述第四信号;
根据所述第四信号,通过所述第一选择器确定第一选择结果,所述第一选择结果为在一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件;在另一种情况下,将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述用户逻辑器件;
根据所述第四信号,通过所述第二选择器确定第二选择结果,所述第二选择结果为在一种情况下,通过所述TDO管脚输出所述虚拟JTAG器件的虚拟JTAG输出;在另一种情况下,通过所述TDO管脚输出所述用户逻辑器件的用户逻辑JTAG输出。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
通过外部输入管脚输出第五信号;
根据所述第五信号、所述第一信号以及所述第二信号,确定所述与门输出的第四信号。
7.一种在FPGA芯片内复用JTAG管脚的装置,其特征在于,包括:
处理单元,用于在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过虚拟JTAG器件产生虚拟JTAG输出;或者
所述处理单元,用于在TCK管脚提供的TCK时钟的控制下,根据TMS管脚提供的TMS信号和TDI管脚提供的TDI信号,通过用户逻辑器件产生用户逻辑JTAG输出;
收发单元,用于根据用户逻辑的控制,在一种情况下通过选通电路将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述虚拟JTAG器件,将所述虚拟JTAG器件的虚拟JTAG输出通过TDO管脚输出;在另一种情况下通过选通电路将所述TCK时钟、所述TMS信号和所述TDI信号提供给所述用户逻辑器件,将所述用户逻辑器件的用户逻辑JTAG输出通过所述TDO管脚输出。
8.一种在FPGA芯片内复用JTAG管脚的装置,其特征在于,包括至少一个处理器,所述处理器用于执行存储器中存储的程序,当所述程序被执行时,使得所述装置执行:
如权利要求4-6任一项所述的方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求4-6任一项所述的方法。
CN202210680774.8A 2022-06-16 2022-06-16 一种在fpga芯片内复用jtag管脚的电路及方法 Active CN115017080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210680774.8A CN115017080B (zh) 2022-06-16 2022-06-16 一种在fpga芯片内复用jtag管脚的电路及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210680774.8A CN115017080B (zh) 2022-06-16 2022-06-16 一种在fpga芯片内复用jtag管脚的电路及方法

Publications (2)

Publication Number Publication Date
CN115017080A true CN115017080A (zh) 2022-09-06
CN115017080B CN115017080B (zh) 2025-01-24

Family

ID=83075188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210680774.8A Active CN115017080B (zh) 2022-06-16 2022-06-16 一种在fpga芯片内复用jtag管脚的电路及方法

Country Status (1)

Country Link
CN (1) CN115017080B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115963388A (zh) * 2022-12-22 2023-04-14 广东高云半导体科技股份有限公司 实现电路调试的系统、现场可编程逻辑门阵列及上位机

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069386A1 (en) * 2000-12-05 2002-06-06 Neeb James E. Joint test action group (JTAG) tester, such as to test integrated circuits in parallel
US6925583B1 (en) * 2002-01-09 2005-08-02 Xilinx, Inc. Structure and method for writing from a JTAG device with microcontroller to a non-JTAG device
CN102541707A (zh) * 2010-12-15 2012-07-04 中国科学院电子学研究所 复用jtag接口的fpga片内逻辑分析仪系统和方法
CN105573954A (zh) * 2016-01-15 2016-05-11 深圳市同创国芯电子有限公司 一种jtag接口与内部用户逻辑之间的连接装置
CN214201543U (zh) * 2020-12-30 2021-09-14 上海科梁信息科技股份有限公司 基于jtag的芯片连接结构

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069386A1 (en) * 2000-12-05 2002-06-06 Neeb James E. Joint test action group (JTAG) tester, such as to test integrated circuits in parallel
US6925583B1 (en) * 2002-01-09 2005-08-02 Xilinx, Inc. Structure and method for writing from a JTAG device with microcontroller to a non-JTAG device
CN102541707A (zh) * 2010-12-15 2012-07-04 中国科学院电子学研究所 复用jtag接口的fpga片内逻辑分析仪系统和方法
CN105573954A (zh) * 2016-01-15 2016-05-11 深圳市同创国芯电子有限公司 一种jtag接口与内部用户逻辑之间的连接装置
CN214201543U (zh) * 2020-12-30 2021-09-14 上海科梁信息科技股份有限公司 基于jtag的芯片连接结构

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115963388A (zh) * 2022-12-22 2023-04-14 广东高云半导体科技股份有限公司 实现电路调试的系统、现场可编程逻辑门阵列及上位机

Also Published As

Publication number Publication date
CN115017080B (zh) 2025-01-24

Similar Documents

Publication Publication Date Title
US6701491B1 (en) Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it
US7992064B2 (en) Selecting a scan topology
KR102438702B1 (ko) 멀티 전원 도메인을 갖는 집적 회로의 임베디드 코어 기반 디지털 시스템의 테스트 모드 분리 및 파워 감소 방법
US5084874A (en) Enhanced test circuit
JP4422427B2 (ja) 単一チップシステム及びこのシステムのテスト/デバッグ方法
US7519879B2 (en) Apparatus and method for dynamic in-circuit probing of field programmable gate arrays
US8028209B2 (en) Scalable scan system for system-on-chip design
US10776233B2 (en) Programmable test instrument
US9274169B2 (en) Asynchronous programmable JTAG-based interface to debug any system-on-chip states, power modes, resets, clocks, and complex digital logic
US10997343B1 (en) In-system scan test of chips in an emulation system
US20050005217A1 (en) Test standard interfaces and architectures
US7426670B2 (en) Connecting multiple test access port controllers on a single test access port
CN207965049U (zh) 用于将tap信号耦合到集成电路封装中的jtag接口的电路
Gruwell et al. High-speed FPGA configuration and testing through JTAG
CN100588982C (zh) 现场可编程门阵列可配置逻辑块验证方法及系统
JP2014532862A (ja) 構成可能なインターフェースを有する試験機器
JP2014532861A (ja) プログラム可能な試験機器
Vermeulen et al. IEEE 1149.1-compliant access architecture for multiple core debug on digital system chips
CN117234831B (zh) 一种基于多核cpu的芯片功能测试方法及系统
CN115017080B (zh) 一种在fpga芯片内复用jtag管脚的电路及方法
US11156660B1 (en) In-system scan test of electronic devices
US20170370988A1 (en) Burn-in testing of individually personalized semiconductor device configuration
US20190331733A1 (en) Sequential test access port selection in a jtag interface
JP3529762B2 (ja) テストセル回路
Chang et al. A unified GDB-based source-transaction level SW/HW co-debugging

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
CB02 Change of applicant information

Country or region after: China

Address after: 601, Floor 6, Building 5, Yard 8, Kegu 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing, 100176 (Yizhuang Cluster, High-end Industrial Zone, Beijing Pilot Free Trade Zone)

Applicant after: Jingwei Qili (Beijing) Technology Co.,Ltd.

Address before: 100190 901-903, 9 / F, Weixing building, 63 Zhichun Road, Haidian District, Beijing

Applicant before: JINGWEI QILI (BEIJING) TECHNOLOGY Co.,Ltd.

Country or region before: China

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant