一种应用于fpga的阶梯状布线及测试方法

文档序号:272973 发布日期:2021-11-19 浏览:48次 >En<

阅读说明:本技术 一种应用于fpga的阶梯状布线及测试方法 (Stepped wiring and testing method applied to FPGA ) 是由 李岳 舒毅 于 2021-09-15 设计创作,主要内容包括:本发明涉及一种应用于FPGA的阶梯状布线及测试方法,属于芯片测试技术领域。该方法,执行如下步骤:1)定义起始位置;FPGA的第一行、第一列、最后一行、最后一列的CLB作为布线资源的起始位置;2)完成布线;a.正向布线;b.反向布线;3)连通性测试。该发明可遍历水平方向与垂直方向上所有布线资源,与传统技术上依次水平串联布线接口的测试方法相比,解决布线资源测试单一性的缺点,提高了FPGA布线资源测试的覆盖率,为FPGA的可靠应用提供前提。(The invention relates to a step-shaped wiring and testing method applied to an FPGA (field programmable gate array), belonging to the technical field of chip testing. The method comprises the following steps: 1) defining a starting position; the CLBs of the first row, the first column, the last row and the last column of the FPGA are used as the starting positions of wiring resources; 2) finishing wiring; a. wiring in a forward direction; b. reverse wiring; 3) and (5) testing connectivity. The invention can traverse all wiring resources in the horizontal direction and the vertical direction, solves the defect of the wiring resource test unicity compared with the test method of sequentially connecting wiring interfaces in series horizontally in the traditional technology, improves the coverage rate of the FPGA wiring resource test, and provides a premise for the reliable application of the FPGA.)

一种应用于FPGA的阶梯状布线及测试方法

技术领域

本发明涉及一种应用于FPGA的阶梯状布线及测试方法,属于芯片测试技术领域。

背景技术

FPGA作为集成电路领域内一种半定制电路,其中IO模块(Input and OutputBlock),输入输出模块;CLB(Configurable Logic Block),可编程逻辑块,是FPGA的基本组成单元。FPGA具有设计灵活、成本低、逻辑资源丰富等优点,目前已广泛应用于现代数字系统设计。以HDL设计的电路,经过FPGA EDA软件编译后生成二进制码流,使用该码流可以对FPGA芯片中的可编程开关等物理器件进行配置,从而最终在FPGA上实现电路功能。

FPGA EDA软件流程包括电路设计、行为综合、工艺映射、装箱、布局和布线,而其中布线是该流程中耗时最长的步骤之一。而且布线的连通性问题经常导致FPGA应用的失败,因此为提高FPGA芯片的可靠性以及EDA 软件编译的效率,确保FPGA中的布线资源的连通性显得尤为重要。

目前FPGA布线资源测试普遍采用水平方向串联布线接口的方法,该测试方法无法遍历使用垂直布线资源的情况以及水平布线资源与垂直布线资源同时使用的情况,存在着布线资源单一的问题,布线资源覆盖率低的缺点。

发明内容

本发明要解决的技术问题是:解决FPGA芯片的布线覆盖率低和布线连通性测试不全面的情况。

为了解决上述技术问题,本发明提出的技术方案是:一种应用于FPGA的阶梯状布线及测试方法,执行如下步骤:

1)定义起始位置;

FPGA的第一行、第一列、最后一行、最后一列的CLB作为布线资源的起始位置;

2)完成布线;

a.开始正向布线;

从任一起始位置水平执行单位步长,然后再垂直方向执行单位步长,循环直至FPGA的第一行/第二行/第R行/R-N+1行或一列/第二列/第C列/第C-N+1列,停止正向布线;

b.开始反向布线;

从步骤a停止布线位置开始,沿着与FPGA中心点镜像对称的路径布线,直至返回步骤a的起始位置;

其中,R为FPGA总行数,C为FPGA总列数,N为被测线型的长度;

3)连通性测试;

通过IO模块给布线起始位置CLB中输入逻辑值,并与经过被测线段后输入到布线起始位置的信号在LUT中进行异或运算,将异或运算结果输入到CLB的D触发器的输入端,再将存放LUT异或结果的D触发器连接成移位寄存器将异或结果移位输出,检查输出结果是否与预期一致,并以此判断被测线段的连通性。

上述技术方案的改进是:步骤3)中,若移位输出的结果与对应D触发器的异或结果一致,则对应的被测线段连通性正常,否则被测线段有故障。

本发明的有益效果是:该发明可遍历水平方向与垂直方向上所有布线资源,与传统技术上依次水平串联布线接口的测试方法相比,解决布线资源测试单一性的缺点,提高了FPGA布线资源测试的覆盖率,为FPGA的可靠应用提供前提。

附图说明

图1a是本发明实施例一的一种应用于FPGA的阶梯状布线及测试方法的布线方法流程图。

图1b是本发明实施例一的一种应用于FPGA的阶梯状布线及测试方法的测试方法的流程图。

图2是本发明实施例一的一种应用于FPGA的阶梯状布线及测试方法中FPGA的布局结构示意图。

