CN103645435A - 多信号模型可编程逻辑器件的软件模块可测性设计方法 - Google Patents

多信号模型可编程逻辑器件的软件模块可测性设计方法 Download PDF

Info

Publication number
CN103645435A
CN103645435A CN201310683628.1A CN201310683628A CN103645435A CN 103645435 A CN103645435 A CN 103645435A CN 201310683628 A CN201310683628 A CN 201310683628A CN 103645435 A CN103645435 A CN 103645435A
Authority
CN
China
Prior art keywords
module
fault
code
logic device
rule
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
CN201310683628.1A
Other languages
English (en)
Other versions
CN103645435B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201310683628.1A priority Critical patent/CN103645435B/zh
Publication of CN103645435A publication Critical patent/CN103645435A/zh
Application granted granted Critical
Publication of CN103645435B publication Critical patent/CN103645435B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明公开了一种多信号模型可编程逻辑器件的软件模块可测性设计方法,在可编程逻辑器件的软件模块的语句模块中预先插装故障检测模块,在软件模块每次执行过程中,各个语句模块根据其故障检测模块的结果并行输出故障码,可编程逻辑器件将所有语句模块的故障码按照设定顺序串行输出为故障码流,上位机采用高速数据采集装置捕获输出的故障码流并显示,供测试人员通过多信号模型建模分析后进行故障诊断与定位,从而满足可编程逻辑器件的软件模块的可测性需求。

Description

