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

?

基于FPGA實現(xiàn)TDC的布局布線優(yōu)化方法研究

2018-05-05 05:51:21尹文芹施韶華劉音華李孝輝
時間頻率學(xué)報 2018年1期
關(guān)鍵詞:布線延時間隔

尹文芹,施韶華,3,劉音華,3,李孝輝,3,4

(1.中國科學(xué)院 國家授時中心,西安 710600;

2.中國科學(xué)院大學(xué),北京 100049;

3.中國科學(xué)院 時間頻率基準(zhǔn)重點實驗室,西安 710600;4.中國科學(xué)院大學(xué) 天文與空間科學(xué)學(xué)院,北京 100049)

0 引言

時間—數(shù)字轉(zhuǎn)換是測量時間間隔的基本方法之一,在該技術(shù)發(fā)展的早期,半導(dǎo)體集成電路等電子學(xué)技術(shù)比較落后,模擬測量是時間間隔測量的主流方法。隨著科學(xué)技術(shù)的進步,數(shù)字化技術(shù)因其靈活性、穩(wěn)定性、低成本等優(yōu)勢逐漸成為時間間隔測量方法的主要研究方向[1]。

現(xiàn)場可編程門陣列FPGA(field programmable gate array)是一種數(shù)字化集成電路,是以PAL(programmab1e array logic)、PLA(programmab1e logic array)、CPLD(complex programmab1e logic device)等可編程器件為基礎(chǔ),進一步發(fā)展而來的更復(fù)雜的可編程邏輯器件[2-3]。

如何利用FPGA實現(xiàn)高分辨率時間數(shù)字轉(zhuǎn)換器成為目前時間間隔測量技術(shù)的重要發(fā)展方向。但因FPGA靈活性較高,在設(shè)計中對于同種器件,相同的程序進行編譯后,其布局布線結(jié)果也會不相同,導(dǎo)致實現(xiàn)統(tǒng)一電路設(shè)計難度增強。尤其在TDC(time-to-digital converter)的設(shè)計中,進位鏈的一致實現(xiàn)是保證其精確分辨率的前提條件。文章根據(jù)TDC基本原理,結(jié)合時間間隔計數(shù)器研制方案,利用FPGA底層結(jié)構(gòu),對加法進位鏈的布局布線進行優(yōu)化,以確保其設(shè)計分辨率可達到皮秒量級。

1 時間數(shù)字轉(zhuǎn)換器設(shè)計方案

1.1 時間數(shù)字轉(zhuǎn)換器工作原理

時間數(shù)字轉(zhuǎn)換器的工作原理如圖1所示。圖中tD為被測時間間隔,即為Start信號的上升沿和Stop信號上升沿之間的時間間隔。Start信號上升沿到達后,在專用延遲線中進行傳播,等待Stop信號;當(dāng)Stop信號的上升沿到達鎖存器,Start信號傳播到第n級延遲線的狀態(tài)被鎖存記錄,通過計算便可得到時間間隔。其中延遲線由多個延遲單元構(gòu)成,每個延遲單元都有相同的傳輸延遲t,延遲t的大小可以決定轉(zhuǎn)換器的最終分辨率[4-6]。

圖1 延遲線型TDC結(jié)構(gòu)

1.2 時間數(shù)字轉(zhuǎn)換器設(shè)計方案

設(shè)計需實現(xiàn)量程為4 ns、分辨率為0.1 ns的時間數(shù)字轉(zhuǎn)換器,其中采用加法進位鏈實現(xiàn)方法,以保證其分辨率達到設(shè)計要求。其方案為圖2所示,用96個1位全加器構(gòu)成了96位串行全加器。根據(jù)串行全加器的邏輯,只有前一級的邏輯運算完后,才會產(chǎn)生下一級的進位信號,因此,進位信號只能逐級從左到右依次產(chǎn)生且傳播下去。如若進位輸入信號為“0”,將測試信號(即Start或Stop信號)引入到全加器的加數(shù)的最低位,其余位設(shè)置為“0”,另一加數(shù)各位設(shè)定為“1”。這樣,當(dāng)Start或Stop信號為“0”時(即沒有測試信號),總和信號各位均為“1”,也不產(chǎn)生進位信號;當(dāng)Start或Stop為“1”時(即測試信號產(chǎn)生),產(chǎn)生了進位信號并且逐級向后傳播,總和信號各位依次從“1”跳變?yōu)椤?”[7]。將測試信號的跳變引入進位鏈中,通過總和信號的跳變能及時反映測試信號的位置信息。FPGA的每個邏輯單元均有進位輸入到進位輸出的延遲線路,進位輸入到進位輸出的進位延遲大多在幾十皮秒量級,因而采用加法進位延遲鏈實現(xiàn)時間間隔測量的分辨率較高。

