《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 其他 > 教學(xué):FPGA的IO口時(shí)序約束分析

教學(xué):FPGA的IO口時(shí)序約束分析

2022-09-27
來(lái)源:FPGA設(shè)計(jì)論壇
關(guān)鍵詞: 時(shí)序約束 FPGA 寄存器

  1.1  概述

  在高速系統(tǒng)中FPGA時(shí)序約束不止包括內(nèi)部時(shí)鐘約束,還應(yīng)包括完整的IO時(shí)序約束和時(shí)序例外約束才能實(shí)現(xiàn)PCB板級(jí)的時(shí)序收斂。因此,F(xiàn)PGA時(shí)序約束中IO口時(shí)序約束也是一個(gè)重點(diǎn)。只有約束正確才能在高速情況下保證FPGA和外部器件通信正確。

  1.2  FPGA整體概念

  由于IO口時(shí)序約束分析是針對(duì)于電路板整個(gè)系統(tǒng)進(jìn)行時(shí)序分析,所以FPGA需要作為一個(gè)整體分析,其中包括FPGA的建立時(shí)間、保持時(shí)間以及傳輸延時(shí)。傳統(tǒng)的建立時(shí)間、保持時(shí)間以及傳輸延時(shí)都是針對(duì)寄存器形式的分析。但是針對(duì)整個(gè)系統(tǒng)FPGA的建立時(shí)間保持時(shí)間可以簡(jiǎn)化。

 

01.JPG

  圖1.1  FPGA整體時(shí)序圖

  如圖1.1所示,為分解的FPGA內(nèi)部寄存器的性能參數(shù):

  (1) Tdin為從FPGA的IO口到FPGA內(nèi)部寄存器輸入端的延時(shí);

  (2) Tclk為從FPGA的IO口到FPGA內(nèi)部寄存器時(shí)鐘端的延時(shí);

  (3) Tus/Th為FPGA內(nèi)部寄存器的建立時(shí)間和保持時(shí)間;

  (4) Tco為FPGA內(nèi)部寄存器傳輸時(shí)間;

  (5) Tout為從FPGA寄存器輸出到IO口輸出的延時(shí);

  對(duì)于整個(gè)FPGA系統(tǒng)分析,可以重新定義這些參數(shù):FPGA建立時(shí)間可以定義為:

  (1) FPGA建立時(shí)間:FTsu = Tdin + Tsu – Tclk;

  (2) FPGA保持時(shí)間:FTh = Th + Tclk;

  (3) FPGA數(shù)據(jù)傳輸時(shí)間:FTco = Tclk + Tco + Tout;

  由上分析當(dāng)FPGA成為一個(gè)系統(tǒng)后即可進(jìn)行IO時(shí)序分析了。FPGA模型變?yōu)槿鐖D1.2所示。

02.JPG

  圖1.2  FPGA系統(tǒng)參數(shù)

  1.3  輸入最大最小延時(shí)

  外部器件發(fā)送數(shù)據(jù)到FPGA系統(tǒng)模型如圖1.3所示。對(duì)FPGA的IO口進(jìn)行輸入最大最小延時(shí)約束是為了讓FPGA設(shè)計(jì)工具能夠盡可能的優(yōu)化從輸入端口到第一級(jí)寄存器之間的路徑延遲,使其能夠保證系統(tǒng)時(shí)鐘可靠的采到從外部芯片到FPGA的信號(hào)。

 03.JPG

  圖1.3  FPGA數(shù)據(jù)輸入模型

  輸入延時(shí)即為從外部器件發(fā)出數(shù)據(jù)到FPGA輸入端口的延時(shí)時(shí)間。其中包括時(shí)鐘源到FPGA延時(shí)和到外部器件延時(shí)之差、經(jīng)過(guò)外部器件的數(shù)據(jù)發(fā)送Tco,再加上PCB板上的走線延時(shí)。如圖1.4所示,為外部器件和FPGA接口時(shí)序。