多信号模型可编程逻辑器件的软件模块可测性设计方法
技术领域
本发明属于可编程逻辑器件技术领域,更为具体地讲,涉及一种多信号模型可编程逻辑器件的软件模块可测性设计方法。
背景技术
在科学技术高度发展的今天,电子***设备越来越复杂,测试工作处于各种现代电子设备设计和制造的首位,并成为生产率、制造能力及实用性水平的重要标志。随着集成电路设计和加工技术的飞速发展、以及为了达到快速开发的目的,越来越多的电子***设计中用到了FPGA(Field Programmable GateArray,现场可编程门阵列)和CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)等可编程逻辑器件,这类器件的集成度和封装性都很高,使得其工作状态、过程和性能对用户来说是完全隐性的。
以往在电路设计完成后,通常是以手工的方式来加入测点,然后通过建立多信号模型等方法来实现可测性设计,然而如上所述,这类器件的集成度和封装性很高,而且其工作状态、过程和性能对用户完全隐性的特点,使得这样的可测性设计费时费力且效果还不尽人意。
可编程逻辑器件的功能是通过编写硬件代码,然后将代码在器件内部进行实例化、布线实现的。因此,这类器件和传统的硬件芯片不同,由于其可编程性,可以将其组成的***作为一个带有软件的***。目前可测试性设计没有对这类***作专门考虑,而是从硬件功能上去体现,这具有很大的局限性:首先,软件功能不一定全部体现在硬件上;其次,没有软件模块的可测试性设计,就无法实现对软件故障的定位,从而把软件故障错误地归结到硬件上;最后,有些故障可能是由于软件和硬件匹配和交叉产生的,这种“联合故障”很难确定。
多信号模型是一种简单而有效的建模表示方法,用于***测试性分析、故障诊断等;在产品结构的基础上以分层有向图表示信号流向和各组成单元的连接关系,通过定义组成单元、信号、故障模式、测试等建立多信号模型,实现可测性设计。但多信号模型更多是从硬件层面上去实现,没有从软件模块方面作考虑可测性设计。
软件可测性本身是一个复杂的课题,目前研究很多,但未见在电子***可测试性建模上从软件角度作***级专门考虑的研究报道。因此有必要找出一种对可编程逻辑器件软件模块的可测性设计方法。
发明内容
本发明的目的在于克服现有技术的不足,提供一种多信号模型可编程逻辑器件的软件模块可测性设计方法,满足可编程逻辑器件的软件模块可测性需求。
为实现上述发明目的,本发明多信号模型可编程逻辑器件的软件模块可测性设计方法,其特征在于包括以下步骤:
S1:对于可编程逻辑器件各功能文件模块中需要进行测试的语句模块,包括always模块和assign模块,进行故障检测模块插装,具体检测方法为:
对always模块,在原代码中设置当判断条件成立时,令条件标志为A;判断条件不成立时,令条件标志为a;并增加一个与该always模块相同的对照模块,同时执行两个模块,执行结束后,判断always模块输出的条件标志和对照模块输出的条件标志对照值是否相等,如果不相等则说明“判断条件故障”,否则“判断条件正常”,并且判断always模块功能代码的执行结果和对照模块中功能代码的执行结果是否相等,如果不相等则说明“执行内容功能故障”,否则“执行内容功能正常”;
对assign模块,在原代码中设置当判断条件成立时,令故障标志等于判断条件标准值,否则故障标志不等于判断条件标准值;assign模块运行结束后,判断故障标志与判断条件是否相等,如果不相等则该assign模块“故障”,如果相等则“正常”;
S2:运行可编程逻辑器件,在每次执行过程中,各个语句模块根据其故障检测模块的结果并行输出故障码,再按照设定顺序串行输出为故障码流;
S3:上位机采用高速数据采集装置捕获步骤S2输出的故障码流并显示。
进一步地,需要进行测试的语句模块通过对可编程逻辑器件的多信号模型分析得到,其具体方法为:对需要进行测试的语句模块进行故障检测模块插装,进行多个故障设置模拟并得到对应的故障码流,对所有故障码流采用多信号模型依赖矩阵简化原理进行简化,简化后仍保留的故障码对应的插装点即为软件模块的故障测试点。
进一步地,步骤S2中的故障码流第一位为故障标志码,在可编程逻辑器件一次执行过程中,只要有任意一个语句模块的故障码为“有故障”状态,该故障标志码即为“有故障”状态;在步骤S3中,只有上位机检测到故障标志码为“有故障”状态才将故障码流进行显示输出。
进一步地,步骤S2中的故障码流通过可编程逻辑器件的JTAG接口输出。
进一步地,高速数据采集装置为Quartus内置逻辑分析仪。
本发明多信号模型可编程逻辑器件的软件模块可测性设计方法,在可编程逻辑器件的软件模块的语句模块中预先插装故障检测模块,在软件模块每次执行过程中,各个语句模块根据其故障检测模块的结果并行输出故障码,可编程逻辑器件将所有语句模块的故障码按照设定顺序串行输出为故障码流,上位机采用高速数据采集装置捕获输出的故障码流并显示,供测试人员通过多信号模型建模分析后进行故障诊断与定位,从而满足可编程逻辑器件的软件模块的可测性需求。
附图说明
图1是可编程逻辑器件功能文件模块结构示意图;
图2是故障检测模块插装示意图;
图3是本发明故障码输出硬件结构示意图;
图4是本发明故障码输出逻辑结构图;
图5是Quartus内置逻辑分析仪对故障码流的显示图;
图6是PCI数据采集卡故障码输出硬件结构示意图;
图7是故障码在PCI数据采集卡内部的处理示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
本发明多信号模型可编程逻辑器件的软件模块可测性设计方法包括以下步骤:
S101:对于可编程逻辑器件各功能文件模块中需要进行测试的语句模块,包括always模块和assign模块,进行故障检测模块插装。
在本发明中,为了实现软件模块的故障测试,需要对软件代码进行功能分析,选择合适的插装点对功能代码插装故障检测模块代码,测试人员通过对故障检测模块输出的故障码进行分析,达到故障诊断和定位的目的。
图1是可编程逻辑器件功能文件模块结构示意图。对于一个可编程逻辑器件芯片而言,在进行功能代码编写时,一般会将其功能分为多个功能块,然后分别对每个功能块编写为一个文件,即如图1中所示的功能文件模块A和功能文件模块B。每个功能文件模块中除接口和定义部分外,包括多个语句模块,语句模块有always模块和assign模块两类。功能文件模块间的通信则是通过接口定义部分完成的,而其功能的实现完全在于always模块和assign模块这两种模块,各个always模块和assign模块之间是并发执行、在同一时刻是互不相干的。因此对可编程逻辑器件软件模块的故障检测模块插装就是选择需要检测的always模块或assign模块,在其中进行故障检测模块插装即可,故障检测模块不会对always模块或assign模块的运行产生影响。
图2是故障检测模块插装示意图。如图2所示,对功能文件模块A的所有always模块和assign模块都独立、平行地***故障检测模块。在***运行的时候,每个always模块和assign模块中的原功能语句代码和故障码语句同时执行,且两种语句之间是互不影响的,在每个always模块和assign模块输出功能流的同时,额外输出故障码,且故障码的输出不影响原功能流的输出,故障码就是判断各个语句模块是否出现故障的依据。
两种模块进行插装的具体方式如下:
●always模块
在可编程逻辑器件的always模块中采用的是根据判断条件执行不同功能的代码结构,容易出现的故障模式有两种:
(1)、判断条件故障,即判断条件的值从正常值变为了故障值,具体表现是判断条件的某些位在0和1之间变动。出现这种故障会造成本该执行的功能代码没有执行,而不该执行的功能代码执行,从而造成***出现故障。
(2)、执行内容功能故障:即执行语句中一些代码出现错误而产生的故障。这种故障会导致虽然流程是正确的,但在流程中实现的功能是错误的。
本发明中,对always模块的插装检测方法为:在原代码中设置当判断条件成立时,令条件标志为A;判断条件不成立时,令条件标志为a;并增加一个与该always模块相同的对照模块,同时执行两个模块,执行结束后,判断always模块输出的条件标志和对照模块输出的条件标志对照值是否相等,如果不相等则说明“判断条件故障”,否则“判断条件正常”,并且判断always模块功能代码的执行结果和对照模块中功能代码的执行结果是否相等,如果不相等则说明“执行内容功能故障”,否则“执行内容功能正常”。下面以一个具体代码实例来进行具体说明,本实施例中的所有代码均采用verilog语言完成。
always模块的内部原始代码的常用结构为:
Figure BDA0000437536540000051
下面对一个实现赋值功能的简单代码进行插装:
Figure BDA0000437536540000052
Figure BDA0000437536540000061
其中condition表示判断条件,always_done_flag表示条件标志,function表示功能代码,从代码可见本实例是实现赋值功能。除在原代码中进行代码插装外,还需要增加一个与插装后always模块相同的对照模块,其代码如下:
Figure BDA0000437536540000062
为易于区分,本实例的对照模块中用always_done_register表示条件标志对照值,用always_function_register表示对照的功能代码。
对于判断条件故障,假设(X)处的判断条件错误写成condition=1’b0,那么当condition=1时,经执行过后,此时原always模块得到的条件标志always_done_flag值为0,而对照模块得到的条件标志对照值always_done_register值为1,可见经过简单对比条件标志和条件对照值即可检测到判断条件是否故障。类似的,对于执行内容功能故障,通过判断原always模块功能代码的执行结果和对照模块中功能代码的执行结果是否相等即可检测得到。
在实际应用中,一个always模块中存在多个实现不同功能的功能代码,由于对照模块与插装后的always模块相同,因此通过比较对应功能代码的执行结果即可实现不同功能代码的检测。
●assign模块
assign模块作为驱动型语句模块,一定会执行,不存在执行与否的故障,因此assign模块中插装的故障检测模块只进行该模块功能是否正确执行的诊断。
assign模块有两种模式,一种是不带判断条件的,一种是带判断条件的。前者太简单,因此在本发明中不做故障考虑范围。容易出现故障的是带有判断条件进行选择的语句,其结构为:
所需功能=(判断条件)?功能1:功能2;
从这种结构中分析,assign模块会出现的故障有:
(1)、判断条件的故障——由于判断条件出现异常,造成本该执行功能1或者功能2,却执行了另外一个;
(2)、功能故障——功能1或功能2自身功能代码的故障。
本发明中,对assign模块的插装检测方法为:在原代码中设置当判断条件成立时,令故障标志等于判断条件标准值,否则故障标志不等于判断条件标准值;assign模块运行结束后,判断故障标志与判断条件是否等于,如果不相等则该assign模块“故障”,如果相等则“正常”。下面以一个具体代码实例来进行具体说明。
assign function=(condition=1’b1)?function_one:function_two;  //原代码assign{assign_function_flag,function}=(condition=1’b1)?{1’b1,function_one}:{1’b0,function_two};  //插装后的代码
其中,assign_funtion_flag表示故障标志,condition表示判断条件。
假如条件判断出现故障,例如代码由condition=1’b1写成condition=1’b0,则会出现故障标志assign_funtion_flag与判断条件condition不等的情况。对于功能故障,假如功能出现故障,代码被写成了:
Assign{assign_funtion_flag,function}=(condition=1’b1)?{1’b0,function_two}:{1’b1,function_one};
同样在执行后会出现故障标志assign_funtion_flag与判断条件condition不等的情况。可见,在执行过后比较故障标志assign_funtion_flag和判断条件condition的值是否相等,即可检测得到故障,也就是相等则没有故障,不等则出现故障。
S102:故障码输出
在完成故障检测模块的插装后,接下来要将得到的故障码进行输出。由前面对可编程逻辑器件及其文件内部结构分析可以知道,各个always模块和assign模块在同一时刻是独立的。并且由于在故障检测模块插装时是将插装的故障检测代码作为模块内部的语句进行的,因此所得到的各个语句模块的故障码也是独立、并行的。基于这种情况,在具有多个always模块和assign模块的芯片中,想要同时通过总线捕获这些故障代码流,则需要多个I/O引脚将这些故障码输出,但是可编程逻辑器件的I/O引脚是有限的,并且主要用于实现功能。此外,同时观测多个语句模块的故障码会造成***开销较大。
因此在本发明中,在可编程逻辑器件内部,在每次执行过程中,各个语句模块根据其故障检测模块的结果并行输出故障码,再按照设定顺序通过并转串后串行输出为故障码流。串行输出可以采用一个缓存器件将各语句模块的故障码缓存,再按预定顺序依次输出至上位机进行分析。图3是本发明故障码输出硬件结构示意图。如图3所示,本实施例中故障检测模块输出的故障码流是从JTAG接口串行输出至上位PC机的,这种方式可以不占用I/O引脚。
为了节约***资源,一种优选的方式是上位机只在产生故障时输出显示故障码,因此可以引入一个故障标志码,本实施例中记为total_code,在可编程逻辑器件一次执行过程中,只要有任意一个语句模块的故障码为“有故障”状态,该故障标志码即为“有故障”状态。当故障标志码为“有故障”状态时,上位机中高速数据采集装置才会将故障码流进行显示输出。
如果各语句模块表示故障“有”或“无”的代码一致,那么该过程可以简单地采用与操作或者或操作实现。如果各语句模块在检测到有无故障时输出相同,例如有故障时统一输出“0”,未产生故障时统一输出“1”,那么直接将各故障码进行与操作即可得到total_code。图4是本发明故障码输出逻辑结构图。以图4所示为例,假设一个可编程逻辑器件简单地包含了两个always模块和一个assign模块,且检测到故障时统一输出“0”,即:
total_code=(always_module_one_code&always_module_two_code& assign_module_one_code)?1:0;
在对故障码进行并转串时,将故障标志码放在第一位,即依次输出total_code,always_module_one_code,always_module_two_code,&assign_module_one_code,当上位机检测到故障标志码为“0”,即为“有故障”状态,才接收故障码流。这种方式可以通过电平触发来实现。
S103:故障码接收和观测
上位机采用高速数据采集装置捕获故障码流,将接收的故障码流进行显示,供测试人员通过多信号模型建模分析后进行故障的定位和诊断。如在图3所示的实施方式中是采用Quartus(FPGA设计软件)内置虚拟逻辑分析仪进行的捕获和显示的。图5是Quartus内置逻辑分析仪对故障码流的显示图。该图所示实例中设置了故障标志码,且故障标志码为“0”时表示“有故障”状态。如图5所示,0时刻出现了由高电平到低电平的转变,这表明待测板出现了故障;且该实例只设置了11位故障码,因此在观测故障码时只需记录从0时刻到11时刻之间的数据即可。
但是在实际应用中,只能对于FPGA芯片采用Quartus内置的虚拟逻辑分析仪进行故障码流的捕获和显示,可编程逻辑器件另一个系列CPLD中因为内部没有可编程RAM(Random Access Memory,随机存储器),而不能使用这一功能。因此在含有CPLD器件的***中,需要将CPLD的故障码流先输出给临近的FPGA器件,再由FPGA输出至上位机中供捕获观察。
实施例
下面以一块包含有CPLD和FPGA的双通道PCI数据采集卡为例说明对可编程逻辑器件软件模块进行故障检测模块插装实现其可测性设计的方法。
图6是PCI数据采集卡故障码输出硬件结构示意图。如图6所示,该PCI采集卡含有一块FPGA芯片和一块CPLD芯片。其数据采集的功能,通过PCI接口进入上位机(图中虚线为功能数据传输部分);CPLD芯片的故障码流先输出给FPGA芯片,FPGA芯片将自身故障码和CPLD芯片故障码流一起通过JTAG接口经过JTAG适配器串行输出至上位机的Quartus软件中(图中实线为故障码传输部分),由Quartus内置虚拟逻辑分析仪捕获并显示以供观察。
图7是故障码在PCI数据采集卡内部的处理示意图。如图7所示,CPLD芯片和FPGA芯片各自将其芯片中的各个功能文件模块的故障码进行串行输出处理形成故障码流,CPLD芯片将其故障码流送入FPGA中,与FPGA的故障码流进行合并,通过FPGA的JTAG接口输出至上位PC机被捕获。
本实施例中以FPGA中一个功能文件模块为例来说明多信号模型可编程逻辑器件的软件模块可测性设计方法,该功能文件模块的作用是将前端传送来的数据进行预处理。根据对该功能文件模块的功能分析,按照先前所述的插装方法对最容易出现故障且对***性能影响较大的语句模块进行了故障检测模块插装,共计11个插装点(故障标志码total_code也作为一个插装点)。然后进行故障设置模拟,并采用Quartus内置虚拟逻辑分析仪捕获观测到的故障码。表1是模拟故障下故障码流输出。
故障模式 一通道 二通道 双通道
A xx_xxxx_xxxx_x 11_1111_0010_0 11_1111_1111_1
B xx_xxxx_xxxx_x 11_1111_1101_0 11_1111_1111_1
C 11_1111_1111_1 xx_xxxx_xxxx_x 11_1111_1111_1
D 11_1111_1111_1 xx_xxxx_xxxx_x 11_1111_1111_1
E 11_1111_0010_0 11_1111_1111_1 xx_xxxx_xxxx_x
F 11_1111_1111_1 11_1111_0010_0 11_1111_1111_1
G 11_1111_0010_0 11_1111_1111_1 11_1111_1111_1
H 11_1111_1111_1 11_1111_1111_1 11_1111_1111_1
I 11_1111_1111_1 11_1111_0000_0 11_1111_1111_1
J 11_1111_1111_1 11_1111_1111_1 11_1111_1111_1
K 10_0111_1111_0 10_0111_1111_0 10_0111_1111_0
L xx_xxxx_xxxx_x xx_xxxx_xxxx_x xx_xxxx_xxxx_x
表1
表1中,一通道表示***工作在单独对一通道采集的模式下;二通道表示***工作在单独对二通道采集的模式下;双通道表示***工作在对一通道和二通道同时采集的模式下;A-L表示***工作在不同的故障模式下。
表1中的数据:xx_xxxx_xxxx_x为捕获到的故障码,其中最右边的1位为上面插装方法中提到的total_code,其余位则是各个always模块或者assign模块插装点的故障码。故障码数据中“1”表示该位所对应的always模块或者assign模块插装点没有故障;“0”表示该位所对应的always模块或者assign模块插装点有故障;“x”表示该位所对应的always模块或者assign模块插装点的故障状态无法获得。而total_code位为“1”时,表示***工作在该故障模式下没有故障;为“0”表示在该模式下出现故障;为“x”表示在该模式下无法检测到。
通过观察表1,可以看到即使在一个很小的功能文件模块中进行部分重要语句模块的插装,需要插装的点具有11个,那么对整个***而言,最终需要插装的地方将是很多,得到的故障码流将是很长的,且是一串0、1,很不利于观察。因此,希望能通过简化,从而观察少有的几个插装点的故障码,就可以进行故障诊断和定位。因此本发明可以借鉴于多信号模型对所捕获的故障码流进行处理,最终实现以少量的故障码插装点数据实现可测性设计。对表1利用多信号模型依赖矩阵简化原理进行简化,包括对相同的行进行合并、对相同的列进行删除,可以得到简化后的故障码表,如表2所示:
故障模式 一通道 二通道 双通道
A x x x 100 111
B x x x 010 111
C 111 x x x 111
D 111 x x x 111
E 100 111 x x x
F 111 100 111
G 100 111 111
H 111 111 111
I 111 000 111
J 111 111 111
K 110 110 110
L x x x x x x x x x
表2
表2中的xxx从左到右依次是表1中xx_xxxx_xxxx_x的右三位。可见,表2中最后所需观察的故障码流从表1中的11位缩减为了现在的3位,从而使得传输和观测的数据量大大减少。
通过对简化后的表2进行比较和判断,可以看到其中有一个模糊组C和D,还有两个没法检测到故障的H和J。由于本实施例是针对于数据采集卡中FPGA芯片的,因此数据采集卡采集得到的数据也是一种故障表现。表3是本实施例中的采集数据故障表现。
故障模式 一通道 二通道 双通道
C 数据正常 无法采集 数据正常
D 数据正常 无法采集 数据正常
H 数据重复 数据正常 数据正常
J 数据正常 数据正常 数据重复
表3
在加入这个故障表现之后,H和J故障是可以检测和隔离的,而C和D故障依然还是模糊组。
通过上面的分析可以得到,本实施例的故障检测率为100%,故障隔离率为83.3%,基本满足可测性设计的要求。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (5)