圖2 TDC設(shè)計結(jié)構(gòu)示意圖

2 時間數(shù)字轉(zhuǎn)換器的實現(xiàn)

考慮到如速度等級、功耗、成本等一些指標(biāo),最終選擇Altera公司主流低成本CycloneIV系列。

2.1 Cyclone IV系列

Altera公司的Cyclone IV系列FPGA器件是其Cyclone系列產(chǎn)品,具有低成本、低功耗的特點。Cyclone IV器件采用了與之前的Cyclone系列器件相同的核心架構(gòu)。這一架構(gòu)包括由四輸入查找表(LUTs)構(gòu)成的LE,存儲器模塊以及乘法器。每一個Cyclone IV器件的M9K存儲器模塊都具有9 Kbit的嵌入式SRAM存儲器。

2.2 底層布局布線

圖3(a)為實現(xiàn)加法進位鏈底層布線圖,每級均由上方的cin到cout,即為圖2中所提及的每個邏輯單元均有進位輸入carry-in到進位輸出carry-out的延遲線路。圖3(b)為1個LAB,由圖可知每個LAB中都包含有16個LE。而 LE為Cyclone IV中最小的邏輯單元,每一個LE中包括1個LUT,1個可編程的寄存器,1個進位鏈。

圖3 加法進位鏈底層布局布線

3 Quartus II布局布線優(yōu)化方法

Quartus II是Altera公司為FPGA器件開發(fā)所提供的一款布局布線、設(shè)計仿真的軟件,可通過該軟件完成功能編譯,綜合優(yōu)化,功能仿真、時序仿真及實現(xiàn)布局布線等。下面分別介紹在Quartus II 10.0及Quartus II 15.0下,應(yīng)用FPGA生成進位鏈,并進行布局布線優(yōu)化的方法[8]。

3.1 Quartus II 10.0

Quartus II 10.0是Altera公司2010年推出的一款軟件,同時支持32位操作系統(tǒng)以及64位操作系統(tǒng)。在工程中,使用軟件構(gòu)建一個多位加法器,其中會產(chǎn)生多條進位鏈,且與寄存器匹配輸出,方便計算,可使用反標(biāo)注及邏輯鎖定等功能固化布局布線,為確保通過FPGA能夠?qū)崿F(xiàn)統(tǒng)一的電路設(shè)計。其操作流程如圖4所示。

圖4 優(yōu)化流程圖

3.1.1 邏輯鎖定(LogicLock)

邏輯鎖定(LogicLock)是Quartus II內(nèi)嵌的高級工具之一,通過在FPGA物理位置的區(qū)域性約束完成提高設(shè)計性能、繼承以往設(shè)計成果、增量編譯等功能。它能很容易地完成對每一模塊的設(shè)計、測試和優(yōu)化,再將這些模塊集成為一個系統(tǒng),進行系統(tǒng)優(yōu)化設(shè)計,同時又能很好地保持原來已設(shè)計好的每單個模塊的優(yōu)化特性。邏輯鎖定只能保證在更高層的設(shè)計鎖定區(qū)域的大小和位置不變,但不保證原模塊在此鎖定區(qū)域中的電路的布局布線方式不變,從而無法保證在此后的更高層設(shè)計適配后模塊的電路結(jié)構(gòu)與性能不變。這種方式并不能解決本項目的問題。因此我們需要在邏輯鎖定結(jié)束后進行反標(biāo)注,以達到固化已經(jīng)過優(yōu)化的布局布線結(jié)果。其中邏輯鎖定具體操作如下,反標(biāo)注方法見節(jié)3.1.2。

