• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      用于FPGA 的高效可測(cè)性設(shè)計(jì)

      2022-10-12 06:08:52陳波寅胡曉琛
      電子與封裝 2022年9期
      關(guān)鍵詞:布線端口矩陣

      陳波寅,胡曉琛,張 智,趙 賽

      (無錫中微億芯有限公司,江蘇無錫 214072)

      1 引言

      現(xiàn)場(chǎng)可編程門陣列(FPGA)電路規(guī)模大,內(nèi)部結(jié)構(gòu)復(fù)雜,其測(cè)試實(shí)現(xiàn)和成本控制一直是FPGA 生產(chǎn)上的難點(diǎn)。FPGA 知識(shí)產(chǎn)權(quán)(IP)核具有獨(dú)特的特性,其結(jié)構(gòu)組成有別于傳統(tǒng)專用集成電路(ASIC)設(shè)計(jì)。例如高速串行計(jì)算機(jī)擴(kuò)展總線標(biāo)準(zhǔn)(PCIe),其主體結(jié)構(gòu)事物層、數(shù)據(jù)鏈路層、物理編碼層以及配置管理模塊集成在PCIe IP 核;外圍應(yīng)用層、功耗管理、配置管理、數(shù)據(jù)鏈路層包(DLLP)存儲(chǔ)都由FPGA 內(nèi)的可配置邏輯塊(CLB)、嵌入式隨機(jī)存儲(chǔ)器(RAM)塊、鎖相環(huán)(PLL)等單元完成。目前采用自動(dòng)測(cè)試設(shè)備(ATE)測(cè)試FPGA主要是針對(duì)其內(nèi)部資源,如輸入/輸出(IO)單元、可編程邏輯單元和可編程布線資源[1-2],對(duì)于FPGA 協(xié)議類復(fù)雜IP 核的ATE 測(cè)試研究相對(duì)較少。傳統(tǒng)FPGA 協(xié)議類IP 核的測(cè)試方法主要是環(huán)回功能(即數(shù)據(jù)通過發(fā)送端經(jīng)過外部邏輯后到達(dá)接收端)測(cè)試[3],以此來驗(yàn)證高速接口類IP 核的正確性,由于PCIe 工作模式分為根復(fù)合體(RC)和端點(diǎn)(EP),該方法不適用于PCIe ATE 測(cè)試。傳統(tǒng)的集成電路可測(cè)性設(shè)計(jì)(DFT)方案需要時(shí)鐘和IO,這些單元都是通過FPGA 的時(shí)鐘資源、開關(guān)矩陣(SWB)、可編程互聯(lián)點(diǎn)(PIP)等系列結(jié)構(gòu)互聯(lián)PCIe IP 核的,但是上述結(jié)構(gòu)對(duì)于可測(cè)性設(shè)計(jì)工具Tessent 而言是黑盒子,并且沒有對(duì)應(yīng)的庫可以描述這些黑盒子,所以Tessent 不能自動(dòng)識(shí)別這些FPGA 的內(nèi)部結(jié)構(gòu),導(dǎo)致時(shí)鐘和測(cè)試路徑不通,進(jìn)而無法進(jìn)行DFT[4]。這些特性決定了板級(jí)測(cè)試PCIe IP 核的實(shí)現(xiàn)需要一套復(fù)雜的系統(tǒng),ATE 測(cè)試缺乏有效的方案,而板級(jí)測(cè)試復(fù)雜且不利于高低溫測(cè)試。

      為了解決FPGA IP 核的測(cè)試難題,本文結(jié)合傳統(tǒng)DFT 方法和FPGA 可編程的架構(gòu)特點(diǎn),提出一種可編程的高效FPGA IP 核可測(cè)試性方案。

      2 測(cè)試設(shè)計(jì)整體方案

      ATE 整體測(cè)試方案如圖1 所示,基于Tessent 在IP 核上實(shí)現(xiàn)具體DFT 設(shè)計(jì),ATE 通過芯片引腳輸入壓縮后的測(cè)試激勵(lì),基于FPGA 開關(guān)矩陣的可配置特性,將測(cè)試激勵(lì)送到芯片內(nèi)部IP 核的輸入端口。同理,IP 核的輸出響應(yīng)由開關(guān)矩陣輸出,ATE 接收壓縮后的測(cè)試輸出響應(yīng)并判斷測(cè)試結(jié)果,從而完成對(duì)IP 核和開關(guān)矩陣制造缺陷的測(cè)試。整體測(cè)試方案主要包括兩部分:掃描壓縮設(shè)計(jì)和開關(guān)矩陣?yán)@線算法設(shè)計(jì)。

      圖1 ATE 整體測(cè)試方案

      3 可測(cè)性設(shè)計(jì)原理

      3.1 IP 核DFT

      PCIe 模塊中主要是數(shù)字邏輯,因此DFT 主要指實(shí)現(xiàn)掃描鏈設(shè)計(jì)。PCIe 模塊中有近10 萬寄存器,數(shù)量可觀,但是測(cè)試端口有限(測(cè)試輸入和測(cè)試輸出均為25 通道),因此通過掃描壓縮實(shí)現(xiàn)輸入端解壓縮和輸出端壓縮,將內(nèi)部的長鏈轉(zhuǎn)化為多條并行的短鏈,可減少ATE 測(cè)試時(shí)間,從而大幅降低測(cè)試成本。PCIe 內(nèi)部的測(cè)試電路結(jié)構(gòu)如圖2 所示,配置開關(guān)矩陣,打開測(cè)試IO 與內(nèi)部測(cè)試接口的通路,可將測(cè)試激勵(lì)輸入到解壓縮模塊,解壓后送入PCIe 模塊,測(cè)試響應(yīng)由壓縮模塊輸出?;赥essent 實(shí)現(xiàn)具體的掃描設(shè)計(jì),整體設(shè)計(jì)流程如圖3 所示。

      3.2 掃描壓縮設(shè)計(jì)原理

      由于集成電路的規(guī)模不斷增大,內(nèi)部的寄存器數(shù)量也越來越龐大,但是芯片上的測(cè)試端口有限,如果沒有壓縮技術(shù),掃描鏈會(huì)非常長,相應(yīng)在ATE 上的測(cè)試時(shí)間就長,而測(cè)試時(shí)間是影響整個(gè)芯片成本的一個(gè)關(guān)鍵因素。

      掃描壓縮采用的線性反饋移位器(LFSM)結(jié)構(gòu)如圖4 所示,圖中黑色粗線路徑為掃描壓縮結(jié)構(gòu)的數(shù)據(jù)路徑。將內(nèi)部的長鏈轉(zhuǎn)為短鏈,在外部測(cè)試端口不增加的情況下,在內(nèi)部將一條長鏈分成并行的4 條掃描鏈,從而使掃描移位時(shí)間縮短,測(cè)試成本隨之大幅度降低,此時(shí)的測(cè)試時(shí)間取決于壓縮后內(nèi)部最長的那條鏈。藍(lán)色線為旁路路徑,內(nèi)部并行的4 條鏈合成一條,多用于測(cè)試初期的接口調(diào)試。

      壓縮結(jié)構(gòu)的內(nèi)部核心算法模塊有:1)解壓縮模塊,負(fù)責(zé)將測(cè)試輸入通道移位進(jìn)來的壓縮后測(cè)試向量進(jìn)行解壓縮,并輸出給內(nèi)部所有的掃描鏈,位置在測(cè)試的輸入通道(連接到ATE)和內(nèi)部的掃描鏈輸入端之間,解壓縮模塊主要由一個(gè)LFSM 構(gòu)成;2)壓縮模塊,將內(nèi)部所有的掃描鏈輸出響應(yīng)進(jìn)行壓縮,并由測(cè)試通道移位輸出,位置在內(nèi)部掃描鏈輸出端和測(cè)試輸出通道(連接到ATE)之間,壓縮模塊主要由門控邏輯構(gòu)成;3)旁路模塊,通過多路選擇器(MUX)將輸入解壓縮、輸出壓縮的邏輯進(jìn)行旁路,把內(nèi)部所有的掃描鏈連接成長掃描鏈,并連接到測(cè)試輸入、輸出通道,實(shí)現(xiàn)內(nèi)部掃描鏈的直接訪問,多用于調(diào)試。

      圖3 PCIe 掃描設(shè)計(jì)流程

      3.3 開關(guān)矩陣?yán)@線算法設(shè)計(jì)

      FPGA 可編程部分可測(cè)性設(shè)計(jì)算法實(shí)現(xiàn)的布線結(jié)果包括2 部分:1)從一個(gè)互連節(jié)點(diǎn)到另一個(gè)互連節(jié)點(diǎn)之間的連線;2)PIP 的配置選通。對(duì)于FPGA 的硬件來說,連線其實(shí)是不可更改的,也就是所謂的硬連線。真正實(shí)現(xiàn)模塊間可配置通路的是那些可配置的互連節(jié)點(diǎn)。

      FPGA 的布線結(jié)構(gòu)如圖5 所示,橙色圖形為邏輯模塊,白色圖形為開關(guān)矩陣模塊,藍(lán)色圖形是輸出模塊,綠色圖形為輸入模塊。紅色線段表示連線,紫色線段表示可配置互連節(jié)點(diǎn)。從圖5 中可以看到,該條布線包括了5 段連線和4 個(gè)PIP。根據(jù)上面的描述,連線都是與PIP 直接相連的,因此實(shí)際上也可以直接就用這4 個(gè)PIP 來表示整條布線,即當(dāng)這4 個(gè)PIP 連通之后,從輸出點(diǎn)到輸入點(diǎn)的整個(gè)連接成功打通了。

      圖5 FPGA 布線結(jié)構(gòu)

      由于整個(gè)FPGA 中的連線和PIP 是非常多的,因此上述布線只是從輸出點(diǎn)到輸入點(diǎn)的很多條路徑中的一條而已。而布線程序就是要盡量找到一條長度更短、延時(shí)更低的路徑。在工程上來說,一個(gè)設(shè)計(jì)在實(shí)現(xiàn)的時(shí)候會(huì)面臨非常多的布線需求,布線工具往往還需要具備能處理各種布線沖突以及優(yōu)化迭代的能力。由于布線算法只針對(duì)一些簡單的測(cè)試需求,是對(duì)EDA工具的一種補(bǔ)充,因此考慮的布線能力僅限于能盡量布通每一條測(cè)試通路。

      針對(duì)測(cè)試需求實(shí)現(xiàn)的布線程序算法流程如下。

      1)將整個(gè)FPGA 中的所有連線和PIP 以頂點(diǎn)和邊的形式模型化為一張有向圖并加載到內(nèi)存中。

      2)以起點(diǎn)位置作為當(dāng)前點(diǎn),分析終點(diǎn)和當(dāng)前點(diǎn)的相對(duì)物理位置。

      3)根據(jù)相對(duì)物理位置選擇可使用的PIP 集合:

      a)若物理位置重合,則選用輸入專用PIP;

      b)若物理位置不重合,則根據(jù)方向優(yōu)先選擇更優(yōu)(在不超過范圍的前提下盡量長)的路徑。

      4)判斷可用PIP 集合是否已標(biāo)記用盡:

      a)若是,將前一PIP 標(biāo)記為暫不可用,并從路徑中剔除,判斷路徑中是否還有PIP,若是,則將上一節(jié)點(diǎn)設(shè)為當(dāng)前點(diǎn),返回流程3),若不是,返回錯(cuò)誤并退出布線程序;

      b)若不是,選擇一個(gè)可用PIP,并繼續(xù)以下步驟。

      5)以PIP 的輸出端作為當(dāng)前點(diǎn),將該P(yáng)IP 放入路徑中,并標(biāo)記為已使用。

      6)判斷當(dāng)前點(diǎn)是否為終點(diǎn)(或與終點(diǎn)直連):

      a)若是,返回當(dāng)前路徑中的所有PIP,將布線過程中標(biāo)記為暫不可用的全部PIP 標(biāo)記為未使用,并完成當(dāng)前布線;

      b)若不是,返回流程3)。

      算法中為了保證布線的時(shí)候不會(huì)重復(fù)計(jì)算,并保證每條布線之間的獨(dú)立性,也為了確保每次布線的資源都能合理釋放,對(duì)每個(gè)PIP 添加了2 個(gè)屬性:已使用和暫不可用。已使用是指一個(gè)PIP 在當(dāng)前或者其他布線中已被使用,這時(shí)所有的布線都不能再使用這個(gè)PIP;而暫不可用指這個(gè)PIP 在當(dāng)前布線中已經(jīng)嘗試過,但是并不能完成布線,因此告訴后續(xù)程序避開此PIP,暫不可用的PIP 在本次布線完成之后會(huì)釋放給后續(xù)的布線使用。

      結(jié)合上述的算法流程,得到具體開關(guān)矩陣的可編程算法如下。

      1)起點(diǎn)坐標(biāo)為(X1,Y6),終點(diǎn)坐標(biāo)為(X6,Y2),因此優(yōu)先選擇連接南至東(SE)方向所接線段跨度為6 的PIP。

      2)當(dāng)前點(diǎn)來到(X3,Y2),此時(shí)終點(diǎn)的相對(duì)位置為(X5,Y2),應(yīng)選擇連接?xùn)|方向的PIP,如果使用最長線,則下一位置將直接到(X7,Y2),該位置已超過目標(biāo)位置(X6,Y2),因此使用更短一些的線,完成(X3,Y2)→(X5,Y2)布線。

      3)當(dāng)前點(diǎn)來到(X5,Y2),此時(shí)終點(diǎn)的相對(duì)位置為(X6,Y2),依然應(yīng)選擇東方向,與2)類似的,完成(X5,Y2)→(X6,Y2)布線。

      4)當(dāng)前點(diǎn)來到(X6,Y2),此時(shí)終點(diǎn)的位置與當(dāng)前點(diǎn)重合,因此應(yīng)在輸入專用PIP 中進(jìn)行選擇,完成(X6,Y2)→輸入專用PIP 的布線。

      以上示例是一個(gè)比較順利的情況,因?yàn)槊總€(gè)方向的線其實(shí)是有很多通道的。每一個(gè)通道往下布線都可以到終點(diǎn)附近,但是可能并不能直接送到對(duì)應(yīng)的那個(gè)輸入專用PIP/旁路的點(diǎn)上去,所以可能需要多次退回,重復(fù)計(jì)算。

      本文為布局一個(gè)PCIe 模塊的所有DFT 信號(hào),有25 個(gè)輸出和33 個(gè)輸入需要通過布線到IO 上來實(shí)現(xiàn),因此在布線之前應(yīng)該準(zhǔn)備好58 個(gè)可用的IO,把它們的位置信息和輸入/輸出點(diǎn)放到一個(gè)列表中,然后再把PCIe 的測(cè)試端口在相應(yīng)SWB 上的位置信息放到另一個(gè)列表中,2 個(gè)列表一一對(duì)應(yīng),基于上述算法實(shí)現(xiàn)最優(yōu)點(diǎn)導(dǎo)通。

      4 可測(cè)性設(shè)計(jì)結(jié)果

      4.1 壓縮算法優(yōu)化效果

      PCIe 掃描測(cè)試的輸入/輸出均為25 通道,掃描時(shí)鐘頻率為25 MHz,壓縮與未壓縮設(shè)計(jì)結(jié)果對(duì)比如表1中所示,從ATE 測(cè)試時(shí)間對(duì)比可以看出,壓縮后的測(cè)試時(shí)間僅約為未壓縮的1/22,測(cè)試成本大幅降低。

      表1 壓縮與未壓縮設(shè)計(jì)結(jié)果對(duì)比

      4.2 布線EDA 驗(yàn)證

      全FPGA 驗(yàn)證方法是利用ISE 軟件產(chǎn)生的ncd 和xdl 文件,從xdl 文件中提取出端口信息,將ncd 轉(zhuǎn)換成的比特流加載在EDA 驗(yàn)證平臺(tái)上,并添加激勵(lì)文件進(jìn)行仿真,最后對(duì)比輸出結(jié)果來判斷驗(yàn)證方案是否通過,EDA 驗(yàn)證平臺(tái)如圖6 所示。

      圖6 EDA 驗(yàn)證平臺(tái)

      根據(jù)設(shè)計(jì)的用例,將ncd 轉(zhuǎn)換成相應(yīng)的比特流,在全芯片仿真階段,將該比特流信息加載到全芯片網(wǎng)表中,用于實(shí)現(xiàn)和設(shè)計(jì)用例相同的功能,功能相同代表驗(yàn)證方案通過,反之亦然。

      比特流配置完成后,將掃描驗(yàn)證激勵(lì)添加到驗(yàn)證平臺(tái)中,通過測(cè)試端口輸入激勵(lì),并觀察輸出端,完成測(cè)試比對(duì)。EDA 驗(yàn)證波形和結(jié)果如圖7 所示。

      圖7 EDA 驗(yàn)證波形和結(jié)果

      4.3 ATE 測(cè)試

      ATE 加載STIL 格式的測(cè)試激勵(lì),按照STIL 中定義的時(shí)序打入測(cè)試激勵(lì),并完成輸出數(shù)據(jù)的比對(duì),若與STIL 中所定義的期望輸出一致,則測(cè)試通過,否則判定為測(cè)試失敗,ATE 輸出測(cè)試失敗信息,可通過工具分析、定位測(cè)試失敗點(diǎn)。ATE 測(cè)試電路如圖8 所示,實(shí)際測(cè)試通過。

      圖8 ATE 實(shí)測(cè)電路

      5 結(jié)論

      本文論述了FPGA 的可編程、低成本可測(cè)性設(shè)計(jì)的實(shí)現(xiàn),解決了協(xié)議類IP 核無法進(jìn)行ATE 測(cè)試的難題,優(yōu)化了測(cè)試時(shí)間,滿足FPGA 芯片的生產(chǎn)要求。上述方案可在FPGA 復(fù)雜IP 核測(cè)試的問題上通用,對(duì)于未來搭建全FPGA 自動(dòng)化測(cè)試流程有重要意義,同時(shí)為FPGA 的高速測(cè)試研究奠定了基礎(chǔ)。

      猜你喜歡
      布線端口矩陣
      一種端口故障的解決方案
      擺脫繁瑣布線,重定義家庭影院 Klipsch Reference Wireless 5.1
      面向目標(biāo)的主動(dòng)繞障PCB布線算法
      電子布線系統(tǒng)在工程中的應(yīng)用
      端口阻塞與優(yōu)先級(jí)
      初等行變換與初等列變換并用求逆矩陣
      一種考慮擁擠度的布線模型及其算法
      矩陣
      南都周刊(2015年4期)2015-09-10 07:22:44
      矩陣
      南都周刊(2015年3期)2015-09-10 07:22:44
      矩陣
      南都周刊(2015年1期)2015-09-10 07:22:44
      运城市| 阿合奇县| 宜黄县| 肥西县| 灵寿县| 沾益县| 镇原县| 边坝县| 齐齐哈尔市| 白山市| 闵行区| 抚顺县| 安龙县| 平乡县| 浦城县| 石狮市| 五大连池市| 萨嘎县| 渭南市| 蒲江县| 新泰市| 敖汉旗| 乐平市| 会理县| 柳江县| 军事| 贵州省| 临江市| 柳州市| 浙江省| 冀州市| 安福县| 册亨县| 张家港市| 广德县| 大渡口区| 根河市| 常宁市| 黑山县| 长海县| 斗六市|