1.一种多信号模型可编程逻辑器件的软件模块可测性设计方法,其特征在于包括以下步骤:
S1:对于可编程逻辑器件各功能文件模块中需要进行测试的语句模块,包括always模块和assign模块,进行故障检测模块插装,具体检测方法为:
对always模块,在原代码中设置当判断条件成立时,令条件标志为A;判断条件不成立时,令条件标志为a;并增加一个与该always模块相同的对照模块,同时执行两个模块,执行结束后,判断always模块输出的条件标志和对照模块输出的条件标志对照值是否相等,如果不相等则说明“判断条件故障”,否则“判断条件正常”,并且判断always模块功能代码的执行结果和对照模块中功能代码的执行结果是否相等,如果不相等则说明“执行内容功能故障”,否则“执行内容功能正常”;
对assign模块,在原代码中设置当判断条件成立时,令故障标志等于判断条件标准值,否则故障标志不等于判断条件标准值;assign模块运行结束后,判断故障标志与判断条件是否相等,如果不相等则该assign模块“故障”,如果相等则“正常”;
S2:运行可编程逻辑芯片件,在每次执行过程中,各个语句模块根据其故障检测模块的结果并行输出故障码,再按照设定顺序串行输出为故障码流;
S3:上位机采用高速数据采集装置捕获步骤S2输出的故障码流并显示。
2.根据权利要求1所述的软件模块可测性设计方法,其特征在于,所述需要进行测试的语句模块通过对可编程逻辑器件的多信号模型分析得到,其具体方法为:对需要进行测试的语句模块进行故障检测模块插装,进行多个故障设置模拟并得到对应的故障码流,对所有故障码流采用多信号模型依赖矩阵简化原理进行简化,简化后仍保留的故障码对应的插装点即为软件模块的故障测试点。
3.根据权利要求1所述的软件模块可测性设计方法,其特征在于,所述步骤S2中的故障码流第一位为故障标志码,在可编程逻辑器件一次执行过程中,只要有任意一个语句模块的故障码为“有故障”状态,该故障标志码即为“有故障”状态;在步骤S3中,只有上位机检测到故障标志码为“有故障”状态才将故障码流进行显示输出。
4.根据权利要求1所述的软件模块可测性设计方法,其特征在于,所述步骤S2中的故障码流通过可编程逻辑器件的JTAG接口输出。
5.根据权利要求1所述的软件模块可测性设计方法,其特征在于,所述高速数据采集装置为Quartus内置逻辑分析仪。
CN201310683628.1A 2013-12-13 2013-12-13 多信号模型可编程逻辑器件的软件模块可测性设计方法 Expired - Fee Related CN103645435B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310683628.1A CN103645435B (zh) 2013-12-13 2013-12-13 多信号模型可编程逻辑器件的软件模块可测性设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310683628.1A CN103645435B (zh) 2013-12-13 2013-12-13 多信号模型可编程逻辑器件的软件模块可测性设计方法

