FPGA的布线资源的布线方法和测试方法转让专利
申请号 : CN201910054439.5
文献号 : CN109815583B
文献日 : 2021-03-30
发明人 : 郑莉
申请人 : 上海安路信息科技股份有限公司
摘要 :
权利要求 :
1.一种FPGA的布线资源布线方法,其特征在于,包括:按照以下步骤分别对各行、各列进行分别布线:按照选定的方向,分别从起始布线单元的各行或各列开始,依次地执行单位步长的布线过程,至布线到结束布线单元的各行或各列为止,并按照与所述选定的方向相反的方向,分别从所述起始布线单元的各行或各列开始,各执行一次所述单位步长的布线过程;
其中,所述单位步长的布线过程包括子步骤:按照所述选定的方向从所述单位步长所跨的起始PLB到终止PLB进行被测线段的布线,并将该被测线段布入到所述终止PLB中LUT的输入端。
2.根据权利要求1所述的布线方法,其特征在于,所述按照所述选定的方向从所述单位步长所跨的起始PLB到终止PLB进行被测线段的布线,并将该被测线段布入到所述终止PLB中LUT的输入端之前,还包括:
选择被测线段的类型并根据所述被测线段的类型选定单位步长;
所述按照所述选定的方向从所述单位步长所跨的起始PLB到终止PLB进行被测线段的布线,并将该被测线段布入到所述终止PLB中LUT的输入端之后,还包括:以该终止PLB作为所述选定的方向上的下一个相邻的单位步长布线过程的起始PLB,其中,所述起始布线单元和所述结束布线单元均跨所述单位步长。
3.根据权利要求1或2所述的布线方法,其特征在于,所述被测线段的类型包括X1、X2……XL,L为自然数,其中,
X1表示跨过1个PLB步长的被测线段,其中所述X1的所述单位步长为1个PLB步长;
X2表示跨过2个PLB步长的被测线段,其中所述X2的所述单位步长为2个PLB步长;
…
XL表示跨过L个PLB步长的被测线段,其中所述XL的单位步长为L个PLB步长。
4.根据权利要求3所述的布线方法,其特征在于,所述布线方法进一步包括:选择被测线段的类型为X1时,所述选定的方向为东或南时,分别从第1行或列开始,依次重复地执行1个PLB步长的被测线段的布线过程,至布线到第N行或列结束,并分别从第1行或列,向西或北的方向,执行1个PLB步长的被测线段的布线过程;
选择被测线段的类型为X2时,所述选定的方向为东或南时,分别从第1行或列,和第2行或列开始,依次重复地执行2个PLB步长的被测线段的布线过程,至分别布线到N-1行或列,和N行或列结束,并分别从第1行或列,和第2行或列开始,向西或北的方向,执行2个PLB步长的被测线段的布线过程;
……
选择被测线段的类型为XL时,所述选定的方向为东或南时,分别从第1行或列,第2行或列,……,和第L行或列开始,依次重复地执行L个PLB步长的被测线段的布线过程,至分别布线到N-L+1行或列,……,N行或列结束,并分别从第1行或列,第2行或列,……,和第L行或列开始,向西或北的方向,执行L个PLB步长的被测线段的布线过程;
其中,所述第1行或列,所述第2行或列,……,和所述第L行或列位于同一列或行的不同被测线段上,L自然数且1≤L≤N,N是该FPGA的同一行或列的PLB的个数,N>0。
5.一种FPGA的布线资源测试方法,其特征在于,包括:步骤一:根据权利要求1-4任意一项所述的方法进行FPGA的布线资源布线;
步骤二:通过与各被测线段连接的IO模块给每个所述被测线段的起始PLB输入逻辑值,所述逻辑值经过所述被测线段后输入到所述被测线段的终止PLB中LUT的输入端并在所述LUT内进行逻辑运算,并将所有所述逻辑运算的结果输入到与各所述LUT所对应的各D触发器中,将所述各D触发器内所有运算结果移位输出;
步骤三:根据所述移位输出的运算结果判断所述对应的LUT连接的被测线段的连通性。
6.根据权利要求5所述的FPGA的布线资源测试方法,其特征在于,所述逻辑运算为异或运算;
所述步骤二进一步包括:通过IO模块给所述被测线段输入的逻辑值发生改变时,都会在各所述LUT内进行逻辑运算,其运算结果输入到各所述LUT所对应的各D触发器中,然后将所述各D触发器内所有运算结果移位输出。
7.根据权利要求5所述的FPGA的布线资源测试方法,其特征在于,所述步骤三进一步包括:如果所述移位输出的运算结果不等于对应的各所述LUT的各输入值异或的结果,则输入到各所述LUT的信号所经过的被测线段存在开路或短路,否则输入各所述LUT的信号所经过的被测线段连通性正常。
8.根据权利要求7所述的FPGA的布线资源测试方法,其特征在于,所述测试方法执行的过程中,最多能够同时进行K种类型的被测线段的布线过程,且所述K种类型的被测线段分别布入到所述LUT的不同输入端并在该LUT中分别进行逻辑运算,其中1≤K≤M,M为每个PLB中所有LUT输入端总数。
9.根据权利要求5-8任意一项所述的FPGA的布线资源测试方法,其特征在于,所述步骤二至步骤三,进一步包括:
复位所有用于测试的各LUT对应的D触发器;
遍历被测线段的所有输入组合,并至少一次执行以下各步骤,直至遍历完所有的输入组合:
将输入组合通过所述IO模块输入到所述被测线段后,进入各LUT中进行比较运算,将所述比较运算的结果输出到所述各LUT对应的D触发器中,将所述对应的D触发器中的所有运算结果移位输出;
根据所述移位输出的运算结果判断被测线段的连通性。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如权利要求5至9中任意一项所述的FPGA的布线资源测试方法中的步骤。
说明书 :
FPGA的布线资源的布线方法和测试方法
技术领域
背景技术
择布线资源,布局布线器可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源
来连通各个模块单元,布线资源是FPGA的重要组成部分,FPGA的布线资源的连通性直接影
响该FPGA的具体功能,那么FPGA的布线资源的测试显得尤为重要了。
发明内容
试所需的测试pat数量,减少FPGA测试时间,减少测试pat开发的时间。
向,分别从该起始布线单元的各行或各列开始,各执行一次该单位步长的布线过程。
止PLB进行被测线段的布线,并将该被测线段布入到该终止PLB中LUT的输入端,且以该终止
PLB作为该选定的方向上的下一个相邻的单位步长布线过程的起始PLB,其中,该起始布线
单元和该结束布线单元均跨该单位步长。
1行或列,向西或北的方向,执行1个PLB步长的被测线段的布线过程;
列,和N行或列结束,并分别从第1行或列,和第2行或列开始,向西或北的方向,执行2个PLB
步长的被测线段的布线过程;
布线到N-L+1行或列,……,N行或列结束,并分别从第1行或列,第2行或列,……,和第L行或
列开始,向西或北的方向,执行L个PLB步长的被测线段的布线过程;
进行特定的逻辑运算,并将所有该逻辑运算的结果输入到与各该LUT所对应的各D触发器
中,该各D触发器将所有运算结果移位输出;
各D触发器中,然后该各D触发器将所有运算结果移位输出。
路,否则输入各该LUT的信号所经过的被测线段连通性正常。
进行逻辑运算,其中1≤K≤M,M为每个PLB中所有LUT输入端总数。
移位输出;
方向(如W)的布线,达到的有益效果:
免这个问题,本申请上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中
公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各
种新的技术方案(这些技术方案均因视为在本说明书中已经记载),除非这种技术特征的组
合在技术上是不可行的。例如,在一个例子中公开了特征A+B+C,在另一个例子中公开了特
征A+B+D+E,而特征C和D是起到相同作用的等同技术手段,技术上只要择一使用即可,不可
能同时采用,特征E技术上可以与特征C相组合,则,A+B+C+D的方案因技术不可行而应当不
被视为已经记载,而A+B+C+E的方案应当视为已经被记载。
附图说明
具体实施方式
和修改,也可以实现本申请所要求保护的技术方案。
可编程逻辑器件门电路数有限的缺点。
输入主体和计算主体,最终该被测线段、作为运算器的LUT、作为移位寄存器的D触发器,三
者就组成了一种特殊的测试线路,就称为FPGA的一个测试pat。该测试pat为测试FPGA中LUT
而专门设计的测试线路,被称为测试LUT的PAT。一般来讲,一个测试pat只能测试FPGA的一
种资源的一部分。FPGA是由多种资源组成的,所以FPGA的测试PAT有很多。
测线段的类型为X2且向东布线时,第一组第一段被测线段从位置(0,0)开始,到位置(2,0)
结束。然后从位置(2,0)开始,到位置(4,0)结束。以此类推直到结束。第二组第一段被测线
段从位置(1,0)开始,到位置(3,0)结束。然后从位置(3,0)开始,到位置(5,0)结束。
被测线段的布线,并将该被测线段布入到该终止PLB中LUT的输入端,且以该终止PLB作为该
选定的方向上的下一个相邻的单位步长布线过程的起始PLB,其中,该起始布线单元和该结
束布线单元均跨该单位步长。
从第1行或列,向西或北的方向,执行1个PLB步长的被测线段的布线过程;
或列,和N行或列结束,并分别从第1行或列,和第2行或列开始,向西或北的方向,执行2个
PLB步长的被测线段的布线过程;
别布线到N-L+1行或列,……,N行或列结束,并分别从第1行或列,第2行或列,……,和第L行
或列开始,向西或北的方向,执行L个PLB步长的被测线段的布线过程;其中,该第1行或列,
该第2行或列,……,和该第L行或列位于同一列或行的不同被测线段上,L自然数且1≤L≤
N,N是该FPGA的同一行或列的PLB的个数,N>0。
该测试方法执行的过程中同时进行多种类型的被测线段的布线过程,具体的,同时进行K种
类型的被测线段的布线过程,且该K种类型的被测线段分别布入到该LUT的不同输入端并在
该LUT中分别进行逻辑运算,其中1≤K≤M,M为每个PLB中所有LUT输入端总数。
选定四个方向进行布线等),其中一般情况下,执行一次该布线方法只在同一个方向上进
行。
端并在该LUT内进行特定的逻辑运算,并将所有该逻辑运算的结果输入到与各LUT所对应的
各D触发器中,该各D触发器将所有运算结果移位输出。
中,然后该各D触发器将所有运算结果移位输出。
各该LUT的信号所经过的被测线段连通性正常。
布线过程;可选地,该测试方法执行的过程中同时进行多种类型的被测线段的布线过程,具
体的,同时进行K种类型的被测线段的布线过程,且该K种类型的被测线段分别布入到该LUT
的不同输入端并在该LUT中分别进行逻辑运算,其中1≤K≤M,M为每个PLB中所有LUT输入端
总数。
所有运算结果移位输出;
线段;也可以是选择性的完成一种类型或多种的被测线段的布线过程之后,执行步骤二和
步骤三的测试过程,然后再执行未进行布线的其他类型的被测线段的布线过程,然后再执
行步骤二和步骤三的测试过程,直至完成所有类型的被测线段的布线和测试过程。
成的格都看作一个PLB(基本单元)),以被测线段为X2线E2方向为例:
用率比较低;第21,22列(最后两列)是结束布线单元,该两列需要两倍的逻辑单元比较直向
和转向的各被测线段,该两列的LUT的利用率比较高,两倍于其他(除第0,1列和第21,22列)
的LUT单元,导致LUT利用率不均衡。
线单元的两列分别向反方向(W)进行一次被测线段的测试;与图3所述的一般方法相比,该
方法的优点是:在根据图4的布线方法的测试过程中,起始布线单元的各列(第0,1列)中LUT
也能被充分利用,从而使每个布线单元的各列(PLB)中LUT利用率达到均衡一致,且用这种
方法在布线资源可布通的情况下,一次可以比图3的方法多布一倍的线道;需要补充说明的
是:在根据图4的布线方法的测试过程中,虽然结束布线单元的各列(第21,22列)中LUT没有
被利用,但可以在下次的反方向(西)的测试中作为起始布线单元时被测试。
IO模块,就是说所有的逻辑信号只有通过IO模块才能送入FPGA的PLB的被测线段,也只有IO
模块才能把FPGA的逻辑信号送出来。
的。PLB间信号通过水平通道和垂直通道传输,PLB可以直接驱动水平或垂直通道,通道之间
通过通道RSB(routing switch Box)进行切换,通道上传输的信号通过局部RSB进入PFB。
长的被测线段类型;X4表示跨四个PLB步长的被测线段类型;X6表示跨六个PLB步长的被测
线段类型。
的互连为水平通道。
块),PFB包括四个SLICE;SLICE中包括两个LUT(逻辑查找表)和与之一一对应的两个可编程
D触发器/锁存器。
通过RSB可以和别的PLB相连。
代表以起始PLB(x,y)为起点,向东跨两个PLB,到终止PLB(x,y+2)结束;也就是说:(x,y)的
E2BEG0和(x,y+2)的E2END0是连在一起的就是类型为X2的一条被测线段。此X2类型的被测
线段的线道为E2BEG0……E2BEG6,也就是说向东的X2线有0~6个线道。
种被测线段有E(东),W(西),N(南),S(北)四种方向。每种被测线段有7个线道。则每个基本
单元有:6*4*7=168根被测线段。整个FPGA有6*8*168=8064根被测线段要检测其的连通性
能。
X2,X6,X0等类型的被测线段为例,又分为东西南北四个方向,命名规则如下:
转弯变成了向南S被测线段,转弯时步长计算转弯自己算一步。
逻辑运算表,每个运算表可以有4个输入,也就是说每个运算表最多可以检查4根被测线段。
在FPGA中布线资源的测试走线方案决定FPGA测试的覆盖率,测试图形数目及测试时间。
线段短和输入不一致,有可能开路或短路;如果LUT为0,说明这个LUT的四个输入端连接的
被测线段连通性正常;
介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存
储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的
例子包括但不限于,相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器
(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器
(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘
(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传
输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质
不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他
变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅
包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物
品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不
排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请
文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中
包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、
多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所
作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之
内。