国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

多FPGA驗(yàn)證平臺(tái)引腳限制的解決方案

2010-09-03 08:25:08胡文彬吳劍旗
關(guān)鍵詞:接收端時(shí)鐘邏輯

胡文彬, 吳劍旗,2, 洪 一,2

(1.合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230009;2.中國(guó)電子科技集團(tuán) 第38研究所,安徽 合肥 230031)

0 引 言

FPGA驗(yàn)證是IC設(shè)計(jì)者普遍采用的一種驗(yàn)證手段。FPGA的容量雖然不斷增大,但是許多超大規(guī)模ASIC不能在一片F(xiàn)PGA上實(shí)現(xiàn),所以面臨著將一個(gè)IC設(shè)計(jì)劃分到幾個(gè)FPGA內(nèi)的情況,劃分軟件將不同的模塊劃分到不同的FPGA內(nèi),將互連信號(hào)指定到驗(yàn)證板的互連路徑上。把ASIC分割到不同F(xiàn)PGA內(nèi)時(shí),模塊間的信號(hào)線可能達(dá)到上萬根,而FPGA的可用IO是有限的,這樣造成邏輯線數(shù)量遠(yuǎn)大于物理連線數(shù)量。

針對(duì)FPGA可用IO數(shù)量有限這一情況,IC驗(yàn)證者通常采用以下方式來實(shí)現(xiàn)驗(yàn)證:①采用非對(duì)稱的FPGA拓?fù)浣Y(jié)構(gòu)或構(gòu)建可編程的互連芯片F(xiàn)PIC[1];②應(yīng)用設(shè)計(jì)分割軟件對(duì)設(shè)計(jì)進(jìn)行合理劃分,在對(duì)設(shè)計(jì)進(jìn)行劃分時(shí)使用更為先進(jìn)的劃分算法,盡量避免產(chǎn)生寬總線;③利用FPGA內(nèi)的資源對(duì)IO進(jìn)行復(fù)用,通過LE資源實(shí)現(xiàn)虛擬線路[2]。大多數(shù)FPGA原型版供應(yīng)商采用在模塊與IO端口間插入一個(gè)高速串行收發(fā)器(SERDES)的方法,由于使用了LVDS技術(shù),提高了系統(tǒng)的工作頻率,發(fā)揮了FPGA平臺(tái)的高效性能。

IO復(fù)用成為通用多FPGA開發(fā)平臺(tái)引腳限制問題的有效解決方案。設(shè)計(jì)劃分到不同F(xiàn)PGA內(nèi),分區(qū)間的信號(hào)將流經(jīng)FPGA內(nèi)部邏輯資源內(nèi)構(gòu)建的IO復(fù)用模塊。本文通過分析傳統(tǒng)FPGA驗(yàn)證的設(shè)計(jì)流程,提出了一種新型的多FPGA的驗(yàn)證流程,得出系統(tǒng)工作頻率與IO復(fù)用模塊的信號(hào)發(fā)收頻率的關(guān)系。通過整個(gè)體系的構(gòu)建,實(shí)現(xiàn)了2片F(xiàn)PGA內(nèi)信號(hào)的無延時(shí)傳輸,對(duì)FPGA劃分時(shí)出現(xiàn)IO瓶頸問題的研究有很好的借鑒作用。

1 多FPGA系統(tǒng)的驗(yàn)證流程

傳統(tǒng)的FPGA驗(yàn)證流程如圖1a所示[3]。

設(shè)計(jì)輸入硬件描述語言或原理圖通過編譯,利用仿真工具進(jìn)行功能驗(yàn)證[4]。功能驗(yàn)證后,綜合工具對(duì)RTL進(jìn)行綜合,將 RT L翻譯成由與、或、非門,RAM及觸發(fā)器等基本邏輯單元組成的邏輯連接,輸出網(wǎng)表文件。綜合后網(wǎng)表一般要進(jìn)行仿真以檢查綜合器的綜合結(jié)果是否與設(shè)計(jì)輸入一致。