04.JPG

  圖1.4  外部器件和FPGA接口時(shí)序

  1.         最大輸入延時(shí)

  最大輸入延時(shí)(input delay max)為當(dāng)從數(shù)據(jù)發(fā)送時(shí)鐘沿(lanuch edge)經(jīng)過(guò)最大外部器件時(shí)鐘偏斜(Tclk1),最大的器件數(shù)據(jù)輸出延時(shí)(Tco),再加上最大的PCB走線延時(shí)(Tpcb),減去最小的FPGA時(shí)鐘偏移(FTsu)的情況下還能保證時(shí)序滿足的延時(shí)。這樣才能保證FPGA的建立時(shí)間,準(zhǔn)確采集到本次數(shù)據(jù)值,即為setup slack必須為正,如圖1.1的所示,計(jì)算公式如下式所示:

  Setup slack =(Tclk + Tclk2(min))–(Tclk1(max) +Tco(max) +Tpcb(max) +FTsu)≥0

  推出如下公式:

  Tclk1(max) + Tco(max) + Tpcb(max) –Tclk2(min) ≤ Tclk + FTsu

  由Altera官方數(shù)據(jù)手冊(cè)得知:

  input delay max = Board Delay (max) – Board clock skew (min) + Tco(max)

  結(jié)合本系統(tǒng)參數(shù)公式為:

  input delay max = Tpcb(max) – (Tclk2(min)–Tclk1(max)) + Tco(max)

  2.         最小輸入延時(shí)

  最小輸入延時(shí)(input delay min)為當(dāng)從數(shù)據(jù)發(fā)送時(shí)鐘沿(lanuch edge)經(jīng)過(guò)最小外部器件時(shí)鐘偏斜(Tclk1),最小器件數(shù)據(jù)輸出延時(shí)(Tco),再加上最小PCB走線延時(shí)(Tpcb),此時(shí)的時(shí)間總延時(shí)值一定要大于FPGA的最大時(shí)鐘延時(shí)和建立時(shí)間之和,這樣才能不破壞FPGA上一次數(shù)據(jù)的保持時(shí)間,即為hold slack必須為正,如圖1.1的所示,計(jì)算公式如下式所示:

  Hold slack = (Tclk1(min) + Tco(min) + Tpcb(min))–(FTh + Tclk2(max))≥ 0

  推出如下公式:

  Tclk1(min) + Tco(min) + Tpcb(min) – Tclk2(max) ≥ FTh

  由Altera官方數(shù)據(jù)手冊(cè)得知:

  input delay max = Board Delay (min) - Board clock skew (min) + Tco(min)

  結(jié)合本系統(tǒng)參數(shù)公式為

  input delay max = Tpcb(min) – (Tclk2(max)–Tclk1(min)) + Tco(min)

  由公式4和公式8得知,進(jìn)行輸入最大最小延時(shí)的計(jì)算,我們需要估算4個(gè)值:

  (1) 外部器件輸出數(shù)據(jù)通過(guò)PCB板到達(dá)FPGA端口的最大值和最小值Tpcb,PCB延時(shí)經(jīng)驗(yàn)值為600mil/ns,1mm = 39.37mil;

  (2) 外部器件接收到時(shí)鐘信號(hào)后輸出數(shù)據(jù)延時(shí)的最大值和最小值Tco;

  (3) 時(shí)鐘源到達(dá)外部器件的最大、最小時(shí)鐘偏斜Tclk1;

  (4) 時(shí)鐘源到達(dá)FPGA的最大、最小時(shí)鐘偏斜Tclk2;

  當(dāng)外部器件時(shí)鐘為FPGA提供的時(shí)候,Tclk1和Tclk2即合成Tshew,如圖1.5所示:

05.JPG

  圖1.5  FPGA輸出時(shí)鐘模型

  1.4  輸出最大最小延時(shí)

  FPGA輸出數(shù)據(jù)給外部器件模型如圖1.6所示。對(duì)FPGA的IO口進(jìn)行輸出最大最小延時(shí)約束是為了讓FPGA設(shè)計(jì)工具能夠盡可能的優(yōu)化從第一級(jí)寄存器到輸出端口之間的路徑延遲,使其能夠保證讓外部器件能準(zhǔn)確的采集到FPGA的輸出數(shù)據(jù)。

 06.JPG

  圖1.6  FPGA輸出延時(shí)模型

  輸出延時(shí)即為從FPGA輸出數(shù)據(jù)后到達(dá)外部器件的延時(shí)時(shí)間。其中包括時(shí)鐘源到FPGA延時(shí)和到外部器件延時(shí)之差、PCB板上的走線延時(shí)以及外部器件的數(shù)據(jù)建立和保持時(shí)間。如所示,為FPGA和外部器件接口時(shí)序圖。