邏輯鎖定具體操作方法:

① 為要鎖定的模塊創(chuàng)建新的布局區(qū)域;

② 在LogicLock Region窗口處,將該模塊位置選擇為鎖定,大小選擇為固定,并且設(shè)制該模塊所在位置及所需大?。ǜ吆蛯挘?;

③ 編譯,在Chip Planner中查看結(jié)果,如圖5,圖中top模塊已被邏輯鎖定。

圖5 邏輯鎖定示意圖

3.1.2 反標(biāo)注(Back-annotate)

反標(biāo)注(Back-annotate)是邏輯鎖定(LogicLock)設(shè)計流程中的重要環(huán)節(jié),通過反標(biāo)注操作,用戶可以繼承以往經(jīng)過優(yōu)化的布局布線結(jié)果。對優(yōu)化后的模塊進行反標(biāo)注后,用戶便能在頂層設(shè)計中導(dǎo)入該模塊的反標(biāo)注的布局布線信息,這樣該模塊的邏輯結(jié)構(gòu)與性能在頂層中便能得到保證。

在對模塊邏輯鎖定后,進行反標(biāo)注。反標(biāo)注是在目前編譯后,工程已達到所需目標(biāo),但為防止在加入其他工程后,編譯結(jié)果發(fā)生變化,因此使用反標(biāo)注功能,可將目前工程進行固化,可方便以后使用。反標(biāo)注布線信息僅對固定大小和鎖定位置的邏輯鎖定區(qū)域有效,對于定義為浮動狀態(tài)和自動大小的邏輯鎖定區(qū)域,Quartus II軟件將忽略布線信息。

通過邏輯鎖定及反標(biāo)注,這兩種方法結(jié)合使用,可實現(xiàn)模塊不被自動處理。

3.2 Quartus II 15.0

Quartus II 15.0只支持64位操作系統(tǒng)。在Quartus II 15.0中,不支持反標(biāo)注,導(dǎo)致我們需要尋求別的方法來保證工程模塊不被自動處理。邏輯鎖定方法可正常使用,我們在邏輯鎖定的同時增加位置約束,確保不被自動處理。其具體操作流程與圖4相同,將實現(xiàn)反標(biāo)注更改為位置約束,而后待位置約束編譯成功后,查看結(jié)果。位置約束既可以使用菜單選擇增加約束,也可在文件中自己添加約束。下面介紹文件添加約束方法。

在.qsf文件中,加入位置約束語句,保存編譯后,可達到位置約束的作用。約束語句語法如下所示:set_location_assignment FF_X6_Y4_N7-to"add96:add96_1|add96_top:add96_top_1|result_1[0]"。

完成邏輯鎖定及位置約束后,選定不想被自動處理的文件,對文件進行設(shè)計分離設(shè)置,完成以上步驟后,可確保Quartus II在編譯時,不會將我們需要的自動處理。

4 測試與驗證

設(shè)計采用Altera公司型號為EP4CGX150DF31C7的FPGA作為實例驗證的器件。選用友晶科技DE2i_150開發(fā)板,搭配4 MHz校準(zhǔn)時鐘及三通道輸入信號進行測試。

首先是在軟件為Quartus II 10.0的情況下,所采用工程為用加法器實現(xiàn)96級進位鏈。工程中包括兩個文件top.v和moban.v文件。初次編譯后,如圖6(a)及圖6(b)所示,未能實現(xiàn)圖3(a)中所介紹的cin,cout,進而也沒有實現(xiàn)圖3(b)中實現(xiàn)的加法進位鏈。

圖6 初次編譯后的布局布線

我們先對top.v文件進行邏輯鎖定,限制區(qū)域及大小,編譯,查看結(jié)果。而后根據(jù)文章前面所介紹的方法,對工程進行反標(biāo)注。反標(biāo)注成功后,再次對文件進行編譯,查看Chip Planner,如圖7(a)所示,可以發(fā)現(xiàn)工程實現(xiàn)了96級進位鏈,且圖中顯示了延時時間,因此,我們可根據(jù)這一特性,實現(xiàn)其他工程功能。

