CN114780474B - 一种检测菊花链包含芯片数量和型号的方法、系统及设备 - Google Patents
一种检测菊花链包含芯片数量和型号的方法、系统及设备 Download PDFInfo
- Publication number
- CN114780474B CN114780474B CN202210559445.8A CN202210559445A CN114780474B CN 114780474 B CN114780474 B CN 114780474B CN 202210559445 A CN202210559445 A CN 202210559445A CN 114780474 B CN114780474 B CN 114780474B
- Authority
- CN
- China
- Prior art keywords
- daisy chain
- chip
- chips
- read
- instruction
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Bus Control (AREA)
Abstract
本发明提供了一种检测菊花链包含芯片数量和型号的方法、系统及设备,本发明通过状态跳转和数据交互来获取芯片数量,确定芯片数量后,再发送几种内置的回读ID值指令中的一种,来获取返回值,如果没有返回值,则重新发送其他回读ID值指令,直到获取返回值或全部内置回读ID值指令都尝试完。本方案能够自动获取菊花链中包含芯片的数量和型号,不需用户指定,提高了系统的易用性,减少用户选择错误的可能性。在自动获取的基础上,本方案针对内置数据库中可能没有包含的芯片型号,提供人工指定途径,进一步确保了系统的可靠性。
Description
技术领域
本发明属于集成电路设计领域,尤其涉及一种获取FPGA菊花链所包含的芯片数量和芯片型号的方法及设备。
背景技术
通过JTAG接口,可以采用菊花链的连接方式将多个FPGA芯片连接在一起,此时可以通过第一个JTAG接口对其中任意一块或多块芯片进行下载配置/回读ID值等操作。适合远程配置或因为空间狭小只能有一个外部JTAG接口等情况。
由于菊花链包含的FPGA可能是不同厂家的不同型号,它们的JTAG边界扫描指令可能各不相同。对芯片进行配置或回读ID号等操作之前,需要确定芯片数量和芯片型号,这样才能知道如何将bypass指令和功能指令进行组合,然后通过JTAG接口来实现对芯片的操作。
而目前的现有技术或产品,并没有合适的方法能够准确获取菊花链上的多个芯片的具体数量和芯片型号,因此,如何在对菊花链上的多个芯片进行数据配置等操作之前确定涉及的芯片数量、类型,以更加有效地通过JTAG接口来实现对芯片的准确操作,成为目前亟待解决的问题。
发明内容
针对现有技术存在的上述问题,本发明提供了一种方法及设备以自动获取菊花链包含芯片数量和型号。通过将特定指令和数据发送给现场可编程阵列,根据相关的协议在集成电路中进行处理,通过状态跳转和数据交互来获取芯片数量。知道芯片数量后,再发送几种内置的回读ID值指令中的一种,来获取返回值,如果没有返回值,则重新发送其他回读ID值指令,直到获取返回值或全部内置回读ID值指令都尝试完。如果获取到返回值,则将其与已知的芯片型号ID值内置库进行匹配,进而找出芯片型号。如果全部内置的回读ID值指令都尝试完也没有获取到返回值,则返回NULL,表示没有获取到芯片型号,转为由人工指定芯片型号。
具体而言,本发明提供了以下技术特征:
一方面,本发明提供了一种检测菊花链包含芯片数量和型号的方法,该方法包括:
步骤1、通过TDI向菊花链上芯片发送M个1,实现对菊花链上全部芯片的旁路;
步骤2、向菊花链输入端TDI发送标识0,并启动检测菊花链输出端的TDO是否接收到该标识0;
步骤3、继标识0后,向菊花链输入端TDI发送0或者1,持续检测菊花链输出端的TDO是否接收到该标识0,并记录在标识0后由菊花链输入端TDI发送的0或1的次数,直至菊花链输出端TDO接收到标识0,则芯片数量即为标识0后推送的0或者1的次数;
步骤4、基于步骤3获取的芯片数量,向菊花链输入端TDI发送足够的1,将所有芯片旁路;
步骤5、由菊花链输入端TDI发送至少一种内置回读ID指令,并获取返回值;若获取返回值成功,则基于返回值中的ID,确定芯片型号;
若获取返回值失败,则发送另一种内置回读ID指令,直至获取返回值或者全部内置回读ID指令尝试完毕;
若全部内置回读ID指令尝试完毕仍未获得返回值,则返回NULL。
优选的,所述步骤1中,M的确定方式如下:
预估菊花链中用于满足其工程要求需要的芯片数量K;
计算通过旁路指令对该K个芯片旁路所需要的1的最多个数L;
令M值明显大于L。
优选的,所述方法还包括:预设第一数据库、第二数据库;
所述第一数据库存储内置回读ID指令、旁路指令的一一对应关系,内置回读ID指令是与不同芯片型号对应的回读ID指令,以形成芯片型号—回读ID指令—旁路指令的一一对应关系;
所述第二数据库存储芯片ID值与芯片型号的一一对应关系。
优选的,所述步骤5中,获取到返回值时,将菊花链输出端TDO最先接收到的A个bit丢弃掉,再继续接收32bit数据,基于该接收的32bit数据,作为芯片ID值,获取该芯片ID值对应的芯片型号。
优选的,所述步骤5中,当向菊花链中第j个芯片发送获取芯片ID值的指令时,其中j>1,将内置回读ID指令与前j-1个芯片的旁路指令组成新指令,由菊花链输入端TDI发送所述新指令,以读取所述第j个芯片的ID值。
优选的,当返回NULL时,默认该芯片信号为eLinx系列芯片或者由人工方式设置芯片型号。
另一方面,本发明还提供了一种检测菊花链包含芯片数量和型号的系统,该系统包括:
信号发送模块,用于通过TDI向菊花链发送旁路信号,以及用于设置标识0,并向菊花链发送用于获取菊花链芯片数量数据的信号;以及用于向菊花链发送内置回读ID指令;
信号接收模块,接收菊花链输出端TDO的输出信号,并识别标识0;以及接收菊花链中内置回读ID指令对应的返回值;
数据库模块,用于存储内置回读ID指令,以及芯片ID值与芯片型号的对应关系,和内置回读ID指令与旁路指令的一一对应关系;
输出模块,用于输出返回值,或NULL;
信号发送模块连接待测菊花链输入端TDI及数据库模块,信号接收模块连接待测菊花链输出端TDO及数据库模块;输出模块连接信号接收模块。
优选的,在数据库模块中,可以预设第一数据库、第二数据库;
所述第一数据库存储内置回读ID指令、旁路指令的一一对应关系,内置回读ID指令是与不同芯片型号对应的回读ID指令,以形成芯片型号—回读ID指令—旁路指令的一一对应关系;
所述第二数据库存储芯片ID值与芯片型号的一一对应关系。
对应关系的存储,可以更方便地进行回读ID指令的发送和型号的查询、搜索。
优选的,在信号接收模块中,获取到返回值时,将菊花链输出端TDO最先接收到的A个bit丢弃掉,再继续接收32bit数据,基于该接收的32bit数据,作为芯片ID值,获取该芯片ID值对应的芯片型号。
为了保证回读的芯片ID的正确性,优选的,需要在接收到的数据中去除掉可能的无效数据,即前A个bit的数据,所述A的求解方式为:
A=菊花链包含的芯片数量-当前芯片在菊花链中的序号;
所述序号由菊花链输入端到输出端依序排列,由1开始。
优选的,为进一步保证芯片ID值的有效读取,读取菊花链中第i个芯片的ID值前,均首先将菊花链中所有芯片旁路,从而保证数据读取的正确。
又一方面,本发明还提供了一种检测菊花链包含芯片数量和型号的设备,该设备包括处理器、存储器、输入装置、输出装置;
所述输入装置用于连接菊花链输入端TDI,所述输出装置用于连接菊花链输出端TDO;
所述处理器连接所述输入装置、输出装置及存储器;
所述存储器存储有计算机指令,所述处理器调用所述存储器中的计算机指令以执行如上所述的检测菊花链包含芯片数量和型号的方法。
与现有技术相比,本方案的有益效果如下:本方案能够自动获取菊花链中包含芯片的数量和型号,不需要用户指定,提高了系统的易用性,并且减少用户选择错误的可能性。在自动获取的基础上,本方案针对内置数据库中可能没有包含的芯片型号,提供人工指定途径,进一步确保了系统的可靠性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的方法流程图;
图2为本发明实施例的读取第一个芯片的流程层示意图;
图3为本发明实施例的读取第二个芯片的流程示意图;
图4为本发明实施例的第一、第二数据库数据格式示意图;
图5为本发明实施例的设备结构框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面结合具体的实施方式对本发明做进一步的解释说明。
在一个具体的实施例中,本发明提出的一种方法自动获取菊花链包含芯片的数量和型号。通过将特定指令和数据发送给现场可编程阵列,根据相关的协议在集成电路中进行处理,通过状态跳转和数据交互来获取芯片数量。知道芯片数量后,再发送几种内置的回读ID值指令中的一种,来获取返回值,如果没有返回值,则重新发送其他回读ID值指令,直到获取返回值或全部内置回读ID值指令都尝试完。如果获取到返回值,则将其与已知的芯片型号ID值内置库进行匹配,进而找出芯片型号。如果全部内置的回读ID值指令都尝试完也没有获取到返回值,则返回NULL,表示没有获取到芯片型号,此时可以转为由其他方式来获取芯片的型号,例如可以通过人工指定芯片型号等方式。结合图1,对本发明中的芯片数量和型号的确定方法说明如下:
一、获取菊花链包含芯片的数量
在获取菊花链中的芯片数量数据时,在一个具体的实施方式中,可以通过以下方式进行:
1、针对不同芯片的旁路(即bypass指令)指令特点,通过TDI向菊花链中芯片发送足够多的1来实现对所有芯片的旁路。在一个更为优选的实施方式中,菊花链中的芯片数量可以进行提前的预估,一般,为了方法的更有效实施,预估的芯片数量一般明显大于实际数量,以保证发送的1的数量足够多。对于足够多的1的数量M的确定,可以采用如下方式:首先预估菊花链中用于满足其工程要求需要的芯片数量K;再计算通过旁路指令对该K个芯片旁路所需要的1的最多个数L;令M值明显大于L即可,即要实现充足多的1,来保证其中的全部芯片能够实现旁路。
以eLinx芯片的下载工具Programmer为例,eLinx芯片系列的bypass指令统一是6个'1',因此发送1800个'1'可以实现对300块芯片的bypass,如果芯片数量可能超过300块,则发送更多'1'。对菊花链中的芯片进行旁路之后,每块芯片可以视为相当于1bit的寄存器,菊花链相当于由多个寄存器连接组成的寄存器串。给寄存器串发送数据时,数据遵循先进先出的原则。
在又一个具体的实施方式中,菊花链中的芯片的型号可能存在不同,此时,不同芯片在进行旁路时,其所需要的1的数量可能是不同的,一般而言,本领域中,不同型号芯片旁路时需要的1的数量是6至8个,因此,菊花链中芯片的数量和型号决定了通过TDI发送的1的数量。例如真实菊花链中可能只有3块芯片,则可以预估5块或6块芯片等,当预估为5块时,则发送1的数量是30(即6*5)个至40(即8*5)个都可以。实际应用中,根据当前工程规模情况,芯片数量取值比真实数量大就可以,例如某工程只有几块芯片,我们预估是300块芯片肯定是足够的,各个芯片旁路指令长度是6至8个1,可以取8个1,这样该工程足够多的1就是2400(即300*8)个1。
2、通过TDI向菊花链发送标识'0',供随后在TDO检测它。此处,作为一个优选的实施方式,之所以发送0作为标识,是基于前述步骤中发送了足够多的1来实现芯片的旁路,此后,为了便于推送的数据的计数,将0作为一个标识,从而在TDO端可以明确知道在什么时间,菊花链组成的寄存器串内的1已全部推送出来。
此处,进一步解释如下,为了和前面已推送的足够多的1区分,推送的标识第一个bit一定是0,在该0之后,可以是0或1。TDO端检测到的第1个0就是标识0。在标识0之后发送全1也可以,此时全1的作用也是将标识0向TDO端推送,直至把标识0推送到TDO端被检测到,也即,在标识0之后,可以推送任意组合方式的0或者1,只要能将起到标识作用的0推送至TDO端被检测到即可。
3、由于菊花链组成的寄存器串是先进先出,通过TDI向菊花链发送起推送作用的'0'或者'1',将第2步中的标识'0'向出口方向推送。每次发送1个起推送作用的'0'或者'1',立即检测TDO是否收到标识'0',并且记录下TDI发送'0'或者'1'的次数。如果没有收到则重复发送和接收的动作,直到TDO收到标识'0'。TDI发送'0'或者'1'的次数即芯片数量。
二、获取菊花链内芯片型号分下面几步:
先根据前面介绍的方法获取菊花链包含芯片的数量。本实施例中,以3个芯片的菊花链为例,获取3个芯片的型号。对于包含更多芯片的菊花链来说,其过程完全一样。
下面结合图2、3、4进行说明。
1、如图4,本发明一个优选的实施方式中,可以预设两个数据库,第1个数据库存储各种型号芯片的回读指令和旁路指令的一一对应关系,例如EQ6HL45型号--回读指令100000--旁路指令111111。第2个数据库存储芯片ID值和型号的一一对应关系,例如芯片ID值0x0C10045A--型号EQ6HL45。根据芯片厂商公开信息构建这两个数据库。需要说明的是,上述两个数据库的预设置,可以作为任意步骤在任意地方实施,比如,可以在整个方法流程开始前就设置好等,此处不应以该步骤的位置或举例的实施时间作为该步骤的限定。
2、根据芯片数量发送足够多个1,将所有芯片旁路。由于每个芯片旁路指令是6至8个1,因此3块芯片需要发送18(6*3)至24(8*3)个1,本例中是发送1800个1,大于需要的24个1。
3、下面几步是获取第1个芯片型号。从第1个数据库中按顺序取出1个回读指令,通过TDI发送该回读指令到菊花链。同时接收TDO输出来的数据。
4、将TDO最先接收到的(菊花链包含的芯片数量-当前芯片在菊花链中的序号)个bit丢弃掉,然后继续接收32bit,该值即可能是芯片ID值,其中芯片序号从1开始。本例中菊花链包含3个芯片,当前芯片是第1个芯片,序号是1。因此最先接收到的2bit丢弃掉,然后继续接收32bit。此处,需要说明的是,该继续接收的32bit数据,是基于芯片ID值的固定长度来确定的,当然,如果芯片的ID值的长度出于任何原因进行了调整,那么,此处接收的固定的bit数据长度也可以进行相应的调整。
5、将32bit在第2个数据库中检索,如果有该值,则根据对应关系得到它的型号。如果没有该值,则返回第3步取下一个回读指令再次重复该下发和回读过程。
6、如果第1个数据库中所有回读指令都尝试完,仍然没有得到芯片型号,则标记芯片型号是NULL,以便通过其他方式确定芯片型号,该其他方式例如可以由人工确定型号等。
7、下面几步是获取第2个芯片型号。首先同样是根据芯片数量发送足够多个1,将所有芯片旁路。
8、从第1个数据库中按顺序取出1个回读指令,与当前芯片前面所有芯片的旁路指令拼接组成新指令,本例中当前芯片前面只有第1个芯片,依次与它的旁路指令拼接组成新指令。如果第1个芯片没有确定型号,即它是NULL时,则默认它是eLinx系列芯片。例如取出的回读指令是100000,第1个芯片的旁路指令是111111,则拼接组成新指令是100000111111。
9、通过TDI发送该新指令100000111111到菊花链。同时接收TDO输出来的数据。
10、将TDO最先接收到的(菊花链包含的芯片数量-当前芯片在菊花链中的序号)个bit丢弃掉,然后继续接收32bit,该值即可能是芯片ID值,其中芯片序号从1开始。本例中菊花链包含3个芯片,当前芯片是第2个芯片,序号是2。因此最先接收到的1bit丢弃掉,然后继续接收32bit。
11、将32bit在第2个数据库中检索,如果有该值,则根据对应关系得到它的型号。如果没有该值,则返回第8步取下一个回读指令,再次与当前芯片前面所有芯片的旁路指令拼接组成新指令,再次重复该下发和回读过程。
12、如果第1个数据库中所有回读指令都尝试完,仍然没有得到芯片型号,则标记芯片型号是NULL,以便通过其他方式确定芯片型号,该其他方式例如可以由人工确定型号等。
13、下面几步是获取第3个芯片型号。首先同样是根据芯片数量发送足够多个1,将所有芯片旁路。
14、从第1个数据库中按顺序取出1个回读指令,与当前芯片前面所有芯片的旁路指令拼接组成新指令,本例中当前芯片前面有第1个和第2个芯片,依次与它们的旁路指令拼接组成新指令。如果某个芯片没有确定型号,即它是NULL时,则默认它是eLinx系列芯片。例如取出的回读指令是100000,第1个芯片的旁路指令是111111,第2个芯片的旁路指令是11111111则拼接组成新指令是10000011111111111111。
15、通过输入端TDI发送该新指令10000011111111111111到菊花链。同时接收输出端TDO输出来的数据。
16、将TDO最先接收到的(菊花链包含的芯片数量-当前芯片在菊花链中的序号)个bit丢弃掉,然后继续接收32bit,该值即可能是芯片ID值,其中芯片序号从1开始。本例中菊花链包含3个芯片,当前芯片是第3个芯片,序号是3。因此最先接收到的0bit丢弃掉,也就是不丢弃任何bit,直接接收32bit。
17、将32bit在第2个数据库中检索,如果有该值,则根据对应关系得到它的型号。如果没有该值,则返回第14步取下一个回读指令,再次与当前芯片前面所有芯片的旁路指令拼接组成新指令,再次重复该下发和回读过程。
18、如果第1个数据库中所有回读指令都尝试完,仍然没有得到芯片型号,则标记芯片型号是NULL,以便通过其他方式确定芯片型号,该其他方式例如可以由人工确定型号等。
在一个更为优选的实施方式中,在人工指定或确定芯片型号时,针对内置数据库中可能没有包含的芯片型号,通过人工等方式确定芯片型号后,可以进一步在第一数据库、第二数据库中把相应的芯片型号、旁路指令、回读ID指令等进行存储和补充,从而进一步丰富系统执行中备选的芯片型号读取类别,补充和更新对应的数据库,进一步确保了系统的可靠性。
在又一个实施例中,本发明的方案还可以通过一种检测菊花链包含芯片数量和型号的系统的方式实现,该系统包括:
信号发送模块,用于通过TDI向菊花链发送旁路信号,以及用于设置标识0,并向菊花链发送用于获取菊花链芯片数量数据的信号;以及用于向菊花链发送内置回读ID指令;
信号接收模块,接收菊花链输出端TDO的输出信号,并识别标识0;以及接收菊花链中内置回读ID指令对应的返回值;
数据库模块,用于存储内置回读ID指令,以及芯片ID值与芯片型号的对应关系,和内置回读ID指令与旁路指令的一一对应关系;
输出模块,用于输出返回值,或NULL;
信号发送模块连接待测菊花链输入端TDI及数据库模块,信号接收模块连接待测菊花链输出端TDO及数据库模块;输出模块连接信号接收模块。
在信号发送模块中,向菊花链上发送旁路信号时,需要法宗足够多的M个1,以尽量保证对菊花链上全部芯片的旁路;
进一步优选的,M的确定方式如下:
预估菊花链中用于满足其工程要求需要的芯片数量K;
计算通过旁路指令对该K个芯片旁路所需要的1的最多个数L;
令M值明显大于L。
进一步优选的,在数据库模块中,可以预设第一数据库、第二数据库;
所述第一数据库存储内置回读ID指令、旁路指令的一一对应关系,内置回读ID指令是与不同芯片型号对应的回读ID指令,以形成芯片型号—回读ID指令—旁路指令的一一对应关系;
所述第二数据库存储芯片ID值与芯片型号的一一对应关系。
对应关系的存储,可以更方便地进行回读ID指令的发送和型号的查询、搜索。
更进一步优选的,在信号接收模块中,获取到返回值时,将菊花链输出端TDO最先接收到的A个bit丢弃掉,再继续接收32bit数据,基于该接收的32bit数据,作为芯片ID值,获取该芯片ID值对应的芯片型号。
为了保证回读的芯片ID的正确性,优选的,需要在接收到的数据中去除掉可能的无效数据,即前A个bit的数据,所述A的求解方式为:
A=菊花链包含的芯片数量-当前芯片在菊花链中的序号;
所述序号由菊花链输入端到输出端依序排列,由1开始。
进一步优选的方式,为进一步保证芯片ID值的有效读取,读取菊花链中第i个芯片的ID值前,均首先将菊花链中所有芯片旁路,从而保证数据读取的正确。
更进一步的,对于多个芯片的情况下,当向菊花链中第j个芯片发送获取芯片ID值的指令时,其中j>1,将内置回读ID指令与前j-1个芯片的旁路指令组成新指令,由菊花链输入端TDI发送所述新指令,以读取所述第j个芯片的ID值。
下面,参考图5来描述根据本发明实施例的设备,该设备可以设计成为一基础的电子设备。图5所示为该电子设备的结构示意图。
如图5所示,电子设备600包括一个或多个处理器601和存储器602。
处理器601可以是中央处理单元(CPU)或者具有数据处理能力和/或信息执行能力的其他形式的处理单元,并且可以控制电子设备600中的其他组件以执行期望的功能。
存储器601可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序信息,处理器601可以运行所述程序信息,以实现上文所述的本发明的各个实施例的RISC-V 处理器验证中模式切换的方法或者其他期望的功能。
在一个示例中,电子设备600还可以包括:输入装置603和输出装置604,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。例如,其可以与待测菊花链对应的输入端TDI和输出端TDO连接,并且,也可以与其他常规的输入设备和输出设备连接,以实现人工的输入,以及便于对结果进行查看或查询的信号、信息的输出。
当然,为了简化,图5中仅示出了该电子设备600中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备600还可以包括任何其他适当的组件。
除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序信息,所述计算机程序信息在被处理器运行时使得所述处理器执行本说明书中描述的根据本发明各种实施例的RISC-V 处理器验证中模式切换的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。
此外,本发明的实施例还可以是计算机可读存储介质,所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (7)
1.一种检测菊花链包含芯片数量和型号的方法,其特征在于,所述方法包括:
步骤1、通过TDI向菊花链上芯片发送M个1,实现对菊花链上全部芯片的旁路;
步骤2、向菊花链输入端TDI发送标识0,并启动检测菊花链输出端的TDO是否接收到该标识0;
步骤3、继标识0后,向菊花链输入端TDI发送0或者1,持续检测菊花链输出端的TDO是否接收到该标识0,并记录在标识0后由菊花链输入端TDI发送的0或1的次数,直至菊花链输出端TDO接收到标识0,则芯片数量即为标识0后推送的0或者1的次数;
步骤4、基于步骤3获取的芯片数量,向菊花链输入端TDI发送足够的1,将所有芯片旁路;
步骤5、由菊花链输入端TDI发送至少一种内置回读ID指令,并获取返回值;若获取返回值成功,则基于返回值中的ID,确定芯片型号;
若获取返回值失败,则发送另一种内置回读ID指令,直至获取返回值或者全部内置回读ID指令尝试完毕;
若全部内置回读ID指令尝试完毕仍未获得返回值,则返回NULL;
所述步骤5中,获取到返回值时,将菊花链输出端TDO最先接收到的A个bit丢弃掉,再继续接收32bit数据,基于该接收的32bit数据,作为芯片ID值,获取该芯片ID值对应的芯片型号;
所述A的求解方式为:
A=菊花链包含的芯片数量-当前芯片在菊花链中的序号;所述序号由菊花链输入端到输出端依序排列,由1开始;
当向菊花链中第j个芯片发送获取芯片ID值的指令时,其中j>1,将内置回读ID指令与前j-1个芯片的旁路指令组成新指令,由菊花链输入端TDI发送所述新指令,以读取所述第j个芯片的ID值。
2.根据权利要求1所述的方法,其特征在于,所述步骤1中,M的确定方式如下:
预估菊花链中用于满足其工程要求需要的芯片数量K;
计算通过旁路指令对该K个芯片旁路所需要的1的最多个数L;
令M值明显大于L。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:预设第一数据库、第二数据库;
所述第一数据库存储内置回读ID指令、旁路指令的一一对应关系,内置回读ID指令是与不同芯片型号对应的回读ID指令,以形成芯片型号—回读ID指令—旁路指令的一一对应关系;
所述第二数据库存储芯片ID值与芯片型号的一一对应关系。
4.根据权利要求1所述的方法,其特征在于,所述步骤5中,读取菊花链中第i个芯片的ID值前,均首先将菊花链中所有芯片旁路。
5.根据权利要求1所述的方法,其特征在于,当返回NULL时,默认该芯片型号为eLinx系列芯片或者由人工方式设置芯片型号。
6.一种检测菊花链包含芯片数量和型号的系统,其特征在于,所述系统包括:
信号发送模块,用于通过TDI向菊花链发送旁路信号,以及用于设置标识0,并向菊花链发送用于获取菊花链芯片数量数据的信号;以及用于向菊花链发送内置回读ID指令;
信号接收模块,接收菊花链输出端TDO的输出信号,并识别标识0;以及接收菊花链中内置回读ID指令对应的返回值;
数据库模块,用于存储内置回读ID指令,以及芯片ID值与芯片型号的对应关系,和内置回读ID指令与旁路指令的一一对应关系;
输出模块,用于输出返回值,或NULL;
信号发送模块连接待测菊花链输入端TDI及数据库模块,信号接收模块连接待测菊花链输出端TDO及数据库模块;输出模块连接信号接收模块;
在信号接收模块中,获取到返回值时,将菊花链输出端TDO最先接收到的A个bit丢弃掉,再继续接收32bit数据,基于该接收的32bit数据,作为芯片ID值,获取该芯片ID值对应的芯片型号;
所述A的求解方式为:
A=菊花链包含的芯片数量-当前芯片在菊花链中的序号;所述序号由菊花链输入端到输出端依序排列,由1开始;
当向菊花链中第j个芯片发送获取芯片ID值的指令时,其中j>1,将内置回读ID指令与前j-1个芯片的旁路指令组成新指令,由菊花链输入端TDI发送所述新指令,以读取所述第j个芯片的ID值。
7.一种检测菊花链包含芯片数量和型号的设备,其特征在于,所述设备包括处理器、存储器、输入装置、输出装置;
所述输入装置用于连接菊花链输入端TDI,所述输出装置用于连接菊花链输出端TDO;
所述处理器连接所述输入装置、输出装置及存储器;
所述存储器存储有计算机指令,所述处理器调用所述存储器中的计算机指令以执行如权利要求1-5任一所述的检测菊花链包含芯片数量和型号的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210559445.8A CN114780474B (zh) | 2022-05-23 | 2022-05-23 | 一种检测菊花链包含芯片数量和型号的方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210559445.8A CN114780474B (zh) | 2022-05-23 | 2022-05-23 | 一种检测菊花链包含芯片数量和型号的方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114780474A CN114780474A (zh) | 2022-07-22 |
CN114780474B true CN114780474B (zh) | 2024-02-09 |
Family
ID=82408072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210559445.8A Active CN114780474B (zh) | 2022-05-23 | 2022-05-23 | 一种检测菊花链包含芯片数量和型号的方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780474B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115078976B (zh) * | 2022-08-22 | 2022-12-23 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 核心数量的检测系统及方法 |
CN117935743B (zh) * | 2024-03-22 | 2024-05-31 | 钰泰半导体股份有限公司 | 背光光源分区调光控制方法、电路及led驱动芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102183548A (zh) * | 2011-03-16 | 2011-09-14 | 复旦大学 | 一种基于菊花链回路设计的定位失效凸点的方法 |
CN102305907A (zh) * | 2011-05-31 | 2012-01-04 | 中国科学院深圳先进技术研究院 | 多芯片封装结构的测试方法和系统 |
CN114360632A (zh) * | 2022-03-18 | 2022-04-15 | 中国科学院微电子研究所 | 包含固态硬盘主控芯片的固态硬盘芯片检测方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0509738D0 (en) * | 2005-05-12 | 2005-06-22 | Cambridge Consultants | Processor and interface |
JP5503924B2 (ja) * | 2009-08-27 | 2014-05-28 | 矢崎総業株式会社 | 複数組電池の状態監視ユニット |
US11275590B2 (en) * | 2015-08-26 | 2022-03-15 | Huawei Technologies Co., Ltd. | Device and processing architecture for resolving execution pipeline dependencies without requiring no operation instructions in the instruction memory |
-
2022
- 2022-05-23 CN CN202210559445.8A patent/CN114780474B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102183548A (zh) * | 2011-03-16 | 2011-09-14 | 复旦大学 | 一种基于菊花链回路设计的定位失效凸点的方法 |
CN102305907A (zh) * | 2011-05-31 | 2012-01-04 | 中国科学院深圳先进技术研究院 | 多芯片封装结构的测试方法和系统 |
CN114360632A (zh) * | 2022-03-18 | 2022-04-15 | 中国科学院微电子研究所 | 包含固态硬盘主控芯片的固态硬盘芯片检测方法及装置 |
Non-Patent Citations (1)
Title |
---|
集成电路芯片安全性自动化检测技术研究;武海龙;《中国优秀硕士学位论文全文数据库信息科技辑》;I135-577 * |
Also Published As
Publication number | Publication date |
---|---|
CN114780474A (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114780474B (zh) | 一种检测菊花链包含芯片数量和型号的方法、系统及设备 | |
JP4856429B2 (ja) | バス検査のためのオンチップ回路 | |
US8269506B2 (en) | Signal integrity test system and method | |
CN112148515B (zh) | 一种故障定位方法、系统、装置、介质和设备 | |
CN102549443A (zh) | 可编程协议发生器 | |
JP2003076578A (ja) | マイクロコンピュータ及びデバッグシステム並びにトレース情報収集方法 | |
CN113065300B (zh) | 芯片eda仿真中回溯仿真波形的方法、系统及装置 | |
US20210173010A1 (en) | Diagnostic tool for traffic capture with known signature database | |
CN114924119B (zh) | 时钟芯片及频率测量方法 | |
CN100409199C (zh) | 集成电路内诊断数据的捕获 | |
CN110888731A (zh) | 路由数据采集方法、装置、设备及存储介质 | |
CN110580220B (zh) | 测量代码段执行时间的方法及终端设备 | |
CN112445749A (zh) | 一种信号检测记录方法、系统、设备以及介质 | |
CN112015119A (zh) | 调试控制电路和调试控制方法 | |
CN116776786A (zh) | 一种芯片验证方法、装置及相关设备 | |
US5941995A (en) | Reloading state analyzer | |
US9298468B2 (en) | Monitoring processing time in a shared pipeline | |
JP2001273794A (ja) | フェイル前情報取得回路およびその取得方法 | |
CN112527335B (zh) | 自动化处理npm依赖包安装的方法、系统和计算机设备 | |
JP2003218872A (ja) | ディジタル信号測定装置及びトラフィック観測方法 | |
CN112363915A (zh) | 用于页面性能测试的方法、装置、终端设备及存储介质 | |
KR20180089121A (ko) | 온 칩 dram을 사용한 멀티코어 환경에서의 포스트 실리콘 디버그 장치 및 방법 | |
US8572449B1 (en) | Integrated functional testing mechanism for integrated circuits | |
CN114067939B (zh) | 样本加样时间确定方法、装置和电子设备 | |
CN116048901B (zh) | 数据检测方法、装置、电子设备、存储介质及芯片 |
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 |