Fpga器件测试模型建立方法
【技术领域】
[0001] 本发明涉及测试模型的建立方法,具体而言是FPGA器件测试模型建立方法。
【背景技术】
[0002] FPGA器件(现场可编程门阵列)具有性能好、规模大、可重复编程、开发投资小等 优点,已成为各种电子产品不可或缺的重要部件。由于市场上的假冒翻新器件越来越多,严 重降低了 FPGA的使用可靠性,致使用户在FPGA器件入厂验收前必须进行测试。
[0003] 通常,对于FPGA器件的测试,需要获取厂家设计验证和生产的测试向量,采用边 界扫描的方法,通过边界扫描控制和边界扫描数据链来完成器件的功能测试。但是,测试向 量作为生产厂商的核心机密,难以获取,而且这种方法只能完成功能测试,而不能进行直流 参数的测试。
[0004] 在没有生产厂商的图形向量情况下,普遍采用基于实际应用的编程测试方法,即 根据用户的实际需求设计编程后,将FPGA器件作为一个专用的电路来测试。但是由于编程 内容的保密问题,有时候很难做到,而且,该方法也不适用于入厂前的大批量测试。
[0005] 为此,本发明提出一种FPGA器件测试模型建立方法,用该方法建立的FPGA器件测 试模型能方便、快捷地模拟出生产厂商设计验证和生产的测试向量,从而实现对FPGA器件 的自动测试。
【发明内容】
[0006] 本发明的目的是提出一种FPGA器件测试模型建立方法。
[0007] 为实现上述目的,本发明采用如下技术方案:
[0008] FPGA器件测试模型的建立方法,包括以下步骤:
[0009] SL建立单个逻辑单元的测试模型:
[0010] SlL将逻辑单元内部的查找表配置为四输入逻辑门;
[0011] S12.将逻辑单元内部的可编程寄存器配置成触发器;
[0012] S13.将所述四输入逻辑门与触发器级联,形成单个逻辑单元的测试模型;
[0013] S2.建立I/O管脚的双向复用测试模型:
[0014] S21.选择FPGA的一个全局管脚作为方向端,控制I/O管脚的输入/输出状态;
[0015] S22.选择FPGA的一个普通I/O管脚,连接到模型的I/O端;
[0016] S23.将所述四输入逻辑门的输入连接到模型的I端,将所述触发器的输出连接到 模型的〇端,形成I/O管脚的双向复用测试模型;
[0017] S3.将步骤Sl所述的逻辑单元模型与步骤S2所述的I/O管脚模型进行级联:
[0018] S31.当逻辑单元数量是I/O管脚数量的整数倍时,按照管脚的数量将逻辑单元平 分,然后再级联,使FPGA内部逻辑单元和I/O管脚的使用覆盖率达到100% ;
[0019] S32.当逻辑单元数量不是I/O管脚数量的整数倍时,按下述步骤进行级联:
[0020] S321.按下列公式确定每个级联链中逻辑单元初始数量A :
[0022] 公式中:M为双向I/O管脚数量,N为逻辑单元数量,N>M,且N不能被M整除;
[0023] S322.选择两种级联链,分别包含A个逻辑单元和(A+1)个逻辑单元,将所述逻 辑单元初始数量A代入下列方程组,求出包含A个逻辑单元的第一级联链的个数X和包含 (A+1)个逻辑单元的第二级联链的个数Y :
[0025] 方程组中:M为双向I/O管脚数量,N为逻辑单元数量;
[0026] S323.将FPGA内部全部逻辑单元和I/O管脚配置成X串A个逻辑单元的级联链 和Y串(A+1)个逻辑单元的级联链,使FPGA内部逻辑单元和I/O管脚的使用覆盖率达到 100% ;
[0027] S4.建立嵌入式阵列的测试模型:
[0028] S41.确定FPGA单个内部嵌入式阵列所含RAM的容量大小;
[0029] S42.选择与步骤S41所述RAM等容量的SRAM作为基本存储器单元;
[0030] S43.将FPGA内部所有EBA以步骤S42所述基本存储器单元串联,形成存储器链的 测试模型,覆盖嵌入式阵列内部全部单元。
[0031] 进一步地,所述触发器为D触发器。
[0032] 本发明依据FPGA器件的结构和工作原理,针对其内部最重要的组成部分:逻辑单 元(CLB)、I/O管脚和嵌入式阵列(EAB)分别建立相应模型,然后通过级联得到FPGA测试模 型。通过该测试模型,能方便、快捷地模拟出生产厂商设计验证和生产的测试向量,从而实 现对FPGA器件的自动测试。
【附图说明】
[0033] 图1为FPGA测试模型的建立流程示意图;
[0034] 图2为逻辑单元设计模型示意图;
[0035] 图3为I/O管脚双向复用测试模型示意图;
[0036] 图4为嵌入式阵列测试模型示意图。
【具体实施方式】
[0037] 以下结合附图和具体实施例对本发明做进一步的描述,但该实施例不应理解为对 本发明的限制。
[0038] 实施例一
[0039] 被测对象:XILINX公司的FPGA器件XC3S400-4FTG256I,内部含有逻辑单元8064 个,I/O管脚125个,内部嵌入式阵列容量288Kbit。
[0040] 建模步骤:
[0041] SI.建立单个逻辑单元的测试模型:
[0042] SlL将XC3S400-4FTG256I逻辑单元内部的查找表配置为四输入与门;
[0043] S12.将逻辑单元内部的可编程寄存器配置成J-K触发器;
[0044] S13.将所述四输入与门与J-K触发器级联,形成单个逻辑单元的测试模型;
[0045] S2.建立I/O管脚的双向复用测试模型:
[0046] S21.选择XC3S400-4FTG256I的一个全局管脚作为方向端,控制I/O管脚的输入/ 输出状态;
[0047] S22.选择XC3S400-4FTG256I的一个普通I/O管脚,连接到模型的I/O端;
[0048] S23.将所述四输入逻辑门的输入连接到模型的I端,将所述触发器的输出连接到 模型的〇端,形成I/O管脚的双向复用测试模型;
[0049] S3.将步骤Sl所述的逻辑单元模型与步骤S2所述的I/O管脚模型进行级联:
[0050] XC3S400-4FTG256I逻辑单元数量不是I/O管脚数量的整数倍,按下述步骤进行级 联:
[0051] S321.按下列公式确定每个级联链中逻辑单元初始数量A :
[0053] 公式中M为双向I/O管脚数量125, N为逻辑