Publications (2)

Publication Number Publication Date
CN103645435A true CN103645435A (zh) 2014-03-19
CN103645435B CN103645435B (zh) 2016-03-23

Family

ID=50250685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310683628.1A Expired - Fee Related CN103645435B (zh) 2013-12-13 2013-12-13 多信号模型可编程逻辑器件的软件模块可测性设计方法

Country Status (1)

Country Link
CN (1) CN103645435B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104678292A (zh) * 2015-03-09 2015-06-03 杭州华三通信技术有限公司 一种复杂可编程逻辑器件cpld测试方法和装置
CN105022864A (zh) * 2015-06-30 2015-11-04 北京轩宇信息技术有限公司 一种基于扩展依赖矩阵的***测试点选取方法
CN105468797A (zh) * 2014-08-22 2016-04-06 深圳市中兴微电子技术有限公司 一种信息处理方法及装置
CN112415301A (zh) * 2020-10-27 2021-02-26 成都飞机工业(集团)有限责任公司 一种电子产品测试过程结构化描述方法
CN112612241A (zh) * 2020-12-15 2021-04-06 中国航空综合技术研究所 航空装备现场可编程逻辑器件软件安全性分析方法
CN113806218A (zh) * 2021-08-18 2021-12-17 西安航空制动科技有限公司 一种故障综合逻辑判断优化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745358B1 (en) * 2001-11-30 2004-06-01 Lsi Logic Corporation Enhanced fault coverage
CN101183140A (zh) * 2007-12-26 2008-05-21 中国科学院计算技术研究所 一种片上多核处理器的测试电路及其可测试性设计方法
CN101191818A (zh) * 2007-12-12 2008-06-04 北京中星微电子有限公司 一种芯片测试的方法、***及一种测试设备
CN101413990A (zh) * 2008-12-03 2009-04-22 北京大学 一种现场可编程门阵列的测试方法及***
CN103105534A (zh) * 2013-01-31 2013-05-15 西安电子科技大学 基于fpga相同周期信号的相位差测量电路及测量方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745358B1 (en) * 2001-11-30 2004-06-01 Lsi Logic Corporation Enhanced fault coverage
CN101191818A (zh) * 2007-12-12 2008-06-04 北京中星微电子有限公司 一种芯片测试的方法、***及一种测试设备
CN101183140A (zh) * 2007-12-26 2008-05-21 中国科学院计算技术研究所 一种片上多核处理器的测试电路及其可测试性设计方法
CN101413990A (zh) * 2008-12-03 2009-04-22 北京大学 一种现场可编程门阵列的测试方法及***
CN103105534A (zh) * 2013-01-31 2013-05-15 西安电子科技大学 基于fpga相同周期信号的相位差测量电路及测量方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468797A (zh) * 2014-08-22 2016-04-06 深圳市中兴微电子技术有限公司 一种信息处理方法及装置
US10354031B2 (en) 2014-08-22 2019-07-16 Sanechips Technology Co., Ltd. Information processing by interpenetrating signal transmission channel in design for testability of chip
CN105468797B (zh) * 2014-08-22 2019-10-22 深圳市中兴微电子技术有限公司 一种信息处理方法及装置
CN104678292A (zh) * 2015-03-09 2015-06-03 杭州华三通信技术有限公司 一种复杂可编程逻辑器件cpld测试方法和装置
CN105022864A (zh) * 2015-06-30 2015-11-04 北京轩宇信息技术有限公司 一种基于扩展依赖矩阵的***测试点选取方法
CN105022864B (zh) * 2015-06-30 2018-03-09 北京轩宇信息技术有限公司 一种基于扩展依赖矩阵的***测试点选取方法
CN112415301A (zh) * 2020-10-27 2021-02-26 成都飞机工业(集团)有限责任公司 一种电子产品测试过程结构化描述方法
CN112612241A (zh) * 2020-12-15 2021-04-06 中国航空综合技术研究所 航空装备现场可编程逻辑器件软件安全性分析方法
CN112612241B (zh) * 2020-12-15 2021-09-28 中国航空综合技术研究所 航空装备现场可编程逻辑器件软件安全性分析方法
CN113806218A (zh) * 2021-08-18 2021-12-17 西安航空制动科技有限公司 一种故障综合逻辑判断优化方法
CN113806218B (zh) * 2021-08-18 2023-06-09 西安航空制动科技有限公司 一种故障综合逻辑判断优化方法

