版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第 10 章設(shè)計中的常見問題第10章設(shè)計中的常見問題10.1 信號毛刺的產(chǎn)生及消除信號毛刺的產(chǎn)生及消除10.2 時鐘問題時鐘問題 10.3 復(fù)位和清零信號復(fù)位和清零信號 第 10 章設(shè)計中的常見問題 10.1 信號毛刺的產(chǎn)生及消除信號毛刺的產(chǎn)生及消除10.1.1 信號毛刺的產(chǎn)生信號毛刺的產(chǎn)生信號在可編程器件內(nèi)部通過連線和邏輯單元時,會有一定的延時,延時的長短與信號通道上的連線長短和邏輯單元的數(shù)目有關(guān),同時還受器件的制造工藝、工作電壓、溫度等條件的影響。信號的高低電平轉(zhuǎn)換也需要一定的過渡時間。由于存在這兩方面的因素,多路信號的電平值發(fā)生變化時,在信號變化的瞬間,組合邏輯的輸出狀態(tài)不確定,往往會出
2、現(xiàn)一些不正確的尖峰信號,這些尖峰信號稱為“毛刺”。如果一個組合邏輯電路中有“毛刺”出現(xiàn),就說明該電路存在“冒險”。 第 10 章設(shè)計中的常見問題由于信號路徑長度的不同,多級組合電路、譯碼器、數(shù)值比較器以及狀態(tài)計數(shù)器等器件本身容易出現(xiàn)冒險現(xiàn)象,時鐘端口、清零和置位端口對毛刺信號十分敏感,這些端口出現(xiàn)的任何毛刺都可能會使系統(tǒng)出錯,因此判斷邏輯電路中是否存在冒險以及如何避免冒險是設(shè)計人員必須要考慮的問題。如圖10.1所示的電路就是一個會出現(xiàn)冒險的電路,根據(jù)電路結(jié)構(gòu)原理,3位計數(shù)器對時鐘信號“clk”進行計數(shù),計數(shù)值通過一個兩級與門邏輯,控制一個D觸發(fā)器的強制置位端,當(dāng)信號“q0”、“q1”、“q2”
3、均為“1”時,輸出端“out”輸出為“1”,其余時刻輸出端“out”輸出為“0”。第 10 章設(shè)計中的常見問題圖10.1 存在“冒險”的組合邏輯第 10 章設(shè)計中的常見問題電路的期望時序如圖10.2所示。圖10.2 電路的期望時序第 10 章設(shè)計中的常見問題實際上,按照如圖10.1所示的電路,使用Quartus進行時序仿真后,獲得的實際時序仿真波形如圖10.3所示。圖10.3 實際時序仿真波形第 10 章設(shè)計中的常見問題當(dāng)計數(shù)器的計數(shù)值由“4”變?yōu)椤?”時,“out”信號產(chǎn)生了意外的脈沖輸出,顯然此時序無法滿足設(shè)計要求。對信號線“PROBE1”的時序進行分析,獲得如圖10.4所示的時序波形。圖
4、10.4 “PROBE1”的時序波形第 10 章設(shè)計中的常見問題當(dāng)信號“q2.0”的值由“3”變?yōu)椤?”以及由“5”變?yōu)椤?”時,在信號“PROBE1”上會出現(xiàn)兩個毛刺,從而導(dǎo)致了輸出信號“out”的異常脈沖輸出,顯然毛刺是由信號“q2.0”與“PROBE1”間的如圖10.5所示的組合邏輯電路產(chǎn)生的。圖10.5 產(chǎn)生毛刺的組合邏輯電路第 10 章設(shè)計中的常見問題查看編譯報告中的“Classic Timing Analyzer”模塊,分析如圖10.5所示的組合邏輯部分的延時,獲得如圖10.6所示的延時矩陣。圖10.6 獲得的延時矩陣第 10 章設(shè)計中的常見問題信號q2.0由“000”變到“111
5、”的過程如表10.1所示。當(dāng)信號q2.0由“011”變?yōu)椤?00”和由“101”變?yōu)椤?10”時,由于器件延時的不同,會出現(xiàn)在某一個時間段內(nèi)信號“q2”、“q1”和“q0”同時為“1”的情況。表表10.1 信號信號q2.0的狀態(tài)變化表的狀態(tài)變化表q2q1q0000001010011100101110111第 10 章設(shè)計中的常見問題10.1.2 信號毛刺的解決方法信號毛刺的解決方法常用的消除信號毛刺的方法有兩種:一是通過對后續(xù)電路的改進,避免毛刺對后續(xù)電路的影響;二是在計數(shù)過程和組合邏輯中就避免毛刺的產(chǎn)生。采用第一種方法,使用如圖10.7所示的同步電路設(shè)計,在信號“PROBE1”與觸發(fā)器“PR
6、N”端之間添加一個新的D觸發(fā)器,由“clk”信號下降沿控制觸發(fā),保證在觸發(fā)的時刻組合邏輯輸出的信號已經(jīng)穩(wěn)定,同時該觸發(fā)器輸出信號Q通過一個延遲門與“PRN”端組成正反饋回路,保證足夠的脈寬。第 10 章設(shè)計中的常見問題圖10.7 添加D觸發(fā)器的電路第 10 章設(shè)計中的常見問題圖10.8 改進后的電路的仿真時序改進后的電路的仿真時序如圖10.8所示。第 10 章設(shè)計中的常見問題在如圖10.8所示的時序過程中,電路毛刺并沒有被消除,只是通過添加觸發(fā)器將毛刺對后續(xù)電路的影響消除了。這種方法也存在不足,即增加了輸出信號與時鐘信號之間的延時;另外,當(dāng)系統(tǒng)的時鐘頻率很高時,毛刺在時鐘信號的下降沿時刻可能還
7、沒有消失,仍然會影響后續(xù)電路。 另一種能完全避免毛刺產(chǎn)生的方法就是使用格雷碼計數(shù)器,在每次計數(shù)狀態(tài)變化過程中只有一位信號發(fā)生變化,如表10.2所示,這樣就避免了毛刺產(chǎn)生的可能。第 10 章設(shè)計中的常見問題表表10.2 信號信號q2.0的狀態(tài)變化表的狀態(tài)變化表qcqbqa101100000001011010110111第 10 章設(shè)計中的常見問題圖10.9 采用格雷碼計數(shù)器后的電路采用格雷碼計數(shù)器后的電路如圖10.9所示。第 10 章設(shè)計中的常見問題圖10.9中的“modcount”是一個自定義的3位格雷碼計數(shù)器模塊,其描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1
8、164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY modcount ISPORT(clk:IN STD_LOGIC; reset:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(2 DOWNTO 0) );第 10 章設(shè)計中的常見問題END ENTITY modcount;ARCHITECTURE behav OF modcount ISSIGNAL rr:STD_LOGIC_VECTOR(2 DOWNTO 0); -狀態(tài)變量 CONSTANT st0:STD_LOGIC_VECTOR(2 DOWNTO 0):= 101 ;
9、 -狀態(tài)常數(shù)設(shè)置CONSTANT st1:STD_LOGIC_VECTOR(2 DOWNTO 0):= 100 ;CONSTANT st2:STD_LOGIC_VECTOR(2 DOWNTO 0):= 000 ;第 10 章設(shè)計中的常見問題CONSTANT st3:STD_LOGIC_VECTOR(2 DOWNTO 0):= 001 ;CONSTANT st4:STD_LOGIC_VECTOR(2 DOWNTO 0):= 011 ;CONSTANT st5:STD_LOGIC_VECTOR(2 DOWNTO 0):= 010 ;CONSTANT st6:STD_LOGIC_VECTOR(2 D
10、OWNTO 0):= 110 ;CONSTANT st7:STD_LOGIC_VECTOR(2 DOWNTO 0):= 111 ;BEGINPROCESS(clk)第 10 章設(shè)計中的常見問題BEGINIF (clk event AND clk= 1 ) THENCASE rr ISWHEN st0 = rr rr rr rr rr rr rr rr =st0;第 10 章設(shè)計中的常見問題END CASE;q= rr;END PROCESS;END behav;使用格雷碼計數(shù)器后,系統(tǒng)仿真時序如圖10.10所示。圖10.10 使用格雷碼計數(shù)器后的仿真時序第 10 章設(shè)計中的常見問題在如圖10.
11、10所示的系統(tǒng)時序中,由于使用了格雷碼計數(shù)器,每次只改變一位輸出值的狀態(tài),因此從根本上消除了毛刺的產(chǎn)生,系統(tǒng)更為穩(wěn)定。在數(shù)字電路中,采用格雷碼計數(shù)器、同步電路等可以大大減少毛刺,但它并不能完全消除所有的毛刺。毛刺并不是對所有的輸入都有危害。例如D觸發(fā)器的D輸入端,只要毛刺不出現(xiàn)在時鐘的上升沿并且滿足數(shù)據(jù)的建立和保持時間,一般不會對系統(tǒng)造成危害。因此,在設(shè)計數(shù)字電路時,需要綜合考慮毛刺的影響,在保證電路穩(wěn)定的情況下,盡量簡化設(shè)計。 第 10 章設(shè)計中的常見問題 10.2 時時 鐘鐘 問問 題題在時序電路的設(shè)計中,時鐘信號常常用來對各類信號進行同步采樣,以實現(xiàn)電路的同步,從而保證系統(tǒng)的穩(wěn)定性。在極
12、限溫度、電壓或制造工藝存在偏差的情況下,設(shè)計不良的時鐘將導(dǎo)致系統(tǒng)錯誤的行為,因此穩(wěn)定的時鐘設(shè)計非常關(guān)鍵。在FPGA設(shè)計時通常采用全局時鐘、門控時鐘、多級邏輯時鐘和波動式時鐘這4種時鐘類型。多時鐘系統(tǒng)是這4種時鐘類型的任意組合。第 10 章設(shè)計中的常見問題10.2.1 信號的建立和保持時間信號的建立和保持時間在設(shè)計時鐘前,設(shè)計者需要考慮的第一件事就是信號的建立和保持時間。所謂信號的“建立時間”,是指在時鐘的上升沿或下降沿之前數(shù)據(jù)必須保持穩(wěn)定(無跳變)的時間?!氨3謺r間”是指在時鐘跳變后數(shù)據(jù)必須保持穩(wěn)定的時間。建立時間與保持時間的關(guān)系如圖10.11所示。為了保證在時鐘信號翻轉(zhuǎn)時采集數(shù)據(jù)的正確性,一
13、般在數(shù)據(jù)信號發(fā)生時間的中間段進行采集,這就要求有足夠的信號建立和保持時間,所有采用時鐘和數(shù)據(jù)輸入的同步數(shù)字電路都要求提供這兩個時間參數(shù)。第 10 章設(shè)計中的常見問題圖10.11 建立時間與保持時間的關(guān)系第 10 章設(shè)計中的常見問題要求數(shù)據(jù)穩(wěn)定接收就必須滿足建立和保持時間的要求,否則在時鐘上升沿或下降沿讀取的數(shù)據(jù)就可能有錯誤,從而使電路變得不穩(wěn)定。在FPGA設(shè)計中,應(yīng)該盡量避免在數(shù)據(jù)建立時間內(nèi)或其附近讀取數(shù)據(jù)。對于級聯(lián)的功能模塊或者數(shù)字邏輯器件,后一模塊或器件的工作時鐘一般取前一模塊或器件工作時鐘的反相信號,這樣就可以保證時鐘的邊沿位于數(shù)據(jù)的保持時間內(nèi)。第 10 章設(shè)計中的常見問題10.2.2
14、全局時鐘全局時鐘在一個數(shù)字系統(tǒng)中,如果每一個順序邏輯單元(Sequential Logic Element)都是用同一個參考時鐘脈沖來驅(qū)動的,則可稱該系統(tǒng)為同步系統(tǒng),驅(qū)動同步系統(tǒng)的參考時鐘就是全局時鐘。全局時鐘驅(qū)動的同步系統(tǒng)可以小到一個簡單的邏輯芯片,大到一個多插槽式模組,其包含的順序邏輯單元可以是寄存器(Register)、先進先出(FIFO)緩沖器、同步內(nèi)存(Memory) 等。第 10 章設(shè)計中的常見問題對于一個設(shè)計項目來說,全局時鐘是最簡單和最可預(yù)測的時鐘。在FPGA設(shè)計中,最好的時鐘方案是:由專用的全局時鐘輸入引腳驅(qū)動單個主時鐘去控制設(shè)計項目中的每一個觸發(fā)器。FPGA芯片一般都具有專
15、用的全局時鐘引腳,在設(shè)計項目時應(yīng)盡量采用全局時鐘,它能夠提供器件中最短的時鐘到輸出的延時。圖10.12所示的是全局時鐘的一個典型實例。圖10.12中的全局時鐘控制三級組合電路的運行,每次得到的結(jié)果被全局時鐘控制的D觸發(fā)器鎖存,使運行過程與全局時鐘同步。 第 10 章設(shè)計中的常見問題圖10.12 全局時鐘實例第 10 章設(shè)計中的常見問題10.2.3 門控時鐘門控時鐘在許多應(yīng)用中,整個設(shè)計項目都采用外部的全局時鐘是不可能的,所以通常用陣列時鐘構(gòu)成門控時鐘。門控時鐘常常同微處理器接口有關(guān),例如用地址線去控制寫脈沖。每當(dāng)用組合邏輯來控制觸發(fā)器時,通常都存在著門控時鐘。在使用門控時鐘時,應(yīng)仔細分析時鐘函
16、數(shù),以避免毛刺的影響。如果設(shè)計滿足下述兩個條件,則可以保證時鐘信號不出現(xiàn)危險的毛刺,門控時鐘就可以像全局時鐘一樣可靠工作:第 10 章設(shè)計中的常見問題(1) 直接驅(qū)動時鐘的邏輯中只允許包含一個“與門”或一個“或門”,如果采用其他的附加邏輯,就會在某些工作狀態(tài)下出現(xiàn)由于邏輯競爭而產(chǎn)生的毛刺。(2) 邏輯門的一個輸入作為實際的時鐘,而該邏輯門的所有其他輸入必須當(dāng)成地址或控制線,它們遵守相對于時鐘的建立和保持時間的約束。圖10.13所示為一個使用與門的門控時鐘電路。將門控時鐘與全局時鐘同步能改善設(shè)計項目的可靠性。使用帶有使能端的D觸發(fā)器可以實現(xiàn)門控時鐘與全局時鐘的同步。帶有使能端的D觸發(fā)器的符號如圖
17、10.14所示。第 10 章設(shè)計中的常見問題 圖10.13 使用與門的門控時鐘電路 第 10 章設(shè)計中的常見問題圖10.14 帶有使能端的D觸發(fā)器的符號 第 10 章設(shè)計中的常見問題使用時,將門控時鐘接D觸發(fā)器的使能端,全局時鐘接D觸發(fā)器的時鐘輸入端,這樣就能保持門控時鐘與全局時鐘的同步。當(dāng)產(chǎn)生門控時鐘的組合邏輯超過一級,即超過單個的“與門”或“或門”時,該設(shè)計項目的可靠性將變得很差。在這種情況下,即使樣機或仿真結(jié)果沒有顯示出靜態(tài)險象,但實際上仍然可能存在危險,所以我們不應(yīng)該用多級組合邏輯去作為觸發(fā)器的時鐘端。多級邏輯的險象可以通過插入“冗余邏輯”到設(shè)計項目中去除,但是FPGA編譯器在邏輯綜合
18、時會去掉這些冗余邏輯,這就使得驗證險象是否真正被去除變得十分困難。為此,設(shè)計人員應(yīng)尋求其他方法來實現(xiàn)電路的功能,盡量避免使用多級門控時鐘。第 10 章設(shè)計中的常見問題10.2.4 多時鐘系統(tǒng)多時鐘系統(tǒng)在設(shè)計中常常會碰到多時鐘系統(tǒng),即在一個系統(tǒng)中存在多個時鐘信號,例如異步通信接口或者兩個不同時鐘信號驅(qū)動的微處理器之間的接口。由于兩個時鐘信號之間要求一定的建立和保持時間,因此上述應(yīng)用引進了附加的定時約束條件,要求接口系統(tǒng)將某些異步信號同步化。第 10 章設(shè)計中的常見問題如圖10.15所示即為一個雙時鐘系統(tǒng)的實例。該系統(tǒng)有兩路彼此獨立的時鐘信號:clk_a信號為3 MHz,用于驅(qū)動觸發(fā)器A;clk_
19、b信號為6 MHz,用于驅(qū)動觸發(fā)器B。兩個觸發(fā)器的輸出信號要進行邏輯與操作,這樣就要求兩路觸發(fā)器輸出的信號能夠同步,以保證兩信號在進行與操作之前均處于穩(wěn)定狀態(tài),避免出現(xiàn)不可預(yù)料的毛刺。由于clk_a和clk_b是相互獨立的,分別由這兩路時鐘信號驅(qū)動的data_a和data_b信號的建立時間和保持時間的要求不能得到穩(wěn)定的保證,因此必須添加如圖10.16所示的同步電路來實現(xiàn)兩路信號的同步化。第 10 章設(shè)計中的常見問題圖10.15 雙時鐘系統(tǒng)第 10 章設(shè)計中的常見問題圖10.16 添加同步電路后的雙時鐘系統(tǒng)第 10 章設(shè)計中的常見問題圖10.16所示的電路是在圖10.15的基礎(chǔ)上增加了一個新的觸發(fā)器,它由clk_b控制,從而保證了經(jīng)過觸發(fā)器處理后的data_a信號符合data_b信號的建立時間要求。以上的例子中,兩個時鐘信號的頻率之間是整數(shù)倍關(guān)系,即clk_b的頻率是clk_a頻率的兩倍,兩者之間可以很容易地實現(xiàn)同步。在許多應(yīng)用場合,異步信號間的頻率并不是整數(shù)倍關(guān)系,數(shù)據(jù)的建立和保持時間很難得
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《實驗室生物安全》課件
- 2009年高考語文試卷(北京)(解析卷)
- 幼兒園科學(xué)活動說課稿
- 材料工程師工作總結(jié)
- 2023年-2024年安全教育培訓(xùn)試題含答案(B卷)
- 《電商營銷推廣》課件
- 云計算商業(yè)模式-洞察分析
- 星系團形成與演化-洞察分析
- 網(wǎng)絡(luò)電影與觀眾互動-洞察分析
- 水平轉(zhuǎn)移的進化意義-洞察分析
- 周五學(xué)習(xí)制度
- 運維或技術(shù)支持崗位招聘筆試題與參考答案(某大型央企)2024年
- 2022年新高考I卷讀后續(xù)寫David's run公開課課件-高三英語一輪復(fù)習(xí)
- 杰士德在線測評題
- 第18課《我的白鴿》公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 2024年自然資源部直屬企事業(yè)單位公開招聘考試筆試易考易錯模擬試題(共500題)試卷后附參考答案
- 2024-2030年中國無糖壓縮餅干行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 安全管理三級體系
- 2024年商用密碼應(yīng)用安全性評估從業(yè)人員考核試題庫-下(判斷題)
- 快樂讀書吧《愛的教育》復(fù)習(xí)小結(jié)(知識點)-統(tǒng)編版語文六年級上冊
- 2024年人教版初一生物(上冊)期末考卷及答案(各版本)
評論
0/150
提交評論