07.JPG

  圖1.7  FPGA輸出延時(shí)

  1.         最大輸出延時(shí)

  由Altera官方數(shù)據(jù)手冊(cè)得知:

  Output delay max = Board Delay (max) – Board clock skew (min) + Tsu

  由公式得知,最大輸出延時(shí)(output delay max)為當(dāng)從FPGA數(shù)據(jù)發(fā)出后經(jīng)過(guò)最大的PCB延時(shí)、最小的FPGA和器件時(shí)鐘偏斜,再加上外部器件的建立時(shí)間。約束最大輸出延時(shí),是為了約束IO口輸出,從而使外部器件的數(shù)據(jù)建立時(shí)間,即為setup slack必須為正,計(jì)算公式如下式所示:

  Setup slack =(Tclk + Tclk2(min))–(Tclk1(max) +FTco(max) +Tpcb(max) +Tsu)≥0

  推導(dǎo)出如下公式:

  FTco(max) + Tpcb(max) –(Tclk2(min) – Tclk1(max))+Tsu ≤Tclk

  再次推導(dǎo),得到如下公式:

  FTco(max) + Output delay max ≤Tclk

  由此可見(jiàn),約束輸出最大延時(shí),即為通知編譯器FPGA的FTco最大值為多少,根據(jù)這個(gè)值做出正確的綜合結(jié)果。

  2.   輸出最小延時(shí)

  由Altera官方數(shù)據(jù)手冊(cè)得知:

  Output delay min = Board Delay (min) – Board clock skew (max) –Th

  由公式得知,最小輸出延時(shí)(output delay min)為當(dāng)從FPGA數(shù)據(jù)發(fā)出后經(jīng)過(guò)最小的PCB延時(shí)、最大的FPGA和器件時(shí)鐘偏斜,再減去外部器件的建立時(shí)間。約束最小輸出延時(shí),是為了約束IO口輸出,從而使IO口輸出有個(gè)最小延時(shí)值,防止輸出過(guò)快,破壞了外部器件上一個(gè)時(shí)鐘的數(shù)據(jù)保持時(shí)間,導(dǎo)致hlod slack為負(fù)值,不能正確的鎖存到數(shù)據(jù),最小輸出延時(shí)的推導(dǎo)計(jì)算公式如下式所示:

  Hold slack = (Tclk1(min) + FTco(min) + Tpcb(min))–(Th + Tclk2(max))≥ 0

  推導(dǎo)出如下公式:

  FTco(min) + Tpcb(min) – (Tclk2(max) – Tclk1(min))– Th ≥ 0

  再次推導(dǎo),得出如下公式:

  FTco(min) + Output delay min ≥ 0

  由公式得知,約束輸出最大延時(shí),即為通知編譯器FPGA的FTco最小值為多少,根據(jù)這個(gè)值做出正確的綜合結(jié)果。

  由公式10和公式14得知,進(jìn)行輸出最大最小延時(shí)的計(jì)算,我們需要估算4個(gè)值:

  (1) FPGA輸出數(shù)據(jù)通過(guò)PCB板到達(dá)外部器件輸入端口的最大值和最小值Tpcb,PCB延時(shí)經(jīng)驗(yàn)值為600mil/ns,1mm = 39.37mil;

  (2) 時(shí)鐘源到達(dá)外部器件的最大、最小時(shí)鐘偏斜Tclk2;

  (3) 時(shí)鐘源到達(dá)FPGA的最大、最小時(shí)鐘偏斜Tclk1;

  (4) 外部器件的建立時(shí)間Tsu和保持時(shí)間Th;

  當(dāng)外部器件時(shí)鐘為FPGA提供的時(shí)候,Tclk1和Tclk2即合成Tshew,如圖1.8所示:

  08.JPG

  圖1.8  FPGA提供時(shí)鐘模型

  1.5  使用范圍

  通過(guò)作者使用總結(jié)情況,IO口時(shí)序約束主要使用在以下情況:

  1.         數(shù)據(jù)交換頻率較高

  由于IO時(shí)序約束一般計(jì)算值都是在幾納秒,當(dāng)FPGA和外部數(shù)據(jù)交換頻率較低,如FPGA操作640*480的TFT液晶進(jìn)行刷屏,數(shù)據(jù)傳輸頻率僅僅24Mhz,一個(gè)數(shù)據(jù)時(shí)鐘都有41.666ns,完全不用約束都能滿足時(shí)序要求。但是當(dāng)操作SDRAM運(yùn)行到120M時(shí)候,由于一個(gè)數(shù)據(jù)變換周期才8ns,因此IO口的少量延時(shí)都會(huì)影響到SDRAM數(shù)據(jù),因此這種情況下需要對(duì)輸入輸出進(jìn)行完整的IO口時(shí)序約束,并且分析正確,才能消除數(shù)據(jù)傳輸不穩(wěn)定過(guò)的情況。

  2.         代碼已經(jīng)比較優(yōu)化

  當(dāng)數(shù)據(jù)交換頻率較高,但是時(shí)序約束還是不滿足時(shí)序要求的時(shí)候,我們都需要對(duì)代碼進(jìn)行分析,好的時(shí)序都是設(shè)計(jì)出來(lái)的,不是約束出來(lái)的。如程序清單 1.1所示,首先hcount_r 和vcount_r 都為10位計(jì)數(shù)器,這樣的代碼TFT的三色輸出的端口就會(huì)有很大的延時(shí),因?yàn)閐at_act的膠合邏輯太多,輸出路徑太長(zhǎng)導(dǎo)致。這種情況下應(yīng)該不是首先做時(shí)序約束,應(yīng)該修改代碼,盡量做到寄存器直接輸出。只有當(dāng)代碼比較優(yōu)化的情況,再做時(shí)序約束這樣才能得到較好的結(jié)果。

  程序清單 1.1  示例程序

  1 assign dat_act  =    ((hcount_r >= hdat_begin) && (hcount_r < hdat_end))

  2            && ((vcount_r >= vdat_begin) && (vcount_r < vdat_end));

  3 assign tft_r    =    (dat_act) ? {rgb16_dat[15:11], 3'b111} : 8'h00;

  4 assign tft_g    =    (dat_act) ? {rgb16_dat[10:5],  3'b111} : 8'h00;

  5 assign tft_b    =    (dat_act) ? {rgb16_dat[4:0],   3'b111} : 8'h00;

  1.6  總結(jié)

  本文檔主要是對(duì)FPGA的IO口時(shí)序約束進(jìn)行相應(yīng)的分析,并未做實(shí)際的使用分析,在后續(xù)文檔中將會(huì)結(jié)合軟件,以及實(shí)際案例對(duì)IO口時(shí)序約束進(jìn)行詳細(xì)的使用介紹。最后附上一個(gè)Altera官方的IO時(shí)序約束分析例子,如圖1.9所示。

  09.JPG



更多信息可以來(lái)這里獲取==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品一区二区三区婷婷月 | 欧美尤物一区| 中日韩男男gay无套| 亚洲日本成人| 日韩视频国产视频| 亚洲日本电影| 亚洲精品一级| 日韩视频免费在线观看| 亚洲精品视频中文字幕| 日韩视频在线观看一区二区| 亚洲乱码国产乱码精品精可以看 | 国产欧美日韩精品丝袜高跟鞋| 欧美天堂在线观看| 国产精品二区三区四区| 国产精品久久久久久久久久免费 | 欧美日韩国产精品成人| 欧美日韩免费在线| 国产精品家庭影院| 国产精品婷婷| 国产亚洲欧美日韩一区二区| 韩国自拍一区| 亚洲高清在线观看| 亚洲精品视频免费观看| 日韩一级黄色大片| 亚洲一区精品在线| 欧美一区二区三区四区视频| 亚洲国产电影| 亚洲精品欧洲精品| 亚洲一区二区免费在线| 亚洲综合色自拍一区| 欧美中文在线观看国产| 久久女同精品一区二区| 欧美风情在线观看| 欧美日韩美女在线| 国产精品男女猛烈高潮激情| 国产欧美日韩一级| 精品盗摄一区二区三区| 亚洲精品视频免费| 亚洲综合日韩| 亚洲激情午夜| 亚洲一区二区三区777| 久久精品亚洲精品| 欧美大片一区二区三区| 国产精品av免费在线观看| 国产一区二区在线免费观看| 亚洲日本免费电影| 亚洲欧美大片| 亚洲欧洲精品一区二区三区波多野1战4| 99视频精品| 久久成人免费视频| 欧美高清视频一二三区| 国产精一区二区三区| 在线免费观看日韩欧美| 一区二区三区三区在线| 久久精品成人| 亚洲午夜免费视频| 久久全球大尺度高清视频| 欧美日韩性生活视频| 国产午夜精品久久久久久免费视| 亚洲福利视频二区| 亚洲影院在线| 亚洲乱码视频| 久久久www成人免费无遮挡大片| 欧美人体xx| 国外成人性视频| 一区二区免费在线播放| 亚洲电影激情视频网站| 亚洲欧美精品一区| 欧美激情精品久久久久久久变态| 国产欧美日韩一区| 一区二区免费在线观看| 亚洲欧洲中文日韩久久av乱码| 午夜久久久久久| 欧美成人情趣视频| 国产日韩欧美在线一区| 99综合视频| 亚洲欧洲日本一区二区三区| 香蕉乱码成人久久天堂爱免费| 欧美成人精品| 国产综合久久久久影院| 中文无字幕一区二区三区| 91久久精品国产| 久久av红桃一区二区小说| 欧美日韩精品二区第二页| 在线观看日韩国产| 欧美在线短视频| 亚洲欧美乱综合| 欧美另类一区| 亚洲福利视频二区| 久久国产一区二区| 欧美有码视频| 国产精品观看| 99视频精品在线| 99热这里只有精品8| 蜜臀久久久99精品久久久久久| 国产区二精品视| 亚洲一区二区三区精品在线观看| 一区二区三区四区五区在线| 欧美电影免费观看网站| 樱桃成人精品视频在线播放| 欧美一区激情| 久久成人综合网| 国产女人精品视频| 亚洲一区二区视频在线观看| 亚洲一区日本| 欧美人在线观看| 亚洲美女视频网| 日韩一级欧洲| 欧美猛交免费看| 亚洲区在线播放| 日韩亚洲国产欧美| 欧美韩日精品| 亚洲韩国青草视频| 亚洲精品影视| 欧美精品一卡二卡| 亚洲人成啪啪网站| 99热免费精品在线观看| 欧美伦理影院| 日韩视频在线观看免费| 中文在线一区| 欧美午夜精品电影| 亚洲深夜av| 午夜精品一区二区三区在线视| 国产精品久久午夜| 亚洲欧美在线x视频| 欧美一级日韩一级| 国产日韩欧美高清| 久久成人羞羞网站| 久久综合电影一区| 亚洲第一精品在线| 亚洲久久一区二区| 欧美日韩在线不卡一区| 中文在线资源观看视频网站免费不卡| 亚洲一区在线播放| 国产伦精品一区二区三| 欧美一区久久| 麻豆国产精品一区二区三区| 亚洲缚视频在线观看| 99亚洲精品| 国产精品第三页| 亚洲自拍电影| 久久蜜桃资源一区二区老牛| 在线播放中文一区| 夜夜嗨av一区二区三区中文字幕| 国产精品videossex久久发布| 亚洲一区二区三区免费在线观看| 久久se精品一区精品二区| 精品9999| 亚洲无限av看| 国产伦精品一区二区三区免费| 久久精品国产v日韩v亚洲| 欧美精品一区二| 亚洲一区成人| 蜜臀a∨国产成人精品| 99精品视频免费观看视频| 欧美在线亚洲一区| 一区二区在线看| 一区二区三区精品在线| 国产伦精品一区二区三区照片91| 欧美制服丝袜| 欧美极品在线播放| 亚洲性感美女99在线| 久久一区二区精品| 亚洲免费观看高清在线观看 | 国产欧美丝祙| 亚洲欧洲一区| 国产精品一区2区| 亚洲国产视频一区| 欧美婷婷在线| 亚洲韩日在线| 国产精品剧情在线亚洲| 亚洲激情视频| 国产精品美女主播| 最近中文字幕mv在线一区二区三区四区| 欧美日韩一二三区| 久久国产色av| 欧美日韩在线直播| 亚洲电影自拍| 国产精品免费电影| 亚洲人线精品午夜| 国产精品永久免费在线| 亚洲三级性片| 国产欧美va欧美不卡在线| 亚洲最黄网站| 激情成人在线视频| 午夜精品久久久久99热蜜桃导演| 在线观看免费视频综合| 性欧美办公室18xxxxhd| 亚洲欧洲精品一区二区| 久久久免费精品| 亚洲一区二区三区高清不卡| 欧美激情一区二区三区全黄| 欧美亚洲三区| 欧美日韩一区免费| 亚洲经典视频在线观看| 国产午夜精品一区二区三区欧美 | 午夜精品成人在线| 欧美日韩精品二区第二页| 亚洲成人在线视频播放 | 亚洲视频中文字幕|