Also Published As

Publication number Publication date
CN103645435B (zh) 2016-03-23

Similar Documents

Publication Publication Date Title
CN103645435B (zh) 多信号模型可编程逻辑器件的软件模块可测性设计方法
CN102541707B (zh) 复用jtag接口的fpga片内逻辑分析仪***和方法
US8281280B2 (en) Method and apparatus for versatile controllability and observability in prototype system
CN1818912B (zh) 可扩展可重配置的原型***及方法
US8997034B2 (en) Emulation-based functional qualification
US8607174B2 (en) Verification module apparatus to serve as a prototype for functionally debugging an electronic design that exceeds the capacity of a single FPGA
CN107992390B (zh) 一种基于片上总线的芯片调试方法
CN102092477A (zh) 飞机音频综合***自动测试与故障诊断装置及方法
CN103870627A (zh) 设计及仿真***、装置及方法
CN107608846B (zh) 一种针对fpga内嵌tap接口的调试链路及调试方法
JP6653756B2 (ja) 回路設計をデバッグするための方法および回路
US10678976B2 (en) Generic protocol analyzer for circuit design verification
CN104536867B (zh) 实现多片现场可编程门阵列调试的***及方法
CN105787164A (zh) 一种用于可编程逻辑器件的调试方法及***
CN106294144B (zh) 串行通信协议的测试向量的生成方法、***及服务器
CN103376340A (zh) 一种转接板、多平台串行测试***及方法
US7373619B2 (en) Post-silicon test coverage verification
CN103425804B (zh) 一种图形化显示时钟***结构的方法
CN105182221A (zh) 一种jtag多路选择器及其在单芯片***中的连接方法
US11200129B2 (en) Performance evaluation for an electronic design under test
CN105334451A (zh) 边界扫描测试***
CN102236068A (zh) 一种芯片测试的方法和装置
CN103796009A (zh) 一种fpga质量诊断测试***
CN106546850B (zh) 一种基于检测热台的sru故障确认方法及装置
CN103165405A (zh) 一种通过gpib接口实时生成多维变量密码方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160323

Termination date: 20191213

CF01 Termination of patent right due to non-payment of annual fee