隨著設(shè)計(jì)規(guī)模的擴(kuò)大,一片F(xiàn)PGA的驗(yàn)證系統(tǒng)難以完成超大規(guī)模IC設(shè)計(jì)的驗(yàn)證,多FPGA驗(yàn)證平臺(tái)的出現(xiàn)保障了超大規(guī)模IC設(shè)計(jì)驗(yàn)證的順利進(jìn)行。多FPGA驗(yàn)證引入了2個(gè)難點(diǎn),即設(shè)計(jì)的劃分和IO瓶頸。傳統(tǒng)的多FPGA驗(yàn)證時(shí)需要通過復(fù)雜的劃分算法對(duì)設(shè)計(jì)進(jìn)行劃分,使得分區(qū)的邏輯規(guī)模小于單個(gè)FPGA的容量上限,同時(shí)也必須保證分區(qū)間信號(hào)線數(shù)量小于FPGA間的物理連線數(shù)量。這一過程建立在驗(yàn)證者豐富的經(jīng)驗(yàn)之上,而且也耗費(fèi)大量的時(shí)間。本文在傳統(tǒng)驗(yàn)證流程的基礎(chǔ)上加入了嵌入自行設(shè)計(jì)的IO復(fù)用模塊這一步驟,形成了新的多FPGA系統(tǒng)驗(yàn)證流程,如圖1b所示。

圖1 驗(yàn)證流程

復(fù)雜芯片設(shè)計(jì)由多個(gè)設(shè)計(jì)模塊構(gòu)成,硬件描述語言編寫的代碼是基于模塊的設(shè)計(jì),基于模塊的自然邊界對(duì)設(shè)計(jì)進(jìn)行劃分是一種簡(jiǎn)單直觀的劃分方法,也便于后期的測(cè)試工作。在模塊框圖中,寄存器組、宏功能模塊、存儲(chǔ)器單元、控制模塊及一些重復(fù)使用的模塊都具有其本身的自然邊界,各模塊又可由多個(gè)子模塊組成。依據(jù)設(shè)計(jì)的功能模塊與層次的設(shè)計(jì)可以方便地找到自然邊界。以下介紹劃分的各項(xiàng)工作。

(1)設(shè)計(jì)劃分前的準(zhǔn)備。將設(shè)計(jì)劃分到多個(gè)FPGA內(nèi)需要同時(shí)考慮模塊的面積大小和FPGA間互連線的影響[5]。在對(duì)設(shè)計(jì)進(jìn)行劃分前,要對(duì)設(shè)計(jì)進(jìn)行預(yù)先的估計(jì),得到模塊的一些參數(shù),包括模塊資源占用情況、模塊的輸入輸出以及各模塊間的互連信號(hào)數(shù)量的大致情況,這些信息可以指導(dǎo)設(shè)計(jì)的劃分。如果某個(gè)模塊規(guī)模過大,則需要追溯到該模塊的下一層,將該模塊拆分成更小的模塊。邏輯劃分后的結(jié)構(gòu)示意圖如圖2所示,圖2中數(shù)字大小代表模塊的規(guī)模大小順序。

圖2 邏輯劃分后的結(jié)構(gòu)示意圖

(2)設(shè)計(jì)劃分的方法。在FPGA規(guī)模日益擴(kuò)大的基礎(chǔ)上,盡量節(jié)約芯片的引腳是邏輯劃分算法的主要考慮因素。依據(jù)模塊的邊界,將圖2中1、3、5、7模塊劃分在一起,另外 3個(gè)模塊劃分到另一個(gè)FPGA內(nèi),使得2個(gè)大模塊間互連線最少,且2個(gè)分區(qū)的規(guī)模滿足FPGA的要求。圖2中虛線圈內(nèi)模塊劃分到一個(gè)FPGA內(nèi),并設(shè)虛線框內(nèi)的模塊分別為RT L-1和RTL-2。

(3)對(duì)原代碼進(jìn)行拆分。在圖2中,3和7的輸出端信號(hào)連接到2和6的輸入端。首先要找到這些信號(hào),將3和7的輸出信號(hào)定義為RTL-1的輸出,將2和6的輸入信號(hào)定義為 RT L-2的輸入信號(hào)。這樣,RT L-1和RTL-2都是帶有輸入輸出的模塊,它們間的互連情況也由各自的端口信號(hào)唯一確定。

