




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
同步電路設(shè)計目錄FPGA簡介建立時間和保持時間競爭和冒險有用的設(shè)計方法總結(jié)FPGAFPGA:現(xiàn)場可變成門陣列基于查找表技術(shù),SRAM工藝包含的LUT和觸發(fā)器的數(shù)量非常多,適合復(fù)雜時序邏輯在開發(fā)階段具有安全、方便、可隨時修改設(shè)計,極大的提升硬件系統(tǒng)設(shè)計的靈活性、可靠性,以及提高硬件開發(fā)的速度和降低系統(tǒng)的成本好的設(shè)計方法為了增加可編程邏輯器件電路工作的穩(wěn)定性,一定要加強可編程邏輯器件設(shè)計的規(guī)范要求,要盡量采用同步電路設(shè)計同步設(shè)計將優(yōu)于異步設(shè)計
什么是同步設(shè)計對FPGA的同步設(shè)計理解為:所有的狀態(tài)改變都由一個主時鐘觸發(fā),而對具體的電路形式表現(xiàn)為所有的觸發(fā)器的時鐘端都接在同一個主時鐘上。一個系統(tǒng)的功能模塊在內(nèi)部可以是局部異步的,但是在模塊間必須是全局同步的同步設(shè)計的優(yōu)越性同步電路比較容易使用寄存器的異步復(fù)位/置位端,以使整個電路有一個確定的初始狀態(tài)在可編程邏輯器件中,使用同步電路可以避免器件受溫度,電壓,工藝的影響,易于消除電路的毛刺,使設(shè)計更可靠,單板更穩(wěn)定同步電路可以很容易地組織流水線,提高芯片的運行速度,設(shè)計容易實現(xiàn)同步電路可以很好地利用先進的設(shè)計工具,如靜態(tài)時序分析工具等,為設(shè)計者提供最大便利條件,便于電路錯誤分析,加快設(shè)計進度建立時間和保持時間(1/9)建立時間和保持時間(2/9)建立時間(setuptime)是指在觸發(fā)器的時鐘信號上升沿到來以前,數(shù)據(jù)穩(wěn)定不變的時間。如果建立時間不夠,數(shù)據(jù)將不能在這個時鐘上升沿被打入觸發(fā)器;保持時間(holdtime)是指在觸發(fā)器的時鐘信號上升沿到來以后,數(shù)據(jù)穩(wěn)定不變的時間。如果保持時間不夠,數(shù)據(jù)同樣不能被打入觸發(fā)器。建立時間和保持時間(3/9)數(shù)據(jù)穩(wěn)定傳輸必須滿足建立時間和保持時間的要求,否則電路就會出現(xiàn)邏輯錯誤。在同步系統(tǒng)中,如果觸發(fā)器的setuptime/holdtime不滿足,就可能產(chǎn)生亞穩(wěn)態(tài),此時觸發(fā)器輸出端Q在有效時鐘沿之后比較長的一段時間處于不確定的狀態(tài),在這段時間里Q端毛刺、振蕩、固定的某一電壓值,而不是等于數(shù)據(jù)輸入端D的值。這段之間成為決斷時間。經(jīng)過決斷時間之后Q端將隨機的穩(wěn)定到0或1上。建立時間和保持時間(4/9)亞穩(wěn)態(tài)除了導(dǎo)致邏輯誤判之外,輸出0~1之間的中間電壓值還會使下一級產(chǎn)生亞穩(wěn)態(tài)(即導(dǎo)致亞穩(wěn)態(tài)的傳播)只要系統(tǒng)中有異步元件,亞穩(wěn)態(tài)就是無法避免的要減少亞穩(wěn)態(tài)導(dǎo)致錯誤的發(fā)生;要使系統(tǒng)對產(chǎn)生的錯誤不敏感建立時間和保持時間(5/9)用同步來減少亞穩(wěn)態(tài)發(fā)生機會的典型電路建立時間和保持時間(6/9)在圖中,左邊為異步輸入端,經(jīng)過兩級觸發(fā)器同步,在右邊的輸出將是同步的,而且該輸出基本不存在亞穩(wěn)態(tài)。其原理是即使第一個觸發(fā)器的輸出端存在亞穩(wěn)態(tài),經(jīng)過一個CLK周期后,第二個觸發(fā)器D端的電平仍未穩(wěn)定的概率非常小,因此第二個觸發(fā)器Q端基本不會產(chǎn)生亞穩(wěn)態(tài)。這里說的是“基本”,也就是無法“根除”。杜絕亞穩(wěn)態(tài)的傳遞建立時間和保持時間(7/9)用兩級D觸發(fā)器構(gòu)成同步器,通過兩極觸發(fā)器其實就是給亞穩(wěn)態(tài)足夠的脫離時間2級從理論或?qū)嶋H使用都表明有足夠的可靠性了建立時間和保持時間(8/9)對短于一個時鐘周期的異步輸入也有效中間的觸發(fā)器很少采用,但它可以阻止亞穩(wěn)態(tài)傳播建立時間和保持時間(9/9)
競爭和冒險(1/16)信號在FPGA器件內(nèi)部通過連線和邏輯單元時,都有一定的延時。延時的大小與連線的長短和邏輯單元的數(shù)目有關(guān),同時還受器件的制造工藝、工作電壓、溫度等條件的影響。信號的高低電平轉(zhuǎn)換也需要一定的過渡時間。由于存在這兩方面因素,多路信號的電平值發(fā)生變化時,在信號變化的瞬間,組合邏輯的輸出有先后順序,并不是同時變化,往往會出現(xiàn)一些不正確的尖峰信號,這些尖峰信號稱為“毛刺”。如果一個組合邏輯電路中有“毛刺”出現(xiàn),就說明該電路存在“冒險”。許多邏輯電路產(chǎn)生的小的寄生信號,也能成為毛刺信號。這些無法預(yù)見的毛刺信號可通過設(shè)計來傳播并產(chǎn)生不需要的時鐘脈沖競爭和冒險(2/16)與分立元件不同,由于PLD內(nèi)部不存在寄生電容電感,這些毛刺將被完整的保留并向下一級傳遞,因此毛刺現(xiàn)象在PLD、FPGA設(shè)計中尤為突出任何組合電路都可能是潛在的毛刺信號發(fā)生器,而時鐘端口、清零和置位端口對毛刺信號十分敏感,任何一點毛刺都可能會使系統(tǒng)出錯。競爭和冒險(3/16)競爭和冒險(4/16)競爭和冒險(5/16)A、B、C、D四個輸入信號經(jīng)過布線延時以后,高低電平變換不是同時發(fā)生的,這導(dǎo)致輸出信號“OUT”出現(xiàn)了毛刺。我們無法保證所有連線的長度一致,所以即使四個輸入信號在輸入端同時變化,但經(jīng)過PLD內(nèi)部的走線,到達或門的時間也是不一樣的,毛刺必然產(chǎn)生。只要輸入信號同時變化,組合邏輯必將產(chǎn)生毛刺。競爭和冒險(6/16)通過改變設(shè)計,破壞毛刺產(chǎn)生的條件,來減少毛刺的發(fā)生。例如,在數(shù)字電路設(shè)計中,常常采用格雷碼計數(shù)器取代普通的二進制計數(shù)器,這是因為格雷碼計數(shù)器的輸出每次只有一位跳變,消除了競爭冒險的發(fā)生條件,避免了毛刺的產(chǎn)生。競爭和冒險(7/16)以上方法可以大大減少毛刺,但它并不能完全消除毛刺,有時,我們必須手工修改電路來去除毛刺。最常用的方法是采用D觸發(fā)器競爭和冒險(8/16)毛刺并不是對所有輸入都有危害。對于D觸發(fā)器來說,只要毛刺不出現(xiàn)在時鐘的上升沿并且滿足數(shù)據(jù)的建立和保持時間,就不會對系統(tǒng)造成危害,因此可以認為D觸發(fā)器的D輸入端對毛刺信號不敏感。由于毛刺很短,多為幾納秒,基本上都不可能滿足數(shù)據(jù)的建立時間和保持時間。根據(jù)這個特性,在系統(tǒng)中應(yīng)當(dāng)盡可能采用同步電路,因為同步電路信號的變化都發(fā)生在時鐘沿,只要毛刺不出現(xiàn)在時鐘的沿口并且不滿足數(shù)據(jù)的建立時間和保持時間,就不會對系統(tǒng)造成危害。競爭和冒險(9/16)用觸發(fā)器讀取組合邏輯的輸出信號,這種方法類似于將異步電路轉(zhuǎn)化為同步電路??捎霉ぷ饔诟咚贂r鐘的D觸發(fā)器對組合邏輯的輸出信號進行采樣使其強行與時鐘同步這里要求系統(tǒng)時鐘的頻率相對很高,一個時鐘的采樣時延不會引起系統(tǒng)的錯誤
競爭和冒險(10/16)
一般說來,冒險出現(xiàn)在信號發(fā)生電平轉(zhuǎn)換的時刻,也就是說在輸出信號的建立時間內(nèi)會發(fā)生冒險,而在輸出信號的保持時間內(nèi)是不會有毛刺信號出現(xiàn)的。如果在輸出信號的保持時間內(nèi)對其進行"采樣",就可以消除毛刺信號的影響。有兩種基本的采樣方法:一種方法是在輸出信號的保持時間內(nèi),用一定寬度的高電平脈沖與輸出信號做邏輯“與”運算,由此獲取輸出信號的電平值。競爭和冒險(11/16)競爭和冒險(12/16)上述方法的一個缺點是必須人為的保證sample信號必須在合適的時間中產(chǎn)生。另一種方法是采用低通濾波的方法來去除FPGA器件輸出引腳上的毛刺。從原理上分析,由于毛刺信號的持續(xù)時間很短,因此在頻域上,毛刺信號同有用信號相比其能量分布在一個很寬的頻帶上。在對輸出波形的邊沿要求不是很高的情況下,在FPGA的輸出引腳上串接一個RC電路,構(gòu)成一個低通濾波器,就能夠濾除毛刺信號的大部分能量。應(yīng)該注意的是,必須仔細選擇電容和電阻的參數(shù),以避免使正常信號的畸變過于嚴重競爭和冒險(13/16)競爭和冒險(14/16)在FPGA的設(shè)計中,全局的清零和置位信號必須經(jīng)過全局的清零和置位管腳輸入,因為他們也屬于全局的資源,其扇出能力大,而且在FPGA內(nèi)部是直接連接到所有的觸發(fā)器的置位和清零端的,這樣的做法會使芯片的工作可靠、性能穩(wěn)定,而使用普通的IO腳則不能保證該性能。競爭和冒險(15/16)
清除和置位信號要求象對待時鐘那樣小心地考慮它們,因為這些信號對毛刺也是非常敏感的。有一個主復(fù)位Reset引腳是常用的最好方法,主復(fù)位引腳給設(shè)計項目中每個觸發(fā)器饋送清除或置位信號。幾乎所有PLD器件都有專門的全局清零腳和全局置位。如果必須從器件內(nèi)產(chǎn)生清除或置位信號,則要按照門控時鐘的設(shè)計原則去建立這些信號,確保輸入無毛刺競爭和冒險(16/16)有用的設(shè)計方法異步設(shè)計不是總能滿足(它們所饋送的觸發(fā)器的)建立和保持時間的要求。因此,異步輸入常常會把錯誤的數(shù)據(jù)鎖存到觸發(fā)器,或者使觸發(fā)器進入亞穩(wěn)定的狀態(tài)。很多異步設(shè)計都可以轉(zhuǎn)化為同步設(shè)計,對于可以轉(zhuǎn)化的邏輯必須轉(zhuǎn)化,不能轉(zhuǎn)化的邏輯,應(yīng)將異步的部分減到最小,而其前后級仍然應(yīng)該采用同步設(shè)計。下面給出一些異步邏輯轉(zhuǎn)化為同步邏輯的方法。同步清0(1/2)在同步電路設(shè)計中,有時候可以用同步置位的辦法來替代異步清0
同步清0(2/2)同步清0的描述方法:processbeginwaituntilclk’eventandclk=’1’;ifrst=’1’thencount<=(others=>’0’);elsecount<=count+1;endif;endprocess;同步清0的描述方法:processbeginwaituntilclk’eventandclk=’1’;ifrst=’1’thencount<=(others=>’0’);elsecount<=count+1;endif;endprocess;使用寄存器觸發(fā)器:在時鐘的沿進行數(shù)據(jù)的鎖存所存器:是用電平使能來鎖存數(shù)據(jù)。觸發(fā)器的Q輸出端在每一個時鐘沿都會被更新,而所存器只能在使能電平有效器件才會被更新。在FPGA設(shè)計中建議如果不是必須那么應(yīng)該盡量使用觸發(fā)器而不是所存器。延時電路(1/3)在FPGA中要產(chǎn)生延時,信號必須經(jīng)過一定的物理資源硬件描述語言中有關(guān)鍵詞Waitforxxns,該語法是僅僅用于仿真而不能用于綜合的可綜合的延時方法有:
1.使信號經(jīng)過邏輯門得到延時(如非門)
2.使用器件提供的延時單元延時電路(2/3)問題
1.當(dāng)使用多級非門的時候綜合器往往會將其優(yōu)化掉=>綜合器會認為兩個非門相當(dāng)于不經(jīng)過非門
2.通過插入一些原語來產(chǎn)生一定的延時,這樣形成的延時在FPGA芯片中并不穩(wěn)定,會隨溫度,器件工藝等外部環(huán)境的改變而改變延時電路(3/3)建議的方法:采用時鐘鎖存來產(chǎn)生延時可以用高頻時鐘來驅(qū)動一移位寄存器,待延時信號作數(shù)據(jù)輸入,按所需延時正確設(shè)置移位寄存器的級數(shù),移位寄存器的輸出即為延時后的信號。此方法產(chǎn)生的延時信號與原信號比有誤差,誤差大小由高頻時鐘的周期來決定。對于數(shù)據(jù)信號的延時,在輸出端用數(shù)據(jù)時鐘對延時后信號重新采樣,就可以消除誤差提高系統(tǒng)的運行速度(1/5)提高系統(tǒng)的運行速度(2/5)Tco
是觸發(fā)器時鐘到數(shù)據(jù)輸出的延時Tdelay
是組合邏輯的延時Tsetup是觸發(fā)器的建立時間Tpd是時鐘的延時參數(shù),如果使用PLD的全局時鐘型號,Tpd
可以為0,假設(shè)數(shù)據(jù)已經(jīng)被時鐘的上升沿打入D觸發(fā)器,那么數(shù)據(jù)到達第一個觸發(fā)器的Q端需要Tco,再經(jīng)過組合邏輯的延時Tdelay到達的第二個觸發(fā)器的D端,要想時鐘能在第二個觸發(fā)器再次被穩(wěn)定的鎖入觸發(fā)器,則時鐘的延遲不能晚于co+Tdelay+Tsetup提高系統(tǒng)的運行速度(3/5)最小時鐘周期:T=Tco+Tdelay+Tsetup
最快時鐘頻率F=1/T設(shè)計電路時只可以改變Tdelay所以縮短觸發(fā)器間組合邏輯的延時是提高同步電路速度的關(guān)鍵要使電路穩(wěn)定工作,時鐘周期必須滿足最大延時要求,縮短最長延時路徑,才可提高電路的工作頻率=>關(guān)鍵路徑提高系統(tǒng)的運行速度(4/5)流水線(pipelining):將較大的組合邏輯分解為較小的幾塊,中間插入觸發(fā)器提高系統(tǒng)的運行速度(5/5)當(dāng)設(shè)計的運行速度不符合系統(tǒng)設(shè)計要求的時候我們可以首先找到不能滿足要求的關(guān)鍵路徑,按照上述的方法將關(guān)鍵路徑上的組合邏輯拆分成多個中間用觸發(fā)器隔開,這樣很容易就可以從根本上提升系統(tǒng)的運行速度了。信號寄存輸出當(dāng)需要將FPGA/CPLD內(nèi)部的信號通過管腳輸出給外部相關(guān)器件的時候,如果不影響功能最好是將這些信號通過用時鐘寄存后輸出。狀態(tài)機 狀態(tài)機具有自啟動功能,能從非法狀態(tài)中恢復(fù)上電時能進入合法狀態(tài)時鐘(1/5)在FPGA的內(nèi)部資源里最重要的一部分就是其時鐘資源(全局時鐘網(wǎng)絡(luò)),它一般是經(jīng)過FPGA的特定全局時鐘管腳進入FPGA內(nèi)部,后經(jīng)過全局時鐘BUF適配到全局時鐘網(wǎng)絡(luò)的,這樣的時鐘網(wǎng)絡(luò)可以保證相同的時鐘沿到達芯片內(nèi)部每一個觸發(fā)器的延遲時間差異是可以忽略不計的。時鐘(2/5)對于一個設(shè)計項目來說,全局時鐘(或同步時鐘)是最簡單和最可預(yù)測的時鐘。在PLD/FPGA設(shè)計中最好的時鐘方案是:由專用的全局時鐘輸入引腳驅(qū)動的單個主時鐘去鐘控設(shè)計項目中的每一個觸發(fā)器。只要可能就應(yīng)盡量在設(shè)計項目中采用全局時鐘。PLD/FPGA都具有專門的全局時鐘引腳,它直接連到器件中的每一個寄存器。這種全局時鐘提供器件中最短的時鐘到輸出的延時。時鐘(3/5)如果時鐘間存在著固定的頻率倍數(shù),這種情況下它們的相位一般具有固定關(guān)系,可以采用下述方法處理:
1.使用高頻時鐘作為工作時鐘,使用低頻時鐘作為使能信號,當(dāng)功耗不作為首要因素時建議使用這種方式;
2.在仔細分析時序的基礎(chǔ)上描述兩個時鐘轉(zhuǎn)換處的電路;時鐘(4/5)如果電路中存在兩個不同頻率的時鐘,并且頻率無關(guān),可以采用如下策略:
1.利用高頻時鐘采樣兩個時鐘,在電路中使用高頻時鐘作為電路的工作時鐘,經(jīng)采樣后的低頻時鐘作為使能
2.在時鐘同步單元中采用兩次同步法
3.使用握手信號
4.使用雙時鐘FIFO進行數(shù)據(jù)緩沖時鐘(5/5)在我們?nèi)粘5脑O(shè)計中很多情形下會用到需要分頻的情形,最好的方法是使用分頻后的信號作為使能,而不要使用分頻后的信號作為時鐘,這樣,設(shè)計是在全局時鐘域工作。否則,時鐘的延時信息是不可靠的。不建議使用電路(1/2)不建議使用組合邏輯時鐘或門控時鐘,組合邏輯很容易產(chǎn)生毛刺,用組合邏輯的輸出作為時鐘很容易使系統(tǒng)產(chǎn)生誤動作不建議使用行波時鐘,盡量避免采用多個時鐘,多使用觸發(fā)器的使能端來解決在可編程邏輯器件設(shè)計時,由于時鐘建立應(yīng)盡量避免采用多時鐘網(wǎng)絡(luò),或者采用適當(dāng)?shù)拇胧p少時鐘的個數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 實驗學(xué)校課題申報書
- 課題幼兒申報書怎么寫
- 聲樂表演創(chuàng)新課題申報書
- 化學(xué)品研發(fā)項目合同范例
- 課題申報書研究價值部分
- 農(nóng)村荒山轉(zhuǎn)租合同范本
- 農(nóng)田承包流轉(zhuǎn)合同范本
- 公司文員聘用合同范本
- 人造草坪回收合同范本
- 醫(yī)學(xué)脊柱外科課題申報書
- 書法培訓(xùn)合作合同范例
- 初級電工證考試試題庫(含答案)
- 2024-2025學(xué)年湖南省雅禮集團高二(上)第一次月考數(shù)學(xué)試卷(含答案)
- 現(xiàn)代家政導(dǎo)論-課件 4.1.3認識我國家政教育發(fā)展
- 四年級語文下冊 第一單元 字詞專項練習(xí) (含答案)(部編版)
- 2024版2024年《汽車文化》全套教案
- 建筑垃圾清理運輸服務(wù)方案
- 商業(yè)街委托運營合同范本
- 2024年部編版六年級語文上冊第六單元 語文園地六(教案)
- 諾如病毒的護理
- 三年級下冊語文核心素養(yǎng)教案電子版
評論
0/150
提交評論