版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第10章設(shè)計(jì)中的常見問題10.1信號毛刺的產(chǎn)生及消除10.2時鐘問題10.3復(fù)位和清零信號
10.1信號毛刺的產(chǎn)生及消除
10.1.1信號毛刺的產(chǎn)生
信號在可編程器件內(nèi)部通過連線和邏輯單元時,會有一定的延時,延時的長短與信號通道上的連線長短和邏輯單元的數(shù)目有關(guān),同時還受器件的制造工藝、工作電壓、溫度等條件的影響。信號的高低電平轉(zhuǎn)換也需要一定的過渡時間。由于存在這兩方面的因素,多路信號的電平值發(fā)生變化時,在信號變化的瞬間,組合邏輯的輸出狀態(tài)不確定,往往會出現(xiàn)一些不正確的尖峰信號,這些尖峰信號稱為“毛刺”。如果一個組合邏輯電路中有“毛刺”出現(xiàn),就說明該電路存在“冒險(xiǎn)”。由于信號路徑長度的不同,多級組合電路、譯碼器、數(shù)值比較器以及狀態(tài)計(jì)數(shù)器等器件本身容易出現(xiàn)冒險(xiǎn)現(xiàn)象,時鐘端口、清零和置位端口對毛刺信號十分敏感,這些端口出現(xiàn)的任何毛刺都可能會使系統(tǒng)出錯,因此判斷邏輯電路中是否存在冒險(xiǎn)以及如何避免冒險(xiǎn)是設(shè)計(jì)人員必須要考慮的問題。
如圖10.1所示的電路就是一個會出現(xiàn)冒險(xiǎn)的電路,根據(jù)電路結(jié)構(gòu)原理,3位計(jì)數(shù)器對時鐘信號“clk”進(jìn)行計(jì)數(shù),計(jì)數(shù)值通過一個兩級與門邏輯,控制一個D觸發(fā)器的強(qiáng)制置位端,當(dāng)信號“q0”、“q1”、“q2”均為“1”時,輸出端“out”輸出為“1”,其余時刻輸出端“out”輸出為“0”。
圖10.1存在“冒險(xiǎn)”的組合邏輯電路的期望時序如圖10.2所示。圖10.2電路的期望時序?qū)嶋H上,按照如圖10.1所示的電路,使用QuartusⅡ進(jìn)行時序仿真后,獲得的實(shí)際時序仿真波形如圖10.3所示。圖10.3實(shí)際時序仿真波形當(dāng)計(jì)數(shù)器的計(jì)數(shù)值由“4”變?yōu)椤?”時,“out”信號產(chǎn)生了意外的脈沖輸出,顯然此時序無法滿足設(shè)計(jì)要求。對信號線“PROBE1”的時序進(jìn)行分析,獲得如圖10.4所示的時序波形。圖10.4“PROBE1”的時序波形當(dāng)信號“q[2..0]”的值由“3”變?yōu)椤?”以及由“5”變?yōu)椤?”時,在信號“PROBE1”上會出現(xiàn)兩個毛刺,從而導(dǎo)致了輸出信號“out”的異常脈沖輸出,顯然毛刺是由信號“q[2..0]”與“PROBE1”間的如圖10.5所示的組合邏輯電路產(chǎn)生的。圖10.5產(chǎn)生毛刺的組合邏輯電路查看編譯報(bào)告中的“ClassicTimingAnalyzer”模塊,分析如圖10.5所示的組合邏輯部分的延時,獲得如圖10.6所示的延時矩陣。圖10.6獲得的延時矩陣信號q[2..0]由“000”變到“111”的過程如表10.1所示。當(dāng)信號q[2..0]由“011”變?yōu)椤?00”和由“101”變?yōu)椤?10”時,由于器件延時的不同,會出現(xiàn)在某一個時間段內(nèi)信號“q2”、“q1”和“q0”同時為“1”的情況。
表10.1信號q[2..0]的狀態(tài)變化表q2q1q000000101001110010111011110.1.2信號毛刺的解決方法
常用的消除信號毛刺的方法有兩種:一是通過對后續(xù)電路的改進(jìn),避免毛刺對后續(xù)電路的影響;二是在計(jì)數(shù)過程和組合邏輯中就避免毛刺的產(chǎn)生。
采用第一種方法,使用如圖10.7所示的同步電路設(shè)計(jì),在信號“PROBE1”與觸發(fā)器“PRN”端之間添加一個新的D觸發(fā)器,由“clk”信號下降沿控制觸發(fā),保證在觸發(fā)的時刻組合邏輯輸出的信號已經(jīng)穩(wěn)定,同時該觸發(fā)器輸出信號Q通過一個延遲門與“PRN”端組成正反饋回路,保證足夠的脈寬。圖10.7添加D觸發(fā)器的電路圖10.8改進(jìn)后的電路的仿真時序改進(jìn)后的電路的仿真時序如圖10.8所示。在如圖10.8所示的時序過程中,電路毛刺并沒有被消除,只是通過添加觸發(fā)器將毛刺對后續(xù)電路的影響消除了。
這種方法也存在不足,即增加了輸出信號與時鐘信號之間的延時;另外,當(dāng)系統(tǒng)的時鐘頻率很高時,毛刺在時鐘信號的下降沿時刻可能還沒有消失,仍然會影響后續(xù)電路。
另一種能完全避免毛刺產(chǎn)生的方法就是使用格雷碼計(jì)數(shù)器,在每次計(jì)數(shù)狀態(tài)變化過程中只有一位信號發(fā)生變化,如表10.2所示,這樣就避免了毛刺產(chǎn)生的可能。表10.2信號q[2..0]的狀態(tài)變化表qcqbqa101100000001011010110111圖10.9采用格雷碼計(jì)數(shù)器后的電路采用格雷碼計(jì)數(shù)器后的電路如圖10.9所示。圖10.9中的“modcount”是一個自定義的3位格雷碼計(jì)數(shù)器模塊,其描述如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYmodcountIS
PORT(clk:INSTD_LOGIC;
reset:INSTD_LOGIC;
q:OUTSTD_LOGIC_VECTOR(2DOWNTO0)
);
ENDENTITYmodcount;
ARCHITECTUREbehavOFmodcountIS
SIGNALrr:STD_LOGIC_VECTOR(2DOWNTO0); --狀態(tài)變量
?CONSTANTst0:STD_LOGIC_VECTOR(2DOWNTO0):="101"; --狀態(tài)常數(shù)設(shè)置
CONSTANTst1:STD_LOGIC_VECTOR(2DOWNTO0):="100";
CONSTANTst2:STD_LOGIC_VECTOR(2DOWNTO0):="000";
CONSTANTst3:STD_LOGIC_VECTOR(2DOWNTO0):="001";
CONSTANTst4:STD_LOGIC_VECTOR(2DOWNTO0):="011";
CONSTANTst5:STD_LOGIC_VECTOR(2DOWNTO0):="010";
CONSTANTst6:STD_LOGIC_VECTOR(2DOWNTO0):="110";
CONSTANTst7:STD_LOGIC_VECTOR(2DOWNTO0):="111";
BEGIN
PROCESS(clk)
BEGIN
IF(clk'eventANDclk='1')THEN
CASErrIS
WHENst0=>rr<=st1;
WHENst1=>rr<=st2;
WHENst2=>rr<=st3;
WHENst3=>rr<=st4;
WHENst4=>rr<=st5;
WHENst5=>rr<=st6;
WHENst6=>rr<=st7;
WHENst7=>rr<=st0;
ENDCASE;
q<=rr;
ENDPROCESS;
ENDbehav;
使用格雷碼計(jì)數(shù)器后,系統(tǒng)仿真時序如圖10.10所示。圖10.10使用格雷碼計(jì)數(shù)器后的仿真時序在如圖10.10所示的系統(tǒng)時序中,由于使用了格雷碼計(jì)數(shù)器,每次只改變一位輸出值的狀態(tài),因此從根本上消除了毛刺的產(chǎn)生,系統(tǒng)更為穩(wěn)定。
在數(shù)字電路中,采用格雷碼計(jì)數(shù)器、同步電路等可以大大減少毛刺,但它并不能完全消除所有的毛刺。毛刺并不是對所有的輸入都有危害。例如D觸發(fā)器的D輸入端,只要毛刺不出現(xiàn)在時鐘的上升沿并且滿足數(shù)據(jù)的建立和保持時間,一般不會對系統(tǒng)造成危害。因此,在設(shè)計(jì)數(shù)字電路時,需要綜合考慮毛刺的影響,在保證電路穩(wěn)定的情況下,盡量簡化設(shè)計(jì)。10.2時鐘問題
在時序電路的設(shè)計(jì)中,時鐘信號常常用來對各類信號進(jìn)行同步采樣,以實(shí)現(xiàn)電路的同步,從而保證系統(tǒng)的穩(wěn)定性。在極限溫度、電壓或制造工藝存在偏差的情況下,設(shè)計(jì)不良的時鐘將導(dǎo)致系統(tǒng)錯誤的行為,因此穩(wěn)定的時鐘設(shè)計(jì)非常關(guān)鍵。在FPGA設(shè)計(jì)時通常采用全局時鐘、門控時鐘、多級邏輯時鐘和波動式時鐘這4種時鐘類型。多時鐘系統(tǒng)是這4種時鐘類型的任意組合。10.2.1信號的建立和保持時間
在設(shè)計(jì)時鐘前,設(shè)計(jì)者需要考慮的第一件事就是信號的建立和保持時間。所謂信號的“建立時間”,是指在時鐘的上升沿或下降沿之前數(shù)據(jù)必須保持穩(wěn)定(無跳變)的時間。“保持時間”是指在時鐘跳變后數(shù)據(jù)必須保持穩(wěn)定的時間。建立時間與保持時間的關(guān)系如圖10.11所示。為了保證在時鐘信號翻轉(zhuǎn)時采集數(shù)據(jù)的正確性,一般在數(shù)據(jù)信號發(fā)生時間的中間段進(jìn)行采集,這就要求有足夠的信號建立和保持時間,所有采用時鐘和數(shù)據(jù)輸入的同步數(shù)字電路都要求提供這兩個時間參數(shù)。圖10.11建立時間與保持時間的關(guān)系要求數(shù)據(jù)穩(wěn)定接收就必須滿足建立和保持時間的要求,否則在時鐘上升沿或下降沿讀取的數(shù)據(jù)就可能有錯誤,從而使電路變得不穩(wěn)定。在FPGA設(shè)計(jì)中,應(yīng)該盡量避免在數(shù)據(jù)建立時間內(nèi)或其附近讀取數(shù)據(jù)。對于級聯(lián)的功能模塊或者數(shù)字邏輯器件,后一模塊或器件的工作時鐘一般取前一模塊或器件工作時鐘的反相信號,這樣就可以保證時鐘的邊沿位于數(shù)據(jù)的保持時間內(nèi)。10.2.2全局時鐘
在一個數(shù)字系統(tǒng)中,如果每一個順序邏輯單元(SequentialLogicElement)都是用同一個參考時鐘脈沖來驅(qū)動的,則可稱該系統(tǒng)為同步系統(tǒng),驅(qū)動同步系統(tǒng)的參考時鐘就是全局時鐘。全局時鐘驅(qū)動的同步系統(tǒng)可以小到一個簡單的邏輯芯片,大到一個多插槽式模組,其包含的順序邏輯單元可以是寄存器(Register)、先進(jìn)先出(FIFO)緩沖器、同步內(nèi)存(Memory)等。對于一個設(shè)計(jì)項(xiàng)目來說,全局時鐘是最簡單和最可預(yù)測的時鐘。在FPGA設(shè)計(jì)中,最好的時鐘方案是:由專用的全局時鐘輸入引腳驅(qū)動單個主時鐘去控制設(shè)計(jì)項(xiàng)目中的每一個觸發(fā)器。FPGA芯片一般都具有專用的全局時鐘引腳,在設(shè)計(jì)項(xiàng)目時應(yīng)盡量采用全局時鐘,它能夠提供器件中最短的時鐘到輸出的延時。
圖10.12所示的是全局時鐘的一個典型實(shí)例。
圖10.12中的全局時鐘控制三級組合電路的運(yùn)行,每次得到的結(jié)果被全局時鐘控制的D觸發(fā)器鎖存,使運(yùn)行過程與全局時鐘同步。圖10.12全局時鐘實(shí)例10.2.3門控時鐘
在許多應(yīng)用中,整個設(shè)計(jì)項(xiàng)目都采用外部的全局時鐘是不可能的,所以通常用陣列時鐘構(gòu)成門控時鐘。門控時鐘常常同微處理器接口有關(guān),例如用地址線去控制寫脈沖。每當(dāng)用組合邏輯來控制觸發(fā)器時,通常都存在著門控時鐘。在使用門控時鐘時,應(yīng)仔細(xì)分析時鐘函數(shù),以避免毛刺的影響。如果設(shè)計(jì)滿足下述兩個條件,則可以保證時鐘信號不出現(xiàn)危險(xiǎn)的毛刺,門控時鐘就可以像全局時鐘一樣可靠工作:
(1)直接驅(qū)動時鐘的邏輯中只允許包含一個“與門”或一個“或門”,如果采用其他的附加邏輯,就會在某些工作狀態(tài)下出現(xiàn)由于邏輯競爭而產(chǎn)生的毛刺。
(2)邏輯門的一個輸入作為實(shí)際的時鐘,而該邏輯門的所有其他輸入必須當(dāng)成地址或控制線,它們遵守相對于時鐘的建立和保持時間的約束。
圖10.13所示為一個使用與門的門控時鐘電路。
將門控時鐘與全局時鐘同步能改善設(shè)計(jì)項(xiàng)目的可靠性。使用帶有使能端的D觸發(fā)器可以實(shí)現(xiàn)門控時鐘與全局時鐘的同步。帶有使能端的D觸發(fā)器的符號如圖10.14所示。
圖10.13使用與門的門控時鐘電路圖10.14帶有使能端的D觸發(fā)器的符號使用時,將門控時鐘接D觸發(fā)器的使能端,全局時鐘接D觸發(fā)器的時鐘輸入端,這樣就能保持門控時鐘與全局時鐘的同步。
當(dāng)產(chǎn)生門控時鐘的組合邏輯超過一級,即超過單個的“與門”或“或門”時,該設(shè)計(jì)項(xiàng)目的可靠性將變得很差。在這種情況下,即使樣機(jī)或仿真結(jié)果沒有顯示出靜態(tài)險(xiǎn)象,但實(shí)際上仍然可能存在危險(xiǎn),所以我們不應(yīng)該用多級組合邏輯去作為觸發(fā)器的時鐘端。多級邏輯的險(xiǎn)象可以通過插入“冗余邏輯”到設(shè)計(jì)項(xiàng)目中去除,但是FPGA編譯器在邏輯綜合時會去掉這些冗余邏輯,這就使得驗(yàn)證險(xiǎn)象是否真正被去除變得十分困難。為此,設(shè)計(jì)人員應(yīng)尋求其他方法來實(shí)現(xiàn)電路的功能,盡量避免使用多級門控時鐘。10.2.4多時鐘系統(tǒng)
在設(shè)計(jì)中常常會碰到多時鐘系統(tǒng),即在一個系統(tǒng)中存在多個時鐘信號,例如異步通信接口或者兩個不同時鐘信號驅(qū)動的微處理器之間的接口。由于兩個時鐘信號之間要求一定的建立和保持時間,因此上述應(yīng)用引進(jìn)了附加的定時約束條件,要求接口系統(tǒng)將某些異步信號同步化。如圖10.15所示即為一個雙時鐘系統(tǒng)的實(shí)例。該系統(tǒng)有兩路彼此獨(dú)立的時鐘信號:clk_a信號為3MHz,用于驅(qū)動觸發(fā)器A;clk_b信號為6MHz,用于驅(qū)動觸發(fā)器B。兩個觸發(fā)器的輸出信號要進(jìn)行邏輯與操作,這樣就要求兩路觸發(fā)器輸出的信號能夠同步,以保證兩信號在進(jìn)行與操作之前均處于穩(wěn)定狀態(tài),避免出現(xiàn)不可預(yù)料的毛刺。由于clk_a和clk_b是相互獨(dú)立的,分別由這兩路時鐘信號驅(qū)動的data_a和data_b信號的建立時間和保持時間的要求不能得到穩(wěn)定的保證,因此必須添加如圖10.16所示的同步電路來實(shí)現(xiàn)兩路信號的同步化。圖10.15雙時鐘系統(tǒng)圖10.16添加同步電路后的雙時鐘系統(tǒng)圖10.16所示的電路是在圖10.15的基礎(chǔ)上增加了一個新的觸發(fā)器,它由clk_b控制,從而保證了經(jīng)過觸發(fā)器處理后的data_a信號符合data_b信號的建立時間要求。
以上的例子中,兩個時鐘信號的頻率之間是整數(shù)倍關(guān)系,即clk_b的頻率是clk_a頻率的兩倍,兩者之間可
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度投標(biāo)保函擔(dān)保合同范本
- 二零二五年度房屋買賣及貸款擔(dān)保協(xié)議3篇
- 海南職業(yè)技術(shù)學(xué)院《現(xiàn)代信息網(wǎng)絡(luò)技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 海南醫(yī)學(xué)院《電子商務(wù)理論與實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度水利設(shè)施安裝與維護(hù)合同3篇
- 2025版防盜門個性化定制加工承攬協(xié)議范本3篇
- 二零二五年度智能家居控制系統(tǒng)開發(fā)委托服務(wù)合同3篇
- 某房地產(chǎn)公司安全管理應(yīng)急預(yù)案范文(2篇)
- 2025年化驗(yàn)室年度工作計(jì)劃范文(2篇)
- 車位營銷課程設(shè)計(jì)
- 蒸汽梯級利用能評報(bào)告
- 建筑勞務(wù)合作協(xié)議書范本.文檔
- 基于Internet的銀行競爭情報(bào)收集系統(tǒng)的研究與實(shí)現(xiàn)的中期報(bào)告
- 醫(yī)院對賬平臺技術(shù)方案
- 住院醫(yī)師規(guī)范化培訓(xùn)年度眼科學(xué)習(xí)總結(jié)
- 醫(yī)療事故處理?xiàng)l例【精美醫(yī)學(xué)課件】
- 2024年首都機(jī)場集團(tuán)公司招聘筆試參考題庫含答案解析
- 自動化電氣控制方案
- 加油站涉恐風(fēng)險(xiǎn)評估報(bào)告
- 2 汽車維修檔案管理制度范文精簡處理
- 工貿(mào)企業(yè)重大事故隱患判定標(biāo)準(zhǔn)培訓(xùn)PPT
評論
0/150
提交評論