fpga内的被测装置的测试逻辑电路与测试方法
技术领域
1.本技术属于现场可编程门阵列(field programmable gate array,fpga)领域,涉及加速fpga手动输入的验证系统。
背景技术:2.fpga验证是通过将被测装置(dut,device-under-test)烧录到fpga芯片上,然后在fpga上挂接各种外设,模拟测试对象的实际应用场景来验证它的逻辑功能。测试对象外设接口相当丰富,可高达上百个引脚,这些引脚都需要映像到fpga引脚上,这就造成了占用过多硬件资源的问题。其次,每个测试对象搭建的环境无法应用到其他测试对象上,这就造成了fpga验证低灵活性,低可复用性的问题。
3.请参考图1所示,其为现有技术中的fpga验证系统100的方块示意图。该fpga验证系统100包含一个fpga芯片110,该fpga芯片110烧录了被测装置。该fpga验证系统100还包含一块电路板140,用于乘载该fpga芯片110与各式各样的开关120与按键130。该电路板140包含了用于连接fpga芯片110的多个引脚和各开关120与按键130的电路。
4.该fpga验证系统100可以包含直插或贴片式拨码开关(dip/smd switch)、开关、按键等各种输入接口让测试人员输入。由于fpga验证需要将fpga芯片110连接到电路板140,并且在电路板140设置上述的拨码开关、按键130、开关120等装置,因此fpga芯片110就必须花费大量的引脚,用于连接至电路板140上的输入接口。除此之外,测试人员透过上述的输入接口进行设置时,可能因为设置错误而浪费许多时间。例如拨码开关的尺寸非常小,测试人员必须使用指甲对开关进行拨动。而且两个拨码开关之间的空隙非常小,即便是非常注意,测试人员也可能拨错或误拨到相邻的拨码开关。再者,这些输入接口经常会发生故障或接触不良的问题,有时候并不是被测装置故障,而是输入接口的元器件故障,导致测试发生错误。
5.据此,亟需一种fpga验证系统,可以节省fpga芯片的被测装置使用的引脚,并且减少测试电路板上连接至fpga芯片内部的被测装置的输入接口。
技术实现要素:6.本技术是为了解决现有技术中的不足而提出的一种fpga内的被测装置的测试逻辑电路及测试方法,目的是节省fpga芯片的被测装置使用的引脚,并且减少测试电路板上连接至fpga芯片内部的被测装置的输入接口,以及减少因为输入接口故障或误触所造成的测试失败。
7.为了实现上述目的,本技术采用了如下技术方案:
8.根据本技术的实施例,提供一种fpga内的被测装置的测试方法,其特征在于,包含:通过该fpga内的串行接口模块,自该fpga外部的串行通信终端接收字符;根据转换表,将上述的字符对应到相应开关电路所欲实现的连接状态;根据上述所欲实现的连接状态,设置相关的该开关电路的连接状态;以及根据输出表所对应的该被测装置的一或多个输出
端口,检测该一或多个输出端口的响应信号。
9.较佳地,为了简化测试人员以人工比对响应信号的手续,加速比对速度,并且减少比对错误的机率,上述的测试方法,其特征在于,还包含:通过该串行接口模块接收来自该串行通信终端的预期的响应信号;比对检测到的该响应信号与该预期的响应信号;以及当两者相符时,透过该串行接口模块,将比对成功的讯息回传至该串行通信终端。
10.较佳地,为了令测试人员得知错误的响应信号,上述的测试方法,其特征在于,还包含:将检测到的该响应信号透过该串行接口模块传送回该串行通信终端。
11.较佳地,为了测试端口的各种连接状态,其中该开关电路的连接情况包含下列其中之一:分别连接该被测装置的第一端口与第二端口;分别连接该第一端口与表示逻辑状态0的电位的电路;以及分别连接该第一端口与表示逻辑状态1的电位的电路。
12.较佳地,为了模仿传统按键的操作方式,其中设置相关的该开关电路的连接状态还包含在该开关电路为开路的情况下,先在一段闭路时间内被设置为闭路,再被设置为开路。
13.较佳地,为了更好地模仿传统按键的操作方式,其中上述的该段闭路时间为该串行通信终端所设置。
14.较佳地,为了更准确地在正确的时机撷取响应信号,其中在上述的设置之后的一段延迟时间后才进行上述的检测,该段延迟时间为该串行通信终端所设置。
15.较佳地,为了更有弹性地设置字符转换的规则,其中该转换表存放在该fpga内的存储器。
16.较佳地,为了更有弹性地设置输出端口,其中该输出表存放在该fpga内的存储器。
17.根据本技术的实施例,提供一种fpga内的被测装置的测试逻辑电路,其特征在于,包含:被测装置接口电路模块,包含开关电路与检测电路以连接该被测装置的端口;串行接口模块,用于自该fpga外部的串行通信终端接收字符;以及转换逻辑电路模块,用于根据转换表,将上述的字符对应到相应的该开关电路所欲实现的连接状态;根据上述所欲实现的连接状态,令该被测装置接口电路模块设置相关的该开关电路的连接状态;以及根据输出表所对应的该被测装置的一或多个输出端口,令该被测装置接口电路模块的该检测电路检测该一或多个输出端口的响应信号。
18.较佳地,为了简化测试人员以人工比对响应信号的手续,加速比对速度,并且减少比对错误的机率,上述的转换逻辑电路模块还用于:通过该串行接口模块接收来自该串行通信终端的预期的响应信号;比对检测到的该响应信号与该预期的响应信号;以及当两者相符时,透过该串行接口模块,将比对成功的讯息回传至该串行通信终端。
19.较佳地,为了令测试人员得知错误的响应信号,上述的转换逻辑电路模块,其特征在于,还用于:将检测到的该响应信号透过该串行接口模块传送回该串行通信终端。
20.较佳地,为了测试端口的各种连接状态,其中该开关电路的连接情况包含下列其中之一:分别连接该被测装置的第一端口与第二端口;分别连接该第一端口与表示逻辑状态0的电位的电路;以及分别连接该第一端口与表示逻辑状态1的电位的电路。
21.较佳地,为了模仿传统按键的操作方式,其中设置相关的该开关电路的连接状态还包含在该开关电路为开路的情况下,先在一段闭路时间内被设置为闭路,再被设置为开路。
22.较佳地,为了更好地模仿传统按键的操作方式,其中上述的该段闭路时间为该串行通信终端所设置。
23.较佳地,为了更准确地在正确的时机撷取响应信号,其中在上述的设置之后的一段延迟时间后才进行上述的检测,该段延迟时间为该串行通信终端所设置。
24.较佳地,为了更有弹性地设置字符转换的规则,该测试逻辑电路其特征在于包含存储器,其中该转换表存放在该fpga内的存储器。
25.较佳地,为了更有弹性地设置输出端口,该测试逻辑电路其特征在于包含存储器,其中该输出表存放在该fpga内的存储器。
26.根据本技术的实施例,提供一种fpga,其特征在于,包含上述的被测装置与测试逻辑电路。
27.根据本技术的实施例,提供一种fpga的测试系统,其特征在于,包含上述的fpga与串行通信终端。
28.由于采用上述方案,本技术的有益效果为:节省fpga开发板上大量的拨码开关和按键造成的硬件资源占用问题。本技术提出使用串行通信终端发送控制指令或字符串给fpga的测试方法,节省硬件资源,提高fpga验证测试的灵活性和便利性。
附图说明
29.图1为现有技术中的fpga验证系统100的方块示意图。
30.图2为根据本技术实施例的fpga验证系统200的方块示意图。
31.图3为根据本技术实施例的对fpga芯片内被测装置的测试方法300的流程示意图。
32.图4为根据本技术实施例的对fpga芯片内被测装置的测试方法400的流程示意图。
具体实施方式
33.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本技术所保护的范围。
34.本技术之说明书和权利要求以及图式中的术语“第一”“第二”“第三”等(如果存在)用于区别类似之对象,而不必用于描述特定的顺序或先后次序。应当理解,该等描述之对象在适当情况下可以互换。在本技术之描述中,“复数个”之含义是两个或两个以上,除非另有明确具体地限定。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排它的包含。图式中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现该等功能实体,或在一个或复数个硬件电路或集成电路中实现该等功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现该等功能实体。
35.在本技术之描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示之方位或位置关系为基于附图所示之方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指之装置或组件必须具有特定之方位、以特定之方位构造和操作,是故不能理解为对本技术之限制。
36.在本技术之描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,亦可以为可拆卸连接,或一体地连接;可以为机械连接,亦可以为电连接或可以相互通讯;可以为直接相连,亦可以藉由中间媒介间接相连,可以为两个组件内部之连通或两个组件之相互作用关系。对于本领域之普通技术人员而言,可以根据具体情况理解前述术语在本技术中之具体含义。
37.为使本技术之目的、特征和优点能够更加明显易懂,下面结合图式和具体实施方式对本技术作进一步详细之说明。
38.本技术所提供的验证系统的功能之一,是利用串行通信终端来取代现有技术的开关与按键。测试人员可以利用串行通信终端的键盘,对所连接的fpga芯片内的被测装置的输入接口进行设置,就如同对图1所示的开关120与按键130进行设置一样。
39.请参考图2所示,其为根据本技术实施例的fpga验证系统200的方块示意图。该验证系统200包含一个fpga芯片240。该fpga芯片240包含了被测装置110,该被测装置110与图1所示的被测装置110可以是相同的。
40.该fpga芯片240包含被测装置接口电路模块210、转换逻辑电路模块220和串行接口模块230。在某些实施例当中,这三个模块210、220与230设置在该fpga芯片240当中,可以是烧录而成的。在另一个实施例当中,这三个模块210、220与230当中至少有一个模块并非烧录而成,而是该fpga芯片240当中固有的部分。
41.在图1当中,该被测装置110的各逻辑电路单元具有各种输入与/或输出的端口。在连接到开关120和按键130的引脚(pin)之前,用于输入的端口会先连接到该引脚相应的焊垫(pad)。然而,在图2所示的实施例当中,被测装置接口电路模块210可以包含多个端口(port),分别连接被测装置110当中的输入与/或输出端口。
42.当被测装置接口电路模块210的一个开关电路的两端分别连接到被测装置110的第一端口与第二端口时,该开关电路可以接受转换逻辑电路220的命令,让该第一端口与第二端口之间闭路,或是让该第一端口与第二端口之间开路。举例来说,当该开关电路仿真的是传统的按键130时,可以在该第一端口与第二端口之间的状态为开路时,先让该第一端口与第二端口之间闭路,再让该第一端口与第二端口之间开路。如此一来,可以仿真测试人员按下传统的按键130。举例来说,当该开关电路仿真的是传统的开关120时,可以根据转换逻辑电路220的命令,持续地让该第一端口与第二端口之间闭路,或是持续地让该第一端口与第二端口之间开路。
43.除了上述的开关电路以外,被测装置接口电路模块210也可以包含检测电路。该检测电路的端口连接到被测装置110的输出端口,用于检测该输出端口所表示的逻辑状态,例如是逻辑状态0、1,或是检测不出。
44.该转换逻辑电路220可以包含一套转换表。在该转换表当中,可以包含一或两个字符(symbol)与开关电路的对应关系。举例来说,当字符a表示传统按键130时,该转换表内的字符a可以对应到连接到第一端口与第二端口的同一个开关电路。可以在该第一端口与第二端口之间的状态为开路时,先让该开关电路令该第一端口与第二端口之间闭路,接着再让该开关电路令该第一端口与第二端口之间开路。换言之,当该转换逻辑电路220自该串行接口模块230收到字符a时,可以令该开关电路先闭路再开路。
45.在另一个范例当中,当字符o表示传统开关120的开路状态,字符c表示传统开关
120的闭路状态时,该转换表当中可以包含一个项目,其包含字符o与c及其相对应的开关电路。当该转换逻辑电路220自该串行接口模块230收到字符o时,可以令该开关电路持续性地开路。反之,当该转换逻辑电路220自该串行接口模块230收到字符c时,可以令该开关电路持续性地闭路。
46.在另外的范例中,该转换表可以包含一个字符与某个输入端口的对应关系。例如当字符h表示将某个端口连接到高电位或逻辑状态1,当字符l表示连接到低电位或逻辑状态0。换言之,该开关电路可以分别连接到某端口与高电位电路,或是该开关电路可以分别连接到某端口与低电位电路。
47.在一实施例当中,上述的字符可以对应到传统键盘(如qwerty键盘)所能直接输入的字符。在另一实施例当中,上述的字符可以是ascii(america standard code for information interchange)码的子集合。
48.在某一些范例中,在该转换表当中,可以包含一位或一位以上的数字符号与其相对应的多个开关电路。举例来说,该转换表可以包含一位的数字符号与三个相对应的开关电路。当该转换逻辑电路220自该串行接口模块230收到数字符号0~7其中之一时,可以令该三个相对应的开关电路做出相应的开路或闭路的设定。如收到数字符号3(二进制制011),可以令该三个开关电路的头一个开路,另外两个闭路;或反之,头一个闭路,另外两个开路。
49.在另一范例中,该转换表可以包含一个数字符号与四个相对应的开关电路。当该转换逻辑电路220自该串行接口模块230收到数字符号0~f(16进位制的0至15)其中之一时,可以令该四个相对应的开关电路做出相应的开路或闭路的设定。如收到数字符号9(二进制制1001),可以令该四个开关电路的中间两个开路,另外两个闭路;或反之,中间两个闭路,另外两个开路。
50.在其他的范例中,该转换表可以包含三位的数字符号与七个相对应的开关电路。当该转换逻辑电路220自该串行接口模块230收到数字符号0~127其中之一时,可以令该七个相对应的开关电路做出相应的开路或闭路的设定。该转换表可以包含三位的数字符号与八个相对应的开关电路。当该转换逻辑电路220自该串行接口模块230收到数字符号0~255其中之一时,可以令该八个相对应的开关电路做出相应的开路或闭路的设定。
51.本领域普通技术人员可以理解到,该转换表可以包含一或多个字符对应到一或多个开关电路的状态的转换关系。某一些转换关系对于开关电路的作用是永久的,可以对应到传统的开关120。另一些转换关系对于开关电路的作用是暂时的,可以对应到传统的按键130。
52.该转换逻辑电路220可以包含暂时作用的时间长度的预设参数。举例来说,上述的字符a表示20ms的闭路时间。根据串行接口模块230送来的命令,该转换逻辑电路220可以修改暂时作用的时间长度的预设参数或一次性参数。
53.该转换逻辑电路220可以包含一套输出表,用于正面表列或负面表列所欲输出至该串行接口模块230的是哪一些输出端口。在某一些实施范例中,当该转换逻辑电路220令该被测装置接口电路模块210根据所接收的字符设置相应的开关电路的逻辑状态之后,该转换逻辑电路220令该被测装置接口电路模块210令该输出表正面表列列出的输出端口相应的检测电路检测其逻辑状态,并且将这些逻辑状态与/或其对应的输出端口名称输出到
该串行接口模块230。在另外的实施范例中,当该转换逻辑电路220令该被测装置接口电路模块210根据所接收的字符设置相应的开关电路的逻辑状态之后,该转换逻辑电路220令该被测装置接口电路模块210令该输出表负面表列未列出的输出端口相应的检测电路检测其响应信号的逻辑状态,并且将这些响应信号的逻辑状态与/或其对应的输出端口名称输出到该串行接口模块230。
54.该转换逻辑电路220可以包含检测延迟时间长度的预设参数。举例来说,在对开关电路设置后的某一段预设时间之后,该转换逻辑电路220才下令检测电路检测输出端口的响应信号的逻辑状态。根据串行接口模块230送来的命令,该转换逻辑电路220可以修改检测延迟时间长度的预设参数或一次性参数。
55.上述的转换表与/或输出表可以存在于该转换逻辑电路220所连接的存储器当中。当该存储器为易失性(volatile)时,该转换逻辑电路220可以在开始工作前先自该串行接口模块230接收并且存取该转换表与/或输出表。当该存储器为非易失性(non-volatile)时,该转换逻辑电路220可以沿用先前所存储的转换表与/或输出表。在某些范例中,该转换逻辑电路220可以在工作时,自该串行接口模块230接收并且存取该转换表与/或输出表的部分或全部。
56.在另一个实施范例中,该转换表与/或输出表可以烧录在该fpga芯片240的逻辑电路单元内。如果要改变该转换表与/或输出表的内容,可以重新烧录该fpga芯片240。
57.该串行接口模块230利用串行接口与串行通信终端290进行通信。该串行接口可以是符合工业串行接口标准的uart(rs-232、rs-422、rs-423、rs-485)、ieee 1394、serial scsi、usb系列接口,也可以是自定义规格的串行(serial)接口。本技术并不限定该串行接口的形式。
58.该串行通信终端290可以是具有人机接口的计算器,例如桌上型计算器、膝上型计算器、可携型计算器、平板型计算器、智能手机、智能个人数字助理等。该串行通信终端290可以包含中央处理器模块291,其包含至少一个中央处理器芯片,用于执行操作系统(operating system)与在该操作系统上运行的应用程序(application),以便控制该串行通信终端290。该操作系统可以如市面上的unix系列的操作系统(linux、harmony、macos、hp-ux、aix)、窗口系列操作系统或其他种类的实时(real-time)操作系统。本技术并不限定该串行通信终端290的中央处理器与操作系统的型式。
59.该串行通信终端290可以包含图形处理器模块295与显示器296,用于显示操作系统与应用程序的内容。该串行通信终端290可以包含输出入模块292,其使用工业标准总线或接口来连接各种输出入装置293。例如,该输出入模块292可以是pci、pci-express、scsi、serial scsi、或usb等总线控制器。该输出入装置293可以包含键盘、鼠标、触摸板、轨迹球、触控屏幕、麦克风、摄像头、有线或无线网络连接装置等。该串行接口模块294可以是符合工业串行接口标准的uart(rs-232、rs-422、rs-423、rs-485)、ieee 1394、serial scsi、usb系列接口,也可以是自定义规格的串行(serial)接口,其用于和该fpga芯片240的该串行接口模块230彼此连接。
60.测试人员可以透过该输出入装置293,例如键盘、触摸板、鼠标、轨迹球等输入设备,将字符输入到该串行通信终端290。接着,该串行通信终端290可以将该字符透过该串行接口模块294与230,传送到该转换逻辑电路220。然后,该转换逻辑电路220可以根据上述的
转换表,设定该被测装置接口电路模块210当中的相应的开关电路,令被测装置110的多个端口开路或闭路。随后,该转换逻辑电路220可以根据上述的输出表中正面或负面表列的多个输出端口,令该被测装置接口电路模块210当中的检测电路对被测装置110的多个输出端口进行响应信号的检测,并且将被检测到的响应信号的逻辑状态反向透过该串行接口模块230与294,回传到该中央处理器模块291运行的应用程序。该应用程序再透过该图形处理器模块295与其控制的显示器296,输出被检测的输出端口的响应信号的逻辑状态。
61.请参考图3所示,其为根据本技术实施例的对fpga芯片内被测装置的测试方法300的流程示意图。该测试方法300可以适用于该测试系统200,特别是适用于该被测装置接口电路模块210与该转换逻辑电路220。如前所述,该测试方法300可以透过烧录在该fpga芯片240的逻辑电路单元来实现。在另一实施例当中,可以在该fpga芯片240内烧录控制用的逻辑电路单元,然后令该控制用的逻辑电路单元读取与执行指令,以便实现该测试方法300。如果任两个步骤没有直接或间接的因果关系,本技术并不限定这两个步骤之间的执行顺序。该测试方法300可以自步骤310开始。
62.步骤310:透过串行接口模块,自串行通信终端接收字符。
63.步骤320:根据转换表,将所接收的该字符对应至相应开关电路所欲实现的连接状态,其中该开关电路连接到被测装置的一或两个端口。
64.步骤330:设置该开关电路的连接状态。在某个实施例当中,该开关电路的连接状态的时间长度是可调控的,可以根据预设性参数或一次性参数进行设置。
65.步骤340:根据输出表所对应的该被测装置的一或多个输出端口,检测该一或多个输出端口的响应信号。在某个实施例当中,该检测与该设置之间的延迟时间长度是可调控的,可以根据预设性参数或一次性参数进行设置。
66.步骤350:将该一或多个输出端口的响应信号透过该串行接口模块传送回串行通信终端。
67.请参考图4所示,其为根据本技术实施例的对fpga芯片内被测装置的测试方法400的流程示意图。该测试方法300可以适用于该测试系统200,特别是适用于该被测装置接口电路模块210与该转换逻辑电路220。如前所述,该测试方法400可以透过烧录在该fpga芯片240的逻辑电路单元来实现。在另一实施例当中,可以在该fpga芯片240内烧录控制用的逻辑电路单元,然后令该控制用的逻辑电路单元读取与执行指令,以便实现该测试方法400。如果任两个步骤没有直接或间接的因果关系,本技术并不限定这两个步骤之间的执行顺序。该测试方法400沿用测试方法300的某些步骤,该测试方法可以自步骤310或步骤415开始,本技术并不限定这两个步骤的先后顺序。
68.步骤415:自该串行接口模块接收预期的响应信号,该响应信号对应到上述输出表所对应的该被测装置的一或多个输出端口。
69.步骤450:比对检测的该响应信号与该预期的响应信号。若两者相符,则流程可以进到步骤460;否则,流程可以进到步骤470或步骤350,本技术并不限定这两个步骤的先后顺序。
70.步骤460:透过该串行接口模块,将比对成功的讯息回传至该串行通信终端。
71.步骤470:透过该串行接口模块,将比对失败的讯息回传至该串行通信终端。在步骤470的之前或之后,还可以执行前述的步骤350。
72.在执行完步骤350之后,测试方法300或400的流程可以回到步骤310。
73.根据本技术的实施例,提供一种fpga内的被测装置的测试方法,其特征在于,包含:通过该fpga内的串行接口模块,自该fpga外部的串行通信终端接收字符;根据转换表,将上述的字符对应到相应开关电路所欲实现的连接状态;根据上述所欲实现的连接状态,设置相关的该开关电路的连接状态;以及根据输出表所对应的该被测装置的一或多个输出端口,检测该一或多个输出端口的响应信号。
74.较佳地,为了简化测试人员以人工比对响应信号的手续,加速比对速度,并且减少比对错误的机率,上述的测试方法,其特征在于,还包含:通过该串行接口模块接收来自该串行通信终端的预期的响应信号;比对检测到的该响应信号与该预期的响应信号;以及当两者相符时,透过该串行接口模块,将比对成功的讯息回传至该串行通信终端。
75.较佳地,为了令测试人员得知错误的响应信号,上述的测试方法,其特征在于,还包含:将检测到的该响应信号透过该串行接口模块传送回该串行通信终端。
76.较佳地,为了测试端口的各种连接状态,其中该开关电路的连接情况包含下列其中之一:分别连接该被测装置的第一端口与第二端口;分别连接该第一端口与表示逻辑状态0的电位的电路;以及分别连接该第一端口与表示逻辑状态1的电位的电路。
77.较佳地,为了模仿传统按键的操作方式,其中设置相关的该开关电路的连接状态还包含在该开关电路为开路的情况下,先在一段闭路时间内被设置为闭路,再被设置为开路。
78.较佳地,为了更好地模仿传统按键的操作方式,其中上述的该段闭路时间为该串行通信终端所设置。
79.较佳地,为了更准确地在正确的时机撷取响应信号,其中在上述的设置之后的一段延迟时间后才进行上述的检测,该段延迟时间为该串行通信终端所设置。
80.较佳地,为了更有弹性地设置字符转换的规则,其中该转换表存放在该fpga内的存储器。
81.较佳地,为了更有弹性地设置输出端口,其中该输出表存放在该fpga内的存储器。
82.根据本技术的实施例,提供一种fpga内的被测装置的测试逻辑电路,其特征在于,包含:被测装置接口电路模块,包含开关电路与检测电路以连接该被测装置的端口;串行接口模块,用于自该fpga外部的串行通信终端接收字符;以及转换逻辑电路模块,用于根据转换表,将上述的字符对应到相应的该开关电路所欲实现的连接状态;根据上述所欲实现的连接状态,令该被测装置接口电路模块设置相关的该开关电路的连接状态;以及根据输出表所对应的该被测装置的一或多个输出端口,令该被测装置接口电路模块的该检测电路检测该一或多个输出端口的响应信号。
83.较佳地,为了简化测试人员以人工比对响应信号的手续,加速比对速度,并且减少比对错误的机率,上述的转换逻辑电路模块还用于:通过该串行接口模块接收来自该串行通信终端的预期的响应信号;比对检测到的该响应信号与该预期的响应信号;以及当两者相符时,透过该串行接口模块,将比对成功的讯息回传至该串行通信终端。
84.较佳地,为了令测试人员得知错误的响应信号,上述的转换逻辑电路模块,其特征在于,还用于:将检测到的该响应信号透过该串行接口模块传送回该串行通信终端。
85.较佳地,为了测试端口的各种连接状态,其中该开关电路的连接情况包含下列其
中之一:分别连接该被测装置的第一端口与第二端口;分别连接该第一端口与表示逻辑状态0的电位的电路;以及分别连接该第一端口与表示逻辑状态1的电位的电路。
86.较佳地,为了模仿传统按键的操作方式,其中设置相关的该开关电路的连接状态还包含在该开关电路为开路的情况下,先在一段闭路时间内被设置为闭路,再被设置为开路。
87.较佳地,为了更好地模仿传统按键的操作方式,其中上述的该段闭路时间为该串行通信终端所设置。
88.较佳地,为了更准确地在正确的时机撷取响应信号,其中在上述的设置之后的一段延迟时间后才进行上述的检测,该段延迟时间为该串行通信终端所设置。
89.较佳地,为了更有弹性地设置字符转换的规则,该测试逻辑电路其特征在于包含存储器,其中该转换表存放在该fpga内的存储器。
90.较佳地,为了更有弹性地设置输出端口,该测试逻辑电路其特征在于包含存储器,其中该输出表存放在该fpga内的存储器。
91.根据本技术的实施例,提供一种fpga,其特征在于,包含上述的被测装置与测试逻辑电路。
92.根据本技术的实施例,提供一种fpga的测试系统,其特征在于,包含上述的fpga与串行通信终端。
93.本技术的有益效果为:节省fpga开发板上大量的拨码开关和按键造成的硬件资源占用问题。本技术提出使用串行通信终端发送控制指令或字符串给fpga的测试方法,节省硬件资源,提高fpga验证测试的灵活性和便利性。
94.以上所述,仅为本技术较佳的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,根据本技术的技术方案及其申请构思加以等同替换或改变,都应涵盖在本技术的保护范围之内。
技术特征:1.一种fpga内的被测装置的测试方法,其特征在于,包含:通过该fpga内的串行接口模块,自该fpga外部的串行通信终端接收字符;根据转换表,将上述的字符对应到相应开关电路所欲实现的连接状态;根据上述所欲实现的连接状态,设置相关的该开关电路的连接状态;以及根据输出表所对应的该被测装置的一或多个输出端口,检测该一或多个输出端口的响应信号,其中该转换表与该输出表存放在该fpga内的存储器。2.如权利要求1所述的fpga内的被测装置的测试方法,其特征在于,还包含:通过该串行接口模块接收来自该串行通信终端的预期的响应信号;比对检测到的该响应信号与该预期的响应信号;当两者相符时,透过该串行接口模块,将比对成功的讯息回传至该串行通信终端;以及将检测到的该响应信号透过该串行接口模块传送回该串行通信终端,其中在上述的设置之后的一段延迟时间后才进行上述的检测,该段延迟时间为该串行通信终端所设置。3.如权利要求1所述的fpga内的被测装置的测试方法,其特征在于,其中该开关电路的连接情况包含下列其中之一:分别连接该被测装置的第一端口与第二端口;分别连接该第一端口与表示逻辑状态0的电位的电路;以及分别连接该第一端口与表示逻辑状态1的电位的电路。4.如权利要求1所述的fpga内的被测装置的测试方法,其特征在于,其中设置相关的该开关电路的连接状态还包含在该开关电路为开路的情况下,先在一段闭路时间内被设置为闭路,再被设置为开路,其中上述的该段闭路时间为该串行通信终端所设置。5.一种fpga内的被测装置的测试逻辑电路,其特征在于,包含:存储器,用于存放转换表与该输出表;被测装置接口电路模块,包含开关电路与检测电路以连接该被测装置的端口;串行接口模块,用于自该fpga外部的串行通信终端接收字符;以及转换逻辑电路模块,用于:根据该转换表,将上述的字符对应到相应的该开关电路所欲实现的连接状态;根据上述所欲实现的连接状态,令该被测装置接口电路模块设置相关的该开关电路的连接状态;以及根据该输出表所对应的该被测装置的一或多个输出端口,令该被测装置接口电路模块的该检测电路检测该一或多个输出端口的响应信号。6.如权利要求5所述的fpga内的被测装置的测试逻辑电路,其特征在于,上述的转换逻辑电路模块还用于:通过该串行接口模块接收来自该串行通信终端的预期的响应信号;比对检测到的该响应信号与该预期的响应信号;当两者相符时,透过该串行接口模块,将比对成功的讯息回传至该串行通信终端;以及将检测到的该响应信号透过该串行接口模块传送回该串行通信终端,其中在上述的设置之后的一段延迟时间后才进行上述的检测,该段延迟时间为该串行通信终端所设置。
7.如权利要求5所述的fpga内的被测装置的测试逻辑电路,其特征在于,其中该开关电路的连接情况包含下列其中之一:分别连接该被测装置的第一端口与第二端口;分别连接该第一端口与表示逻辑状态0的电位的电路;以及分别连接该第一端口与表示逻辑状态1的电位的电路。8.如权利要求5所述的fpga内的被测装置的测试逻辑电路,其特征在于,其中设置相关的该开关电路的连接状态还包含在该开关电路为开路的情况下,先在一段闭路时间内被设置为闭路,再被设置为开路,其中上述的该段闭路时间为该串行通信终端所设置。9.一种fpga,其特征在于,包含如权利要求5至8任一所述的被测装置与测试逻辑电路。10.一种fpga的测试系统,其特征在于,包含如权利要求9所述的fpga与串行通信终端。
技术总结本申请的目的在于提供减少FPGA外设的输入接口的测试方法。上述的FPGA内的被测装置的测试方法,其特征在于,包含:通过该FPGA内的串行接口模块,自该FPGA外部的串行通信终端接收字符;根据转换表,将上述的字符对应到相应开关电路所欲实现的连接状态;根据上述所欲实现的连接状态,设置相关的该开关电路的连接状态;以及根据输出表所对应的该被测装置的一或多个输出端口,检测该一或多个输出端口的响应信号。信号。信号。
技术研发人员:李新兵 龙雨佳
受保护的技术使用者:上海芯联芯智能科技有限公司
技术研发日:2022.10.28
技术公布日:2023/1/6