亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        FPGA靜態(tài)時(shí)序約束的策略研究及探討*

        2019-09-03 08:57:40
        通信技術(shù) 2019年8期
        關(guān)鍵詞:觸發(fā)器時(shí)序延時(shí)

        劉 晟

        (上海諾基亞貝爾股份有限公司,江蘇 南京 210037)

        0 引 言

        隨著半導(dǎo)體芯片和人工智能產(chǎn)業(yè)的發(fā)展,現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)逐漸受到重視。其靈活性和可定制性都是非常具有吸引力的特性。為解決系統(tǒng)設(shè)計(jì)問題,F(xiàn)PGA 越來越多地整合系統(tǒng)模塊,同時(shí)進(jìn)一步集成了重要控制功能。

        隨著FPGA的規(guī)模及速度的持續(xù)提高,被測試設(shè)計(jì)(Device Under Test,DUT)的時(shí)序驗(yàn)證及邏輯功能驗(yàn)證必須分開進(jìn)行:寄存器傳輸級(Register Transfer Level,RTL)驗(yàn)證電路邏輯功能的正確性;靜態(tài)時(shí)序分析(Static Timing Analysis,STA)驗(yàn)證電路時(shí)序的正確性[1]。STA工具通過給設(shè)計(jì)添加多個(gè)時(shí)序約束,實(shí)現(xiàn)控制邏輯的綜合、映射及布局布線,以此來規(guī)范FPGA的設(shè)計(jì)時(shí)序,使設(shè)計(jì)達(dá)到滿足全部的時(shí)序要求[2]。

        1 時(shí)序約束的基本概念

        時(shí)序分析的方法是檢查FPGA內(nèi)部布局布線的延時(shí),保證所有時(shí)序的有正時(shí)序裕量,即滿足:

        式中,Trequired_time表示所約束時(shí)長,Tarrival_time表示實(shí)際延時(shí),Slack表示時(shí)間裕量,為正表示時(shí)序收斂。時(shí)序裕量的計(jì)算需要依據(jù)不同的時(shí)序路徑,分析約束條件,得到設(shè)計(jì)頻率最高值。STA工具將DUT上的時(shí)序路徑分成4種:

        (1)輸入端口→觸發(fā)器D端口(Pad-to-Setup);

        (2)觸發(fā)器CLK端口 → 觸發(fā)器D端口(Clock-to-Setup);

        (3)觸發(fā)器CLK端口 → 輸出端口(Clockto-Pad);

        (4)輸入端口 → 輸出端口(Pad-to-Pad)。

        時(shí)序分析數(shù)據(jù)傳輸路徑的示意圖如圖1所示。任何復(fù)雜的時(shí)序電路基本都可以用該模型來表示。只有確保數(shù)據(jù)準(zhǔn)確無誤地在觸發(fā)器之間傳輸,才能確定數(shù)據(jù)傳輸延時(shí)的區(qū)間。

        圖1 數(shù)據(jù)傳輸路徑圖

        時(shí)鐘沿到達(dá)前數(shù)據(jù)從不穩(wěn)定狀態(tài)過渡到穩(wěn)定狀態(tài)所經(jīng)歷的時(shí)間稱為建立時(shí)間(Tsu)。數(shù)據(jù)在穩(wěn)定后需要在時(shí)鐘上升沿保持的時(shí)間稱為保持時(shí)間(Th)。建立時(shí)間和保持時(shí)間是矛盾的兩方面。圖2為同一時(shí)鐘下的建立時(shí)間與保持時(shí)間的關(guān)系。Tco為時(shí)鐘上升沿到來后,觸發(fā)器輸出端口產(chǎn)生信號輸出所需時(shí)間為觸發(fā)器輸出時(shí)間。

        圖2 同一時(shí)鐘下的時(shí)間關(guān)系圖

        圖2可以看作是圖1的子集,是時(shí)序電路中的基本模塊結(jié)構(gòu)。其時(shí)序如圖3所示。

        建立時(shí)間和保持時(shí)間必須滿足式(2)、式(3):

        Tpd為時(shí)鐘從源觸發(fā)器(Source clk)到目標(biāo)觸發(fā)器(Destin clk)的路徑延時(shí)。

        圖3 建立時(shí)間和保持時(shí)間時(shí)序圖

        2 時(shí)鐘約束

        FPGA所有的同步路徑都基于時(shí)鐘,如晶振產(chǎn)生的時(shí)鐘、以太網(wǎng)恢復(fù)出的時(shí)鐘、ADC/DAC的數(shù)據(jù)時(shí)鐘等,稱為主時(shí)鐘(Primary Clock)。其他由主時(shí)鐘產(chǎn)生的時(shí)鐘,稱為衍生時(shí)鐘(Generated Clock)。

        主時(shí)鐘需要通過命令create_clock創(chuàng)建,如定義一個(gè)名為clk_in,周期為10ns,占空比50%,通過輸入端口clk_in輸入到FPGA的主時(shí)鐘:

        create_clock -name clk_in -period 10ns get_ports clk_in

        創(chuàng)建主時(shí)鐘后,STA工具自動確定該主時(shí)鐘的起點(diǎn)為仿真時(shí)序的“零點(diǎn)”,在“零點(diǎn)”之前的路徑延時(shí)都被忽略。如果主時(shí)鐘是以差分對的形式輸入FPGA,那么只需要約束差分的正相端口。

        衍生時(shí)鐘分為兩種,一種由時(shí)鐘管理單元?jiǎng)?chuàng)建,其約束由工具自動推導(dǎo)得出,不需要用戶手動約束;另一種由用戶通過寄存器或組合邏輯設(shè)計(jì)得到,通過命令create_generated_clock來創(chuàng)建約束。此外還需要考慮時(shí)鐘的延時(shí)(latency)和抖動(jitter)等因素。由圖2可以看出,由于存在時(shí)鐘路徑,到達(dá)REG1和REG2的時(shí)鐘有先后,稱為時(shí)鐘延時(shí),用set_clock_latency命令約束。外部器件輸入時(shí)鐘本身屬性,或者電源噪聲、電路板噪聲等因素,都會導(dǎo)致輸入時(shí)鐘產(chǎn)生抖動,用set_system_jitter命令約束。

        對于異步時(shí)鐘,假設(shè)圖2中的REG1和REG2的時(shí)鐘異步,則要約束不同的時(shí)鐘組,以避免路徑的跨時(shí)鐘域(Clock Domain Cross,CDC)錯(cuò)誤。例如:

        create_clock_groups -name asy_clk -asynchronous-group source_clk -group destin_clk

        3 I/O約束

        I/O數(shù)據(jù)傳輸方案根據(jù)不同的數(shù)據(jù)速率,對齊方式,時(shí)鐘源等來做區(qū)分[4]。盡管場景不同,但都適用于相同的原則:分析FPGA與上下游設(shè)備的建立保持時(shí)間。

        3.1 Input和 Output約束

        約束設(shè)計(jì)中I/O約束的命令有以下幾種[3]:

        (1)set_max_delay;

        (2)set_min_delay;

        (3)set_input_delay -max <maxdelay> -min<mindelay>;

        (4)set_output_delay -max <maxdelay> -min<mindelay>。

        命令(1)和命令(2)用來約束異步組合邏輯接口。組合邏輯延時(shí)是不被任何時(shí)鐘序列捕獲的輸入和輸出FPGA的路徑延時(shí),傳輸路徑如圖4所示。

        圖4 組合邏輯的延時(shí)圖

        命令(3)和命令(4)用來約束時(shí)序邏輯接口。通過max和min參數(shù)設(shè)定最大/最小延時(shí)時(shí)間。

        圖5 同步邏輯輸入電路

        圖5為Input約束。Input延時(shí)表示輸入數(shù)據(jù)相對于輸入時(shí)鐘的時(shí)間差。

        Input的最大和最小輸入延時(shí)分別為:

        圖6為Output約束。Output延時(shí)表示輸出數(shù)據(jù)相對于輸入時(shí)鐘的時(shí)間差。

        Output的最大和最小輸出延時(shí)分別為:

        圖6 同步邏輯輸出電路

        為保證約束的完整性,Input和Output的maxdelay和mindelay必須同時(shí)約束。Input的maxdelay描述的是setup相關(guān)的上游器件的延時(shí);mindelay描述的是hold相關(guān)的上游器件的延時(shí)。Output的maxdelay描述的是setup相關(guān)的下游器件的延時(shí);mindelay描述的是hold相關(guān)的下游器件的延時(shí)。

        3.2 建立保持時(shí)序分析

        STA是基于基本元素(Basic Element Logics,BELs)的。即使路徑上有多個(gè)BEL封裝在同一個(gè)切片(Slice)中,仍然需要對每個(gè)BEL進(jìn)行時(shí)序特性描述。

        setup檢查下一個(gè)時(shí)鐘周期之前傳遞完數(shù)據(jù)。第一個(gè)clock的上升沿發(fā)送,第二個(gè)clock的上升沿接收。當(dāng)時(shí)鐘連接到FPGA的port/pin/net時(shí),檢查包括時(shí)鐘從連接到路徑端點(diǎn)的傳播。數(shù)據(jù)路徑延時(shí)使用路徑最長延時(shí),而目標(biāo)時(shí)鐘延時(shí)使用路徑最短延時(shí)。setup檢查從起始點(diǎn)時(shí)鐘的啟動沿開始,到終結(jié)點(diǎn)時(shí)鐘的捕獲沿結(jié)束。

        hold檢查數(shù)據(jù)在接收端的時(shí)鐘邊沿后還仍然能穩(wěn)定保持的時(shí)間。同一個(gè)時(shí)鐘沿既是啟動沿也是捕獲沿。這就意味著當(dāng)時(shí)鐘發(fā)生跳變時(shí),引起的時(shí)鐘更改是否在相同的時(shí)鐘邊沿到達(dá)目標(biāo)模塊(通常是從同一個(gè)時(shí)鐘的上升沿觸發(fā))之前傳播到目標(biāo)模塊。其中最短延時(shí)被用于源時(shí)鐘和數(shù)據(jù)路徑的延時(shí),最長延時(shí)被用于目標(biāo)時(shí)鐘的延時(shí)。

        3.3 系統(tǒng)同步與源同步

        I/O接口可以分為系統(tǒng)同步和源同步。前者是指FPGA和上下游器件之間僅傳遞數(shù)據(jù),時(shí)鐘通過系統(tǒng)板級同步;后者是指FPGA和上下游器件之間同時(shí)傳遞數(shù)據(jù)和時(shí)鐘,用時(shí)鐘同步數(shù)據(jù)。源同步基本不受傳輸線延時(shí)影響,時(shí)鐘頻率更高,約束也相對更復(fù)雜。

        在系統(tǒng)同步模式下,僅需考慮FPGA上下游器件延時(shí)Tco及數(shù)據(jù)板級延時(shí)Tdata_PCB。I/O的啟動與捕獲如圖7所示。啟動沿對應(yīng)上游器件時(shí)鐘,捕獲沿對應(yīng)下游器件時(shí)鐘。

        圖7 系統(tǒng)同步I/O時(shí)序圖

        在系統(tǒng)同步接口中,捕獲數(shù)據(jù)的預(yù)期邊沿是靠近數(shù)據(jù)窗口末尾的邊沿。當(dāng)Tco和Tdata_PCB已知時(shí),可直接指定FPGA輸入延時(shí)。由此可以導(dǎo)出FPGA接收到的實(shí)際有效數(shù)據(jù)在最大和最小情況下的通用數(shù)據(jù)窗口。每個(gè)捕獲沿也是下一個(gè)數(shù)據(jù)的啟動沿,可以用來做hold分析。相應(yīng)約束為:

        在源同步模式下,數(shù)據(jù)和隨路時(shí)鐘之間存在相位關(guān)系,接收端必須使用該時(shí)鐘來鎖存數(shù)據(jù)。源同步可劃分為單數(shù)據(jù)率(Single Data Rate,SDR)和雙數(shù)據(jù)率(Double Data Rate,DDR)、中心對齊和邊沿對齊等多種方式。這里以中心對齊的SDR方式為例,I/O的啟動與捕獲如圖8所示。

        圖8 源同步I/O時(shí)序圖

        在中心對齊的SDR方式下,F(xiàn)PGA捕獲的波形數(shù)據(jù)不依賴于捕獲沿。因此,最大和最小延時(shí)通常通過圖中所示的無效數(shù)據(jù)(skew)來計(jì)算得到。當(dāng)捕獲沿時(shí)間早于使用負(fù)設(shè)置捕獲的數(shù)據(jù)時(shí),STA工具中的默認(rèn)設(shè)置時(shí)間分析不能將前沿同時(shí)視為啟動沿和捕獲沿。相應(yīng)約束為:

        4 例外約束

        如果分析不相關(guān)的時(shí)鐘域信號,就會得到錯(cuò)誤的結(jié)果。因此STA工具需要知道哪些路徑要進(jìn)行特殊的時(shí)序分析。主要有兩種類型:多周期路徑約束和假路徑約束。

        4.1 多周期路徑約束

        上文的I/O約束有一個(gè)基本的條件,就是數(shù)據(jù)在單個(gè)時(shí)鐘周期內(nèi)完成寄存器之間的傳輸。但是在實(shí)際的設(shè)計(jì)中,設(shè)計(jì)的復(fù)雜性會導(dǎo)致延時(shí)較大,往往數(shù)據(jù)在發(fā)送多個(gè)時(shí)鐘周期之后才起作用[3],導(dǎo)致啟動和捕獲之間需要多個(gè)時(shí)鐘周期。

        在上文的圖2中,如果中間的組合邏輯模塊延時(shí)較大,需要多個(gè)時(shí)鐘周期來完成從REG1到REG2的數(shù)據(jù)傳輸,就稱為多周期路徑,如圖9和圖10所示。一個(gè)很好的解決方法是使用時(shí)鐘使能信號,在N個(gè)時(shí)鐘周期后讀取數(shù)據(jù)。將數(shù)據(jù)率變?yōu)闀r(shí)鐘頻率的1/N。

        圖9 多周期路徑約束原理

        圖10 多周期路徑約束時(shí)序

        如果不設(shè)置多周期路徑約束,則STA工具會按照單周期路徑來約束,會導(dǎo)致時(shí)序不滿足,或者過分優(yōu)化,造成過約束,侵占本該更高優(yōu)先級的約束資源[3]。因此最好在模塊描述中給出多周期路徑的注釋,并添加到約束文件中。相應(yīng)的約束命令為:

        其中N表示經(jīng)過多周期路徑的時(shí)鐘數(shù)。

        4.2 假路徑約束

        所謂“假路徑”,是設(shè)計(jì)人員告訴STA工具那些不需要進(jìn)行約束分析的路徑。主要包括3種:(1)在邏輯函數(shù)中不存在的路徑,比如多個(gè)主從總線通信、多路選擇功能等;(2)多異步時(shí)鐘域的路徑,可以使用先進(jìn)先出(First Input First Output,F(xiàn)IFO)模塊進(jìn)行通信;(3)測試功能邏輯路徑,如內(nèi)建自測(Built-in Self Test,BIST)、邊界掃描測試等。以上情況設(shè)置假路徑的約束命令分別為:

        假路徑的設(shè)置,可以確保定義的路徑不做檢查,提高STA效率。前提是要求設(shè)計(jì)人員對設(shè)計(jì)路徑熟悉,同時(shí)也會增加約束文件的復(fù)雜度。如果判斷不好約束的優(yōu)先級,有時(shí)也會適得其反,因此需要謹(jǐn)慎操作。

        5 結(jié) 語

        本文探討了幾種FPGA的靜態(tài)時(shí)序約束方法,分析了電路時(shí)序原理,介紹了相應(yīng)的語句。FPGA時(shí)序約束越來越復(fù)雜,用好時(shí)序約束,對邏輯電路的設(shè)計(jì)能起到事半功倍的效果。然而時(shí)序約束不能一概而論,用固定的幾種約束方法解決所有的時(shí)序問題。需要FPGA設(shè)計(jì)人員在實(shí)際的工作中積累經(jīng)驗(yàn),找準(zhǔn)阻礙時(shí)序收斂的根本原因分析解決。

        猜你喜歡
        觸發(fā)器時(shí)序延時(shí)
        時(shí)序坐標(biāo)
        基于Sentinel-2時(shí)序NDVI的麥冬識別研究
        基于級聯(lián)步進(jìn)延時(shí)的順序等效采樣方法及實(shí)現(xiàn)
        主從JK觸發(fā)器邏輯功能分析
        電子世界(2017年22期)2017-12-02 03:03:45
        使用觸發(fā)器,強(qiáng)化安全性
        一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
        電子制作(2016年15期)2017-01-15 13:39:08
        Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
        桑塔納車發(fā)動機(jī)延時(shí)熄火
        光控觸摸延時(shí)開關(guān)設(shè)計(jì)
        河南科技(2014年23期)2014-02-27 14:19:00
        DPBUS時(shí)序及其設(shè)定方法
        河南科技(2014年15期)2014-02-27 14:12:36
        亚洲成人福利在线视频| 97精品久久久久中文字幕 | 国产一区二区三区日韩精品| 亚洲日韩国产一区二区三区在线| 国产精在线| 久久久亚洲精品一区二区| 美艳善良的丝袜高跟美腿| 草草影院发布页| 欧美日韩精品| 国产精品久久久久免费a∨| 久久午夜无码鲁丝片直播午夜精品 | 欧美成a人片在线观看久| 亚洲性69影视| 亚洲成人av一区免费看| 亚洲中文字幕精品乱码2021 | 国产成人无码免费视频在线| 亚洲免费观看在线视频| 人妻丰满av无码中文字幕| 亚洲国产黄色在线观看| 日本强伦姧人妻一区二区| 亚洲国产精品福利片在线观看| 中文字幕无码专区一VA亚洲V专 | 亚洲日本精品一区久久精品| 午夜视频在线观看日本| 无码喷潮a片无码高潮| 国产精品国产成人国产三级| 精精国产xxx在线视频app| 少妇下面好紧好多水真爽| 中文字幕乱码熟妇五十中出| 亚洲第一网站免费视频| 色青青女同性恋视频日本熟女 | 99re6热在线精品视频播放6| 亚洲综合原千岁中文字幕| 人妻在线有码中文字幕| 欧美性白人极品1819hd| 久久亚洲精品成人av| 久久久亚洲精品蜜桃臀| 九七青青草视频在线观看| 色综合久久精品亚洲国产| 日韩精品久久久一区| 亚洲国产精品一区二区|