RTL-1和 RT L-2分別劃分到2片F(xiàn)PGA內(nèi)后,以下過程轉(zhuǎn)化為2個(gè)并行的子過程。由于要考慮對(duì)IO進(jìn)行復(fù)用,所以應(yīng)該在RT L-1端對(duì)輸出引腳進(jìn)行復(fù)用,加入IO復(fù)用模塊,將RTL-1的輸出信號(hào)復(fù)用在可用IO上。這樣,RT L-1和復(fù)用模塊構(gòu)成一個(gè)整體設(shè)計(jì),并對(duì)該設(shè)計(jì)綜合、布局布線,并生成編程比特流。同理,在另一塊FPGA上,要在對(duì)應(yīng)的引腳上對(duì)IO解復(fù)用,加入設(shè)計(jì)好的解復(fù)用模塊,它與RTL-2一起進(jìn)行綜合及布局布線,并生成編程比特流。最后,將編程比特流分別下載到2塊FPGA內(nèi)。這樣就完成了具有引腳限制的多片F(xiàn)PGA驗(yàn)證。

2 構(gòu)建IO復(fù)用模塊

在劃分到不同F(xiàn)PGA內(nèi)的分區(qū)間加入本文設(shè)計(jì)的IO復(fù)用模塊,利用IO口的高速度,使一端的多路并行數(shù)據(jù)可以在一根互連線上無延時(shí)地傳輸?shù)搅硪欢?節(jié)約了IO,有效地解決IO瓶頸問題。

2.1 IO復(fù)用的FPGA體系結(jié)構(gòu)

分區(qū)進(jìn)行布線時(shí),當(dāng)有充足的可用IO時(shí),一條邏輯線在一根物理連線上實(shí)現(xiàn)[6]。當(dāng)分區(qū)間互連信號(hào)數(shù)量超過片間物理互連線數(shù)量時(shí),對(duì)IO進(jìn)行復(fù)用是唯一的解決辦法。按照?qǐng)D2所示的驗(yàn)證步驟,在2個(gè)分區(qū)間分別加入發(fā)送模塊與接收模塊,實(shí)現(xiàn)信號(hào)的多路復(fù)用。對(duì)IO進(jìn)行復(fù)用的系統(tǒng)結(jié)構(gòu)如圖3所示。

圖3 IO復(fù)用互連結(jié)構(gòu)

2.2 系統(tǒng)工作頻率與發(fā)送頻率的關(guān)系

ASIC設(shè)計(jì)工作時(shí)鐘為clk,對(duì)應(yīng)頻率為F。設(shè)計(jì)被劃分到不同F(xiàn)PGA內(nèi)后,系統(tǒng)在進(jìn)行仿真時(shí)信號(hào)從一個(gè)分區(qū)流向另一個(gè)分區(qū)。信號(hào)流經(jīng)IO復(fù)用模塊,復(fù)用模塊對(duì)發(fā)送端的并行信號(hào)并串轉(zhuǎn)換,以較高的發(fā)送頻率發(fā)送到另一塊FPGA內(nèi)的接收端,接收端對(duì)高速的串行信號(hào)串并轉(zhuǎn)換。在系統(tǒng)時(shí)鐘的某有效沿時(shí)刻產(chǎn)生了工作時(shí)鐘為clk、頻率為F的一組并行信號(hào),該組信號(hào)經(jīng)過IO復(fù)用模塊后,在下一個(gè)時(shí)鐘有效時(shí)下一個(gè)分區(qū)要能準(zhǔn)確采樣到該組并行數(shù)據(jù)。對(duì)驗(yàn)證者來說,IO復(fù)用模塊加入后對(duì)系統(tǒng)仿真才沒有產(chǎn)生延遲。這一過程主要考慮復(fù)用模塊的高速串行發(fā)送時(shí)鐘頻率f與邏輯設(shè)計(jì)的工作時(shí)鐘頻率F之間的關(guān)系。

