如何利用FPGA進(jìn)行時(shí)序分析設(shè)計(jì)
發(fā)布時(shí)間:2017-06-23 責(zé)任編輯:susan
【導(dǎo)讀】FPGA即現(xiàn)場(chǎng)可編程門陣列,它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。對(duì)于時(shí)序如何用FPGA來分析與設(shè)計(jì),本文將詳細(xì)介紹。
基本的電子系統(tǒng)如圖 1所示,一般自己的設(shè)計(jì)都需要時(shí)序分析,如圖 1所示的Design,上部分為時(shí)序組合邏輯,下部分只有組合邏輯。而對(duì)其進(jìn)行時(shí)序分析時(shí),一般都以時(shí)鐘為參考的,因此一般主要分析上半部分。在進(jìn)行時(shí)序分析之前,需要了解時(shí)序分析的一些基本概念,如時(shí)鐘抖動(dòng)、時(shí)鐘偏斜(Tskew)、建立時(shí)間(Tsu)、保持時(shí)間(Th)等。時(shí)序分析也就是分析每一個(gè)觸發(fā)器(寄存器)是否滿足建立時(shí)間/保持時(shí)間,而時(shí)序的設(shè)計(jì)的實(shí)質(zhì)就是滿足每一個(gè)觸發(fā)器的建立時(shí)間/保持時(shí)間的要求。
圖1.基本的電子系統(tǒng)
一、時(shí)鐘抖動(dòng)和時(shí)鐘偏斜
1.時(shí)鐘抖動(dòng)
時(shí)鐘信號(hào)邊沿變化的不確定時(shí)間稱為時(shí)鐘抖動(dòng),如圖 2所示。一般情況下的時(shí)序分析是不考慮時(shí)鐘抖動(dòng),如果考慮時(shí)鐘抖動(dòng),則建立時(shí)間應(yīng)該是Tsu+T1,保持時(shí)間應(yīng)該是Th+T2。
圖2.時(shí)鐘抖動(dòng)時(shí)序圖
2.時(shí)鐘偏斜
時(shí)序偏斜分析圖如圖 3所示。時(shí)鐘的分析起點(diǎn)是源寄存器(Reg1),終點(diǎn)是目標(biāo)寄存器(Reg2)。時(shí)鐘在圖中的結(jié)構(gòu)中傳輸也會(huì)有延遲,時(shí)鐘信號(hào)從時(shí)鐘源傳輸?shù)皆醇拇嫫鞯难訒r(shí)為Tc2s,傳輸?shù)侥繕?biāo)寄存器的延時(shí)為Tc2d。時(shí)鐘網(wǎng)絡(luò)的延時(shí)為Tc2s與Tc2d之差,即Tskew=Tc2d-Tc2s。
圖3.時(shí)鐘偏斜時(shí)序圖
二、建立時(shí)間和保持時(shí)間
建立時(shí)間(Setup Time)常用Tsu表示,指的是在觸發(fā)器的時(shí)鐘信號(hào)上升沿到來以前,數(shù)據(jù)和使能信號(hào)穩(wěn)定不變的時(shí)間,如果建立時(shí)間不夠,數(shù)據(jù)將不能在這個(gè)時(shí)鐘上升沿被打入觸發(fā)器,使能信號(hào)無效,也就是說在這個(gè)時(shí)鐘周期對(duì)數(shù)據(jù)的操作時(shí)無效的;保持時(shí)間(Hold Time)常用Th表示,指的是在觸發(fā)器的時(shí)鐘信號(hào)上升沿到來以后,數(shù)據(jù)和使能信號(hào)穩(wěn)定不變的時(shí)間,如果保持時(shí)間不夠,數(shù)據(jù)同樣不能被打入觸發(fā)器,對(duì)數(shù)據(jù)的操作同樣是無效的,使能信號(hào)無效。數(shù)據(jù)要能穩(wěn)定傳輸,就必須滿足建立時(shí)間和保持時(shí)間的關(guān)系,圖 4標(biāo)識(shí)了它們間的關(guān)系。
圖4.建立時(shí)間/操持時(shí)間的概念
三、發(fā)送沿和捕獲沿
(1)發(fā)送沿(Launch Edge):前級(jí)寄存器發(fā)送數(shù)據(jù)對(duì)應(yīng)的時(shí)鐘沿,是時(shí)序分析的起點(diǎn);
(2)捕獲沿(Latch Edge):后記寄存器捕獲數(shù)據(jù)對(duì)應(yīng)的時(shí)鐘沿,是時(shí)序分析的終點(diǎn)。相對(duì)于launch Edge通常為一個(gè)時(shí)鐘周期,但不絕對(duì),如多周期。
“信號(hào)跳變抵達(dá)窗口”:對(duì)latch寄存器來說,從previous時(shí)鐘對(duì)應(yīng)的Hold Time開始,到current 時(shí)鐘對(duì)應(yīng)的Setup Time 結(jié)束。
“信號(hào)電平采樣窗口”:對(duì)latch寄存器來說,從current時(shí)鐘對(duì)應(yīng)的Setup Time開始,到current時(shí)鐘對(duì)應(yīng)的Hold Time結(jié)束。
launch寄存器必須保證驅(qū)動(dòng)的信號(hào)跳變到達(dá)latch寄存器的時(shí)刻處于“信號(hào)跳變抵達(dá)窗口”內(nèi),才能保證不破壞latch寄存器的“信號(hào)電平采樣窗口”。
圖5.Launch Edge和Latch Edge
四、數(shù)據(jù)和時(shí)鐘的時(shí)序分析
如圖 6所示,為分析建立時(shí)間/保持時(shí)間的基本電路圖。Tclk1為Reg1的時(shí)鐘延時(shí),Tclk2為Reg2的時(shí)鐘延時(shí),Tco為Reg1固有延時(shí),Tdata為Reg1的到Reg2之間組合邏輯的延時(shí),Tsu為Reg2的建立時(shí)間,Th為Reg2的保持時(shí)間,設(shè)時(shí)鐘clk周期為T,這里分析數(shù)據(jù)的建立時(shí)間和保持時(shí)間。
圖6.基本電路圖
1、建立時(shí)間的分析
如圖 7所示,建立時(shí)間的分析是以第一個(gè)launch Edge為基準(zhǔn),在Latch Edge查看結(jié)果。建立時(shí)間的裕量(T為時(shí)鐘周期):
Setup Stack = (T+Tclk2) – Tsu – (Tclk1+Tco+Tdata)
假設(shè)△T = Tclk2-Tclk1,則:
Setup Stack = (T+△T) – Tsu – (Tco+Tdata)
可見△T<0影響建立時(shí)間,使建立時(shí)間的要求更加苛刻。因此對(duì)于△T盡量避免,采用同步單時(shí)鐘,并且盡量采用全局的時(shí)鐘信號(hào),這樣△T幾乎為0,,△T的影響幾乎不存在,可以忽略不計(jì)。
如果建立時(shí)間的裕量Setup Stack小于0,則不滿足建立時(shí)間,也就會(huì)產(chǎn)生不穩(wěn)定態(tài),并通過寄存器傳輸下去。
圖7.建立時(shí)間時(shí)序分析圖
2、保持時(shí)間的分析
如圖 8所示,保持時(shí)間的分析是以第二個(gè)launch Edge為基準(zhǔn),在Latch Edge查看結(jié)果。保持時(shí)間的裕量:
Hold Stack = (Tclk1+Tco+Tdata) – Tclk2 – Th
假設(shè)△T = Tclk2-Tclk1,則:
Hold Stack = (Tco+Tdata) – △T – Th
可見△T>0影響保持時(shí)間,使保持時(shí)間的要求更加苛刻。。因此對(duì)于△T盡量避免,采用同步單時(shí)鐘,并且盡量采用全局的時(shí)鐘信號(hào),這樣△T幾乎為0,,△T的影響幾乎不存在,可以忽略不計(jì)。
如果保持時(shí)間的裕量Hold Stack小于0,則不滿足保持時(shí)間,也就會(huì)產(chǎn)生不穩(wěn)定態(tài),并通過寄存器傳輸下去。
圖8.保持時(shí)間時(shí)序分析圖
五、DT6000S項(xiàng)目實(shí)例
DT6000S項(xiàng)目上有4路光以太網(wǎng)接口連接到FPGA,由FPGA進(jìn)行實(shí)現(xiàn)MAC層和解碼IEC61850的SV和GOOSE。以太網(wǎng)PHY通過MII接口和FPGA,因此FPGA與外部的接口有4路MII接口。項(xiàng)目初期是實(shí)現(xiàn)1路光以太網(wǎng)接口,并且驗(yàn)證功能正確之后,但是后期變成的4路光以太網(wǎng)時(shí),總會(huì)存在1路光以太網(wǎng)通信不正常。經(jīng)過分析得到是FPGA通MII接口和PHY的時(shí)序不滿足。如圖 9所示為MII接口的時(shí)序圖,時(shí)序不滿足分為TX_CLK和RX_CLK。
其一是PHY輸出的TX_CLK和FPGA依據(jù)TX_CLK產(chǎn)生的TXD[3:0]&TX_EN延時(shí)大,主要延時(shí)為內(nèi)部邏輯的延時(shí),PCB延時(shí)小并且一致,導(dǎo)致PHY的TX_CLK的建立時(shí)間不滿足,從而導(dǎo)致發(fā)送數(shù)據(jù)錯(cuò)誤。
其二是PHY輸出的RX_CLK和RXD[3:0]&RX_DV&RX_ER到FPGA內(nèi)部同步觸發(fā)器的延時(shí)之差太大,導(dǎo)致FPGA內(nèi)部同步觸發(fā)器的RX_CLK的建立時(shí)間不滿足,從而導(dǎo)致接收數(shù)據(jù)錯(cuò)誤。
因此FPGA在綜合時(shí)需要添加約束,使之時(shí)序滿足要求,約束的條件為TXD[3:0]和TX_EN的輸出延時(shí)要少。RX_CLK和RXD[3:0]&RX_DV&RX_ER路徑延時(shí)之差要小。添加約束之后,4路MII接口的光以太網(wǎng)數(shù)據(jù)通信就正常了。
圖9.MII時(shí)序圖
這里闡述了時(shí)序分析基礎(chǔ),說明概念的同時(shí)進(jìn)行了時(shí)序分析,通過時(shí)序分析理解建立時(shí)間和保持時(shí)間。希望大家閱讀本文之后可以對(duì)FPGA時(shí)序分析有進(jìn)一步的了解。
特別推薦
- 兆易創(chuàng)新GD32F30x STL軟件測(cè)試庫(kù)獲得德國(guó)萊茵TüV IEC 61508功能安全認(rèn)證
- 芯科科技第三代無線開發(fā)平臺(tái)引領(lǐng)物聯(lián)網(wǎng)發(fā)展
- MSO 4B 示波器為工程師帶來更多臺(tái)式功率分析工具
- 艾為電子推出新一代高線性度GNSS低噪聲放大器——AW15745DNR
- 瑞薩發(fā)布四通道主站IC和傳感器信號(hào)調(diào)節(jié)器, 以推動(dòng)不斷增長(zhǎng)的IO-Link市場(chǎng)
- e絡(luò)盟現(xiàn)貨供應(yīng) Abracon 新推出的 AOTA 系列微型鑄型電感器
- 加賀富儀艾電子推出支持Wi-Fi 6和藍(lán)牙的無線局域網(wǎng)/藍(lán)牙組合模塊
技術(shù)文章更多>>
- 一文掌握UV LED在空凈消殺領(lǐng)域的主要應(yīng)用
- 聚焦汽車智能化與電動(dòng)化︱AUTO TECH 2025 華南展11月,已全面啟動(dòng),邀您共精彩!
- 【“源”察秋毫系列】 Keithley在碳納米管森林涂層纖維復(fù)合材料的應(yīng)用
- 數(shù)字驅(qū)動(dòng)工業(yè),智能賦能制造 AMTS & AHTE SOUTH CHINA 2024同期會(huì)議全公開!
- 團(tuán)體觀展招募!104CEF開啟組團(tuán)觀眾通道,解鎖更多禮遇
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
車載以太網(wǎng)
車載娛樂
充電
充電電池
充電器
充電樁
觸控屏
觸控顯示
觸摸開關(guān)
傳感技術(shù)
傳感器
傳感器模塊
船型開關(guān)
串聯(lián)電阻公式
創(chuàng)智成
磁傳感器
磁環(huán)電感
磁敏三極管
磁性存儲(chǔ)器
磁性元件
磁珠電感
存儲(chǔ)器
大功率管
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容