其次是在軟件為Quartus II 15.0的情況下,防止自動處理的實現(xiàn)方式。工程相同,需求相同,邏輯鎖定方法相同,區(qū)別在于并不進行反標(biāo)注,而是將工程中的寄存器進行位置約束,使用文章之前所介紹的菜單選擇方法或在文件中用語句完成均可進行位置約束,還需對模塊進行設(shè)計分離,然后編譯,編譯成功后,查看Chip Planner,可以發(fā)現(xiàn)在使用Quartus II 15.0時,用以上方法也可防止被自動處理,實現(xiàn)96級進位鏈,如圖7(b)所示。

圖7 加法進位鏈及延時

5 進位鏈延時數(shù)據(jù)測量及分析

5.1 測試原理

本次測試是利用碼密度測試方法進行的,標(biāo)準(zhǔn)的碼密度測試(code density test,CDT)方法可以對每個延遲單元大小進行測試?,F(xiàn)對于碼密度測試方法進行簡單的介紹。如果使用大量跳變時間均勻分布在[0,T]內(nèi)的隨機脈沖作為待測信號輸入時間數(shù)字轉(zhuǎn)換器,T為系統(tǒng)工作時鐘周期,每個延遲單元被記錄的次數(shù)的累加結(jié)果稱為碼密度,由此可以得到由各個延遲單元組成的離散直方圖。如果隨機脈沖足夠多且輸入的非均勻分布性可以忽略不計的話,那么直方圖中每個延遲單元的統(tǒng)計次數(shù)正比于該單元的延遲量,從而可以計算出每個延遲單元的延遲大小。

5.2 測試方案

根據(jù)上述原理介紹,設(shè)計測試流程圖,如圖8所示。在測試中需要產(chǎn)生大量的隨機校準(zhǔn)脈沖,且應(yīng)保證系統(tǒng)時鐘的頻率和校準(zhǔn)信號的頻率不相關(guān),即它們之間不能成整數(shù)倍關(guān)系。因此本次測試中采用4 MHz時鐘作為校準(zhǔn)時鐘,帶有校準(zhǔn)時鐘的接口板同系統(tǒng)時鐘一同接入DE2i_150開發(fā)板,利用Quartus II中的Signaltap對各個延遲單元進行數(shù)據(jù)采集,分析數(shù)據(jù),得到每級進位鏈延時。

圖8 測試流程圖

5.3 測試數(shù)據(jù)分析

使用上述介紹的方法,實現(xiàn)96級加法進位鏈,其鏈路延時如表1所示。表1中有多級進位鏈延時為0 ns,而加法進位鏈延遲是一個物理延遲,不可能出現(xiàn)0 ns的情況,因此表中0 ns應(yīng)是一個極小值或者是非常接近0 ns的值,通過分析認為可能是由于測試方法導(dǎo)致的,測試中產(chǎn)生的隨機脈沖并未到達該級進位鏈,并且與進位鏈的位置以及內(nèi)部布線也有一定的關(guān)系。

表1 96級加法進位鏈延時數(shù)據(jù) ps

根據(jù)表1數(shù)據(jù)進行分析得到圖9結(jié)果。

如圖9所示,橫坐標(biāo)為50進位鏈級數(shù),縱坐標(biāo)為延時時間,由分析結(jié)果可以看出進位鏈延時最大為265 ps,遠沒有達到我們所需0的要求。同時表1中頻繁的出現(xiàn)延時,也不利于設(shè)計實現(xiàn)。為實現(xiàn)高分辨率時間間隔計數(shù)器,我們需保證進位鏈延時更加的接近,通過反復(fù)驗證 ,發(fā)現(xiàn)進位鏈延時與進位鏈所處位置以及內(nèi)部的布線均有的關(guān)系,因此,找尋到合適的位置,可減小進位鏈延時,提高分辨率。表2為改變位置后,進位鏈延時數(shù)據(jù)。由表2數(shù)據(jù)分析進位鏈延時數(shù)據(jù),分析結(jié)果如圖10所示。