發(fā)送端n位的并行數(shù)據(jù)data-n的發(fā)送時(shí)鐘為sys-clk,頻率為F,并行數(shù)據(jù)經(jīng)過移位寄存器串化,設(shè)串化后的數(shù)據(jù)發(fā)送時(shí)鐘為trans-clk。接收端向內(nèi)部邏輯發(fā)送的并行數(shù)據(jù)為data-out。接收端同時(shí)對(duì)高速的串行數(shù)據(jù)進(jìn)行接收,當(dāng)?shù)趎個(gè)串行數(shù)據(jù)接收到后,接收端將data-out發(fā)送給內(nèi)部的邏輯,此時(shí),sys-clk為有效沿,將對(duì)并行信號(hào)進(jìn)行處理。并行數(shù)據(jù)的發(fā)送與接收要小于一個(gè)sys-clk時(shí)鐘周期,從而保障了功能仿真的無延時(shí)。對(duì)n位的并行數(shù)據(jù)進(jìn)行串化需要n個(gè)串行時(shí)鐘,接收端同步對(duì)串行數(shù)據(jù)進(jìn)行接收,并在第n+1個(gè)時(shí)鐘時(shí)對(duì)所接收到的數(shù)據(jù)并行發(fā)送給后面邏輯。

從整個(gè)過程來看,n位并行數(shù)據(jù)的發(fā)收經(jīng)歷了n+1個(gè)發(fā)送時(shí)鐘,因此,系統(tǒng)工作頻率F與n位并行數(shù)據(jù)的發(fā)送頻率 f滿足關(guān)系式:F=(n+1)f。對(duì)IO進(jìn)行復(fù)用時(shí),該頻率關(guān)系是時(shí)鐘倍頻時(shí)發(fā)送時(shí)鐘頻率選擇的參考。按照這個(gè)關(guān)系選擇的倍頻時(shí)鐘使得片間的數(shù)據(jù)傳輸無延時(shí)。系統(tǒng)的時(shí)序示意圖如圖4所示。

圖4 IO復(fù)用時(shí)序示意圖

2.3 設(shè)計(jì)的實(shí)現(xiàn)

設(shè)計(jì)的實(shí)現(xiàn)方式是多種多樣的,LVDS收發(fā)器或SERDES是比較常用的方法[7],也可以用內(nèi)部邏輯實(shí)現(xiàn)發(fā)送與接收[8],本文利用內(nèi)部的邏輯資源,編寫Verilog代碼設(shè)計(jì)的電路結(jié)構(gòu)如圖5所示。

圖5 復(fù)用模塊的體系結(jié)構(gòu)

在發(fā)送端,data-n經(jīng)FIFO寄存,PLL鎖相環(huán)倍頻產(chǎn)生發(fā)送時(shí)鐘 trans-clk,在高速時(shí)鐘trans_clk的時(shí)鐘沿對(duì)并行數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換,生成高速串行的數(shù)據(jù)流,數(shù)據(jù)流經(jīng)過LVDS端口發(fā)送至接收端。在接收端,clk在標(biāo)志信號(hào)flag有效時(shí)開始對(duì)串行數(shù)據(jù)進(jìn)行采集。該協(xié)議沒有把數(shù)據(jù)封裝成幀,而是采用與數(shù)據(jù)同步傳輸?shù)碾S路同步時(shí)鐘以及用來控制接收端啟動(dòng)接收的幀同步標(biāo)志信號(hào)flag,使得數(shù)據(jù)在接收端可以同步地采樣。這種協(xié)議方式為一種改進(jìn)的外同步高速串行傳輸形式,在片間數(shù)據(jù)傳輸線上傳輸?shù)臄?shù)據(jù)都是實(shí)時(shí)的信號(hào)數(shù)據(jù),使得片間的數(shù)據(jù)傳輸無延時(shí),而且協(xié)議簡(jiǎn)單,開銷小。通過仿真得到設(shè)計(jì)的波形,如圖6所示。

圖6 并行數(shù)據(jù)發(fā)送與接收波形圖