图3是本发明实施例一的一种应用于FPGA的阶梯状布线及测试方法提到的FPGA中CLB,可编程逻辑模块的结构示意图。

图4a是图3中LUT的逻辑电路示意图。

图4b是图3中DFF的逻辑电路示意图。

图5是本发明实施例一的一种应用于FPGA的阶梯状布线及测试方法中布线资源方向的定义示意图。

图6是本发明实施例一的一种应用于FPGA的阶梯状布线及测试方法的不同类型的可编程布线资源示意图。

图7是本发明实施例一的一种应用于FPGA的阶梯状布线及测试方法中以X1线型布线时的示意图。

图8时本发明实施例一的一种应用于FPGA的阶梯状布线及测试方法中以X2线型布线时的示意图。

具体实施方式

实施例一

如图1a、1b所示,一种应用于FPGA的阶梯状布线及测试方法,执行如下步骤:

1)定义起始位置;

FPGA的第一行、第一列、最后一行、最后一列的CLB作为布线资源的起始位置;

2)完成布线

a.开始正向布线;

从任一起始位置水平执行单位步长,然后再垂直方向执行单位步长,循环直至FPGA的第一行/第二行/第R行/R-N+1行或一列/第二列/第C列/第C-N+1列,停止正向布线;

b.开始反向布线;

从步骤a停止布线位置开始,沿着与FPGA中心点镜像对称的路径布线,直至返回步骤a的起始位置;

其中,R为FPGA总行数,C为FPGA总列数,N为被测线型的长度;

如图6所示,不同单位步长的线型,X1线型和X2线型,以X1线型布线,结果将类似于图7中的布线方式;若以X2线型布线,结果将类似于图8中的布线方式。具体随后将展开。

3)连通性测试;

通过IO模块给布线起始位置CLB中输入逻辑值,并与经过被测线段后输入到布线起始位置的信号在LUT中进行异或运算,将异或运算结果输入到CLB的D触发器的输入端,再将存放LUT异或结果的D触发器连接成移位寄存器将异或结果移位输出,检查输出结果是否与预期一致,并以此判断被测线段的连通性。

步骤3)中,若移位输出的结果与对应D触发器的异或结果一致,则对应的被测线段连通性正常,否则被测线段有故障。

如图2所示,本实施例的可编程门阵列FPGA水平方向的布线资源命名为H,垂直方向的布线资源命名为V。水平向右布线用E表示,水平向左布线用W表示,垂直向上布线用N表示,垂直向下布线用S表示,如图5所示。布线资源的长度(或被测线型的长度N)即其所跨越的逻辑块CLB的数目,X1为跨越1个CLB的布线资源;X2为跨越2个CLB的布线资源……XN为跨越N个CLB的布线资源,如图6所示。若被测线型为X1,则被测线段的单位步长为1,即跨越1个CLB逻辑块;若被测线型是X2,则被测线段的单位步长为2,即跨越2个CLB逻辑块;若被测线型为XN,则被测线段单位步长为N,即跨越N个CLB逻辑块。本实施例仅以1和2举例,其余可以此类推。

以X1为例,如图7所示,通过IO模块分别给布线资源起始位置一(R1C1)和布线资源起始位置二(R1C3)处的CLB输入逻辑值,水平向右(E)执行该线型的单位步长,然后垂直向下(S)执行该线型的单位步长,依次执行,直到FPGA的最后一行,然后执行与上述布线方向相反的布线操作,直至布线的起始位置。第一行、最后一行、第一列和最后一列的其他布线起始位置均按照“水平方向—垂直方向”的布线操作依次执行单位步长。起始位置CLB的逻辑值经过“阶梯状”的被测线段到达布线起始位置,在其LUT中经过异或运算,再将所有起始位置的逻辑异或结果分别输入到对应D触发器的输入,通过D触发器连接成的移位寄存器将异或结果移位输出,判断移位输出结果是否与预期一致,若移位结果与对应D触发器的异或结果一致,则对应的被测线段连通性正常,否则被测线段有故障。

再以X2为例,如图7所示,执行步骤与X1类似,通过IO模块分别给布线资源起始位置一(R2C8)和起始位置二(R8C8)处的CLB输入逻辑值,水平向右(E)执行该线型的单位步长,然后垂直向下(S)执行该线型的单位步长,该案例中单位步长为2,依次执行,直到FPGA的最后一行或第2行,再执行与起始位置相反的布线操作,直至起始位置。第一行、最后一行、第一列和最后一列的其他布线资源起始位置均按照“水平方向—垂直方向”的布线操作依次执行单位步长。起始位置CLB的逻辑值经过“阶梯状”的被测线段到达起始位置,并在起始布线单元进行异或运算,再将所有起始位置的逻辑异或结果分别输入到对应D触发器的输入,通过D触发器连接成的移位寄存器将异或结果移位输出。根据寄存器结果,判断被测线段的连通性。

上述例子中的LUT和D触发器,如图4a和4b所示。

除上述实施例外,本发明还可以有其他实施方式。对于本领域的技术人员来说,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等形成的技术方案,均应包含在本发明的保护范围之内。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于网络拓扑顺序的电路门尺寸优化方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类