圖9 進位鏈進延位時鏈數(shù)級據(jù)數(shù)分析結(jié)果

表2 改變位置后96級加法進位鏈延時數(shù)據(jù)ps

圖10 改變位置后進位鏈延時數(shù)據(jù)分析結(jié)果

表2中出現(xiàn)了進位鏈延時為0 ns的情況,但出現(xiàn)的次數(shù)不像表1過為頻繁,因此更有利于實現(xiàn)高分辨率TDC設(shè)計。由圖10可以看出其鏈路延遲時間除第1級進位鏈延時在100.3 ps外,其余進位鏈延時均在100 ps以下,且延時大小分布較均勻,這為實現(xiàn)高分辨率TDC設(shè)計提供了基礎(chǔ)。

6 結(jié)語

文章基于Altera的FPGA芯片采用Quartus II軟件進行開發(fā)設(shè)計,實現(xiàn)了96級加法進位鏈的時間數(shù)字轉(zhuǎn)換器。在設(shè)計實現(xiàn)過程中,采用反標(biāo)注和邏輯鎖定的方法對布局布線進行人工干預(yù),并通過邏輯鎖定改變進位鏈的位置,尋找合適的進位鏈位置,實現(xiàn)后95級進位鏈各級時延為0.1ns以下,第1級進位鏈時延為0.100 3 ns。該方法有效的解決了基于FPGA實現(xiàn)TDC的布局布線優(yōu)化問題,實現(xiàn)了測量分辨率為100.3 ps的時間數(shù)字轉(zhuǎn)換器。

參考文獻:

[1] 張延.用FPGA實現(xiàn)高精度時間間隔測量[D].上海:中國科學(xué)院上海天文臺,2006:2-18.

[2] 何賓.Xilinx FPGA數(shù)字設(shè)計:從門級到行為級雙重HDL描述[M].北京:清華大學(xué)出版社,2014:94-114.

[3] 曾憲雄.基于FPGA的短時間間隔產(chǎn)生技術(shù)研究[D].西安:西安電子科技大學(xué),2013:21-24.

[4] 李孝輝,楊旭海,劉婭,等.時間頻率信號的精密測量[M].北京:科學(xué)出版社,2010:78-97.

[5] 羅敏,宮月紅,喻明艷,等.時間—數(shù)字轉(zhuǎn)換器研究綜述[J].微電子學(xué),2014,44(3):374-375.

[6] 徐振.基于TDC的時間間隔測量技術(shù)的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2008:8-15.

[7] 黃海艦.基于FPGA時間內(nèi)插技術(shù)的TDC設(shè)計[D].武漢:華中師范大學(xué)物理科學(xué)與技術(shù)學(xué)院,2013:19-4.

[8] 張甘甘,陳文藝,李青,等.基于QuartusII的布局布線[J].科技信息,2008,35:478-479.

猜你喜歡
布線延時間隔
間隔問題
基于級聯(lián)步進延時的順序等效采樣方法及實現(xiàn)
擺脫繁瑣布線,重定義家庭影院 Klipsch Reference Wireless 5.1
間隔之謎
面向目標(biāo)的主動繞障PCB布線算法
電子測試(2018年22期)2018-12-19 05:12:14
電子布線系統(tǒng)在工程中的應(yīng)用
一種考慮擁擠度的布線模型及其算法
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
上樓梯的學(xué)問
桑塔納車發(fā)動機延時熄火
上林县| 饶平县| 房山区| 顺昌县| 武川县| 通辽市| 迁西县| 甘孜县| 开封市| 锡林浩特市| 且末县| 太湖县| 武汉市| 罗城| 阿荣旗| 丰顺县| 榕江县| 灵武市| 连云港市| 舒城县| 炉霍县| 桂平市| 大悟县| 公安县| 宝丰县| 浮梁县| 赣州市| 清苑县| 秀山| 吉安县| 高台县| 崇州市| 新安县| 都兰县| 渑池县| 杭州市| 尉犁县| 历史| 突泉县| 穆棱市| 渑池县|