由圖6波形可知,并行8位的數(shù)據(jù)01111011經(jīng)過復(fù)用模塊的并串及串并轉(zhuǎn)換,在經(jīng)過9個(gè)發(fā)送時(shí)鐘后被接收端準(zhǔn)確接收。

3 結(jié)束語

驗(yàn)證平臺(tái)的IO限制使得設(shè)計(jì)加載困難,通過本文設(shè)計(jì)可以了解如何對(duì)固定物理連線進(jìn)行時(shí)分復(fù)用,按照文中的多片F(xiàn)PGA驗(yàn)證的驗(yàn)證流程進(jìn)行驗(yàn)證,使得具有IO限制的多FPGA驗(yàn)證順利進(jìn)行。文中提到的基于模塊的邊界進(jìn)行劃分的方法對(duì)設(shè)計(jì)劃分有指導(dǎo)作用,基于該方法構(gòu)建劃分算法也是設(shè)計(jì)自動(dòng)劃分軟件的一個(gè)研究方向。最后得出系統(tǒng)工作頻率與串行發(fā)送頻率的關(guān)系,這一關(guān)系可作為IO復(fù)用模塊構(gòu)建時(shí)的參考。該方案同樣適用于所有具有多FPGA結(jié)構(gòu)的系統(tǒng)。

[1]夏 飛.基于FPGA組的 ASIC驗(yàn)證原型和邏輯分割算法的研究與實(shí)現(xiàn)[D].長(zhǎng)沙:國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院,2005.

[2]吳繼華,王 誠(chéng).AlteraFPGA/CPLD設(shè)計(jì):高級(jí)篇[M].北京:人民郵電出版社,2005:102-109.

[3]楊 焱,侯朝煥.一種面向系統(tǒng)芯片的FPGA協(xié)同驗(yàn)證方法[J].微電子學(xué),2004,34(4):469-472.

[4]Walters S.Computer-aided prototyping for ASIC-based systems[J].IEEE Design and Test 1991,8(2):4-10.

[5]李小波,張 珩,張復(fù)新,等.一類復(fù)雜芯片的FPGA驗(yàn)證[J].計(jì)算機(jī)工程,2006,32(14),243-245.

[6]Babb J W.Virtual wires:overcoming pin limitations in FPGA-based logic emulation[D].Masschusetts:Laboratory for Computer Science,MIT,1994.

[7]陳 維.基于VHDL的串行同步通信電路設(shè)計(jì)[J].網(wǎng)絡(luò)信息技術(shù),2006,25(2):46-49.

[8]李云志,李立萍,楊 恒.基于FPGA的 LVDS高速差分板間接口應(yīng)用[J].集成電路設(shè)計(jì)與開發(fā),2008,33(12):1138-1141.

猜你喜歡
接收端時(shí)鐘邏輯
刑事印證證明準(zhǔn)確達(dá)成的邏輯反思
法律方法(2022年2期)2022-10-20 06:44:24
基于擾動(dòng)觀察法的光通信接收端優(yōu)化策略
邏輯
別樣的“時(shí)鐘”
創(chuàng)新的邏輯
頂管接收端脫殼及混凝土澆筑關(guān)鍵技術(shù)
一種設(shè)置在密閉結(jié)構(gòu)中的無線電能傳輸系統(tǒng)
新能源科技(2021年6期)2021-04-02 22:43:34
基于多接收線圈的無線電能傳輸系統(tǒng)優(yōu)化研究
古代的時(shí)鐘
女人買買買的神邏輯
37°女人(2017年11期)2017-11-14 20:27:40
万安县| 祁门县| 九寨沟县| 安龙县| 淮南市| 小金县| 如东县| 岳池县| 固阳县| 眉山市| 庆阳市| 金堂县| 湾仔区| 颍上县| 漳浦县| 永福县| 晴隆县| 马山县| 南康市| 鄂托克旗| 五台县| 香格里拉县| 中宁县| 资兴市| 随州市| 突泉县| 施秉县| 大港区| 义马市| 湟源县| 那坡县| 拜城县| 赤峰市| 郓城县| 宾川县| 滦平县| 阳高县| 朝阳县| 台北县| 水城县| 治县。|