數(shù)字電路設(shè)計(jì)經(jīng)典課件_第1頁
數(shù)字電路設(shè)計(jì)經(jīng)典課件_第2頁
數(shù)字電路設(shè)計(jì)經(jīng)典課件_第3頁
數(shù)字電路設(shè)計(jì)經(jīng)典課件_第4頁
數(shù)字電路設(shè)計(jì)經(jīng)典課件_第5頁
已閱讀5頁,還剩166頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)字電路設(shè)計(jì)數(shù)字電路設(shè)計(jì)1內(nèi)容提要緒論電路設(shè)計(jì)規(guī)則電路設(shè)計(jì)流程電路驗(yàn)證方法電路實(shí)現(xiàn)結(jié)束語內(nèi)容提要緒論2緒論認(rèn)清數(shù)字電路設(shè)計(jì)電路設(shè)計(jì)的三個(gè)層次正確的入門方法數(shù)字電路的基本參數(shù)同步數(shù)字電路設(shè)計(jì)緒論認(rèn)清數(shù)字電路設(shè)計(jì)3認(rèn)清數(shù)字電路設(shè)計(jì)電路設(shè)計(jì)是一門藝術(shù)象藝術(shù)技巧一樣,深不可測,奧妙無窮;電路設(shè)計(jì)工程師和藝術(shù)家一樣,有發(fā)揮創(chuàng)造性的無限空間;電路設(shè)計(jì)所使用的“原料”和藝術(shù)作品一樣,簡單而且為所有人共知;電路的表現(xiàn)形式和藝術(shù)作品一樣,相同的內(nèi)容,相同的目的,可能會(huì)有不同的表現(xiàn)形式?!J(rèn)清數(shù)字電路設(shè)計(jì)電路設(shè)計(jì)是一門藝術(shù)4認(rèn)清數(shù)字電路設(shè)計(jì)因?yàn)殡娐吩O(shè)計(jì)是一門藝術(shù),所以它不可以速成;必須正確的入門方法;必須經(jīng)常重復(fù)練習(xí);在實(shí)現(xiàn)以前必須有完整的構(gòu)思。認(rèn)清數(shù)字電路設(shè)計(jì)因?yàn)殡娐吩O(shè)計(jì)是一門藝術(shù),所以5認(rèn)清數(shù)字電路設(shè)計(jì)舉例:設(shè)計(jì)一個(gè)電路完成以下波形描述的功能。Clk0123D0QD0D1D2D3D1D2D3D0D1D2D3D0D1D2D3D0D1D2D3012301230123認(rèn)清數(shù)字電路設(shè)計(jì)舉例:Clk0123D0QD0D1D2D3D6Cnt[1..0]認(rèn)清數(shù)字電路設(shè)計(jì)利用選擇器完成電路功能MuxCntClkD0QD1D2D3SelCnt[1..0]認(rèn)清數(shù)字電路設(shè)計(jì)利用選擇器完成電路功能Mu7認(rèn)清數(shù)字電路設(shè)計(jì)利用移位寄存器完成電路功能CarryShiftCntClkD0QD1D2D3Load認(rèn)清數(shù)字電路設(shè)計(jì)利用移位寄存器完成電路功能CarryShif8電路設(shè)計(jì)的三個(gè)層次完成功能能夠完成電路要求完成的功能工作可靠電路的工作對外圍環(huán)境要求最低;電路不受溫度、工藝等因數(shù)的影響可重用(可移植)能方便的在別的電路中使用電路設(shè)計(jì)的三個(gè)層次完成功能9電路設(shè)計(jì)的三個(gè)層次舉例設(shè)計(jì)一個(gè)UART的接收電路波特率19.2,偶校驗(yàn),1位停止位起始位數(shù)據(jù)Uart_RxD7D6D5D4D3D2D1D0CD0校驗(yàn)位停止位電路設(shè)計(jì)的三個(gè)層次舉例起始位數(shù)據(jù)Uart_RxD7D6D5D10電路設(shè)計(jì)的三個(gè)層次定義輸入輸出端口輸入:UartRx、SysClk、Read輸出:Data、New、ErrUartDataUartRxSysClkNewReadErr電路設(shè)計(jì)的三個(gè)層次定義輸入輸出端口UartDataUartR11電路設(shè)計(jì)的三個(gè)層次功能實(shí)現(xiàn)(框圖)下降沿檢測接收定時(shí)控制采集時(shí)鐘生成移位寄存奇偶/停止位標(biāo)志產(chǎn)生UartRxSysClkReadErrDataNew電路設(shè)計(jì)的三個(gè)層次功能實(shí)現(xiàn)(框圖)下降沿檢測接收定時(shí)控制采集12電路設(shè)計(jì)的三個(gè)層次完成功能(電路圖)電路設(shè)計(jì)的三個(gè)層次完成功能(電路圖)13電路設(shè)計(jì)的三個(gè)層次該電路能完成要求的功能,我們的設(shè)計(jì)已經(jīng)結(jié)束我們來看下面情況:發(fā)送的時(shí)鐘和接收的時(shí)鐘源不同步傳輸中出現(xiàn)干擾讀信號和接收時(shí)鐘不同步接收電路偽同步這些都是可靠性問題電路設(shè)計(jì)的三個(gè)層次該電路能完成要求的功能,我們的設(shè)計(jì)已經(jīng)結(jié)束14電路設(shè)計(jì)的三個(gè)層次我們修改了電路,電路工作已經(jīng)十分可靠,現(xiàn)在我們可以說設(shè)計(jì)結(jié)束了。如果我們我們接到另一個(gè)項(xiàng)目需要做一個(gè)URAT,要求有些不同:波特率、校驗(yàn)位、停止位可變;CPU中斷響應(yīng)慢這么辦???電路設(shè)計(jì)的三個(gè)層次我們修改了電路,電路工作已經(jīng)十分可靠,現(xiàn)在15電路設(shè)計(jì)的三個(gè)層次所以我們在設(shè)計(jì)電路時(shí),最好能使電路可重用,或盡可能簡單的修改原設(shè)計(jì)的情況下對電路進(jìn)行移植。電路設(shè)計(jì)的三個(gè)層次所以我們在設(shè)計(jì)電路時(shí),最好能使電路可重用,16TDelay數(shù)字電路基本參數(shù)無時(shí)鐘信號的電路(組合邏輯)In1In2In3Out對于組合邏輯的電路,在電路分析時(shí)只有輸入到輸出的延時(shí)(Tdelay),由于電路實(shí)現(xiàn)的原因,不同的輸入到輸出的延時(shí)不同,不同的工藝產(chǎn)生的延時(shí)不同,不同的溫度會(huì)導(dǎo)致延時(shí)不同。TDelay數(shù)字電路基本參數(shù)無時(shí)鐘信號的電路(組合邏輯)In17數(shù)字電路基本參數(shù)有時(shí)鐘信號的電路(時(shí)序電路)ClkQDDDCLKQDQThTsuTcoTsu:建立時(shí)間,表示在時(shí)鐘有效沿前數(shù)據(jù)維持不變的時(shí)間Th:保持時(shí)間,表示在時(shí)鐘有效沿后數(shù)據(jù)維持不變的時(shí)間Tco:輸出延時(shí),表示在時(shí)鐘有效沿后數(shù)據(jù)輸出的時(shí)間數(shù)字電路基本參數(shù)有時(shí)鐘信號的電路(時(shí)序電路)ClkQDDDC18數(shù)字電路基本參數(shù)Tsu、Th是對輸入信號中數(shù)據(jù)和時(shí)鐘相位的表征,通常我們提及這兩個(gè)參數(shù)時(shí),一般是指器件對輸入的要求,即要求輸入的最小建立時(shí)間(Tsu)和最小保持時(shí)間(Th);觸發(fā)器的這兩個(gè)參數(shù)只與器件的工藝和溫度有關(guān)當(dāng)我們的輸入的相位要求不能滿足該要求時(shí),觸發(fā)器的值將不能達(dá)到預(yù)期結(jié)果(即我們常說的不確定)。數(shù)字電路基本參數(shù)Tsu、Th是對輸入信號中數(shù)據(jù)和時(shí)鐘相位的表19數(shù)字電路基本參數(shù)對于一個(gè)觸發(fā)器來說,Tsu+Th為一個(gè)常量。由于有外圍電路的作用,我們所看到的最小建立時(shí)間(Tsu)和最小保持時(shí)間(Th)可能有變化。例如:數(shù)字電路基本參數(shù)對于一個(gè)觸發(fā)器來說,Tsu+Th為一個(gè)常20數(shù)字電路基本參數(shù)觸發(fā)器的Tco參數(shù)只與器件的工藝和溫度有關(guān)由于時(shí)鐘輸入或數(shù)據(jù)輸出電路上的延時(shí),器件或模塊的Tco可能會(huì)有變化,例如:數(shù)字電路基本參數(shù)觸發(fā)器的Tco參數(shù)只與器件的工藝和溫度有關(guān)21數(shù)字電路基本參數(shù)我們現(xiàn)在已經(jīng)學(xué)習(xí)了數(shù)字電路的基本參數(shù):TDelayTsuThTcofmax???數(shù)字電路基本參數(shù)我們現(xiàn)在已經(jīng)學(xué)習(xí)了數(shù)字電路的基本參數(shù):TDe22數(shù)字電路基本參數(shù)我們在電路中,實(shí)際上觸發(fā)器和組合邏輯是以以下結(jié)構(gòu)存在的:ClkDQDDQQDTcoTDelayTsuT=Tco+TDelay+Tsu當(dāng)時(shí)鐘沿有效時(shí),經(jīng)過時(shí)間T,信號傳達(dá)到第二個(gè)寄存器。要使電路能可靠工作,必須Tclk

≥T,如果滿足此要求,時(shí)鐘頻率為fClk≤1/T;則fmax=1/T。數(shù)字電路基本參數(shù)我們在電路中,實(shí)際上觸發(fā)器和組合邏輯是以以下23同步數(shù)字電路設(shè)計(jì)在數(shù)字電路中為什么要使用同步數(shù)字電路?可靠性處理速度同步數(shù)字電路設(shè)計(jì)在數(shù)字電路中為什么要使用同步數(shù)字電路?可靠性24同步數(shù)字電路設(shè)計(jì)異步電路(組合邏輯電路):C0C1C2C3CnT0T1T3TnTDelay=T0+T1+T2+T3+……+TnT2TDelay同步數(shù)字電路設(shè)計(jì)異步電路(組合邏輯電路):C0C1C2C3C25同步數(shù)字電路設(shè)計(jì)同步電路(時(shí)序電路):C0C1C2C3CnDFFDFFDFFDFFT0T1T3TnT2TDelayClkTDelay=n╳TClk+Tco同步數(shù)字電路設(shè)計(jì)同步電路(時(shí)序電路):C0C1C2C3CnD26同步數(shù)字電路設(shè)計(jì)Tdelay與組合邏輯的延時(shí)(Tn)無關(guān)TDelay=n╳TClk+Tco因?yàn)閒max=1/(Tco+Tn+Tsu),Tn為觸發(fā)器間的組合邏輯的最大的延時(shí)由于Tco和Tsu在同一芯片中基本上是個(gè)常數(shù),所以Tn直接影響fmax。當(dāng)TClk>Tn,組合邏輯的延時(shí)與TDelay無關(guān)。是?否?同步數(shù)字電路設(shè)計(jì)Tdelay與組合邏輯的延時(shí)(Tn)無關(guān)TD27同步數(shù)字電路設(shè)計(jì)假設(shè)因?yàn)闇囟?、工藝或布線改變,造成電路的延時(shí)改變了△t,對于異步電路:T =(T1+△t)+(T2+△t)+(T3+ △t)+(T4+△t)……+(Tn+△t) =T1+T2+T3+T4……+Tn+△t╳n

=TDelay+△t╳n

變化引起的延時(shí)為△t╳n

同步數(shù)字電路設(shè)計(jì)假設(shè)因?yàn)闇囟?、工藝或布線改變,造成電路的延時(shí)28同步數(shù)字電路設(shè)計(jì)對于同步數(shù)字電路T =n╳TClk+(Tco+△t) =(n╳TClk+Tco)

+△t =TDelay+△t變化引起的延時(shí)為△t所以同步數(shù)字電路的可靠性和移植性明顯優(yōu)于異步電路同步數(shù)字電路設(shè)計(jì)對于同步數(shù)字電路T =n╳TClk+29同步數(shù)字電路設(shè)計(jì)另外,由于同步數(shù)字電路只對在時(shí)鐘有效沿附近的數(shù)據(jù)“感興趣”,所以它可以將由于干擾造成的數(shù)據(jù)干擾和由于電路競爭冒險(xiǎn)產(chǎn)生的毛刺“過濾”掉,從而大大的提高了電路的可靠性。同步數(shù)字電路設(shè)計(jì)另外,由于同步數(shù)字電路只對在時(shí)鐘有效沿附近的30同步數(shù)字電路設(shè)計(jì)同步電路使電路的速度是提高了還是降低了????快?慢?同步數(shù)字電路設(shè)計(jì)同步電路使電路的速度是提高了還是降低了???31同步數(shù)字電路設(shè)計(jì)變慢了,為什么?異步電路:TDelay=T0+T1+T2+T3+……+Tn同步電路:TDelay=n╳TClk+Tco為了使同步電路的觸發(fā)器工作穩(wěn)定,必須保證Tclk

>Tmax,其中Tmax為T0、T1、T2、T3……Tn中最大的一個(gè)同步數(shù)字電路設(shè)計(jì)變慢了,為什么?異步電路:同步電路:為了使同32同步數(shù)字電路設(shè)計(jì)變快了,為什么?同步數(shù)字電路每間隔一個(gè)TClk可以處理一個(gè)數(shù)據(jù),而異步電路需要每間隔Tdelay才能處理一個(gè)數(shù)據(jù)。就單位時(shí)間內(nèi)處理的數(shù)據(jù)量而言,同步數(shù)字電路可以遠(yuǎn)遠(yuǎn)大于異步電路。所以我們說,使用同步數(shù)字電路的可以提高電路的運(yùn)行速度。同步數(shù)字電路設(shè)計(jì)變快了,為什么?33正確的入門方法從電路圖設(shè)計(jì)入手可以很清楚電路是如何實(shí)現(xiàn)的;可以很清楚電路結(jié)構(gòu),或會(huì)有意識的對電路的模塊進(jìn)行劃分;如果從語言入手必須熟悉電路,能很容易的讀懂電路;對電路的不同描述方式,要清楚綜合工具的綜合結(jié)果正確的入門方法從電路圖設(shè)計(jì)入手34正確的入門方法規(guī)范設(shè)計(jì)是入門的基礎(chǔ)規(guī)范設(shè)計(jì)可以避免一些電路不可靠因素;真正可重用的電路絕對是規(guī)范的;電路的功能實(shí)現(xiàn)不是最有價(jià)值的東西,最有價(jià)值的是電路實(shí)現(xiàn)的思路;如果你的電路大家都看不懂,那絕對是“垃圾”;正確的入門方法規(guī)范設(shè)計(jì)是入門的基礎(chǔ)35正確的入門方法注重仿真所有的電路都是調(diào)試出來的,不是設(shè)計(jì)出來的;不懂仿真,則永遠(yuǎn)無法成為電路設(shè)計(jì)高手;測試向量的完整性可以大大縮短硬件的調(diào)試時(shí)間。正確的入門方法注重仿真36電路設(shè)計(jì)規(guī)則命名規(guī)則注釋規(guī)則電路描述規(guī)則電路設(shè)計(jì)規(guī)則命名規(guī)則37命名規(guī)則(1)名字必須有確定意義,且具有可讀性。如:SysClk、Reset、SecondCnt、CnlAData不能取如下名字:X、A、B命名規(guī)則(1)名字必須有確定意義,且具有可讀性。38命名規(guī)則(2)名字之間的單詞的第一個(gè)字母使用大寫。如:TotalNumber、CalcError、FramerSearch、InputDataCounter不要將名字中全部取為大寫或小寫,如:CPUADDRESS、ramreaddata、fifoemptyTotalnumber、calcerror、framersearch、inputdatacounter、BASEADDR命名規(guī)則(2)名字之間的單詞的第一個(gè)字母使用大寫。39命名規(guī)則(3)在命名中使用_N的后綴表示低電平有效信號或下降沿有效的時(shí)鐘,沒有_N的信號均表示高電平有效或上升沿有效如:Reset_N,TxClk_NSyncLos =!FramerSync命名規(guī)則(3)在命名中使用_N的后綴表示低電平有效信號或下降40命名規(guī)則(4)在命名中使用_C的后綴或全部大寫表示常量。如:DataWidth_C、DATAWIDTHBuffDepth_C、BUFFDEPTH命名規(guī)則(4)在命名中使用_C的后綴或全部大寫表示常量。41命名規(guī)則(5)在命名中使用_B的后綴表示雙向的變量或信號。如:CpuData_B 表示CPU數(shù)據(jù)總線是雙向的。命名規(guī)則(5)在命名中使用_B的后綴表示雙向的變量或信號。42命名規(guī)則(6)使用恰當(dāng)?shù)目s寫,縮短名字的長度,同時(shí)不降低名字的可讀性如:Rd Read Wr WriteEn Enable Ava AvailableAddr Address Alm AlarmClk Clock Rst ResetIn Input Out Output 命名規(guī)則(6)使用恰當(dāng)?shù)目s寫,縮短名字的長度,同時(shí)不降低名字43命名規(guī)則(7)名字中盡可能不出現(xiàn)數(shù)字,除非必須出現(xiàn)。如:E1Framer命名規(guī)則(7)名字中盡可能不出現(xiàn)數(shù)字,除非必須出現(xiàn)。44命名規(guī)則(8)避免單獨(dú)使用以下字母和數(shù)字,更不允許在同一文件中的名字中使用以下字母和數(shù)字區(qū)別變量或信號名:I、l、1O、0、oS、5G、6如:RdCnt1、RdCntl、RdCntI命名規(guī)則(8)避免單獨(dú)使用以下字母和數(shù)字,更不允許在同一文件45命名規(guī)則(9)當(dāng)文件中只包含一個(gè)模塊時(shí),文件名和模塊名保持一致。當(dāng)文件中有多個(gè)相關(guān)模塊且沒有頂層模塊,模塊名須與各模塊的功能相關(guān)當(dāng)一個(gè)模塊中的子模塊在別的電路中不會(huì)使用時(shí),可以將子模塊和頂層模塊放置在一起,文件名和頂層模塊名相同。命名規(guī)則(9)當(dāng)文件中只包含一個(gè)模塊時(shí),文件名和模塊名保持一46注釋規(guī)則代碼注釋是為了增強(qiáng)代碼的可讀性,注釋的內(nèi)容要求言簡意賅。注釋分為:文件或模塊注釋變量或信號注釋電路注釋特殊功能注釋其他注釋注釋規(guī)則代碼注釋是為了增強(qiáng)代碼的可讀性,注釋的內(nèi)容要求言簡意47數(shù)字電路設(shè)計(jì)流程功能分析和模塊定義確定重要信號傳遞方案代碼設(shè)計(jì)和驗(yàn)證數(shù)字電路設(shè)計(jì)流程功能分析和模塊定義48功能分析和模塊定義自頂向下設(shè)計(jì);對項(xiàng)目的各功能進(jìn)行系統(tǒng)的分析,列出數(shù)字電路需要完成的各個(gè)功能;按以下原則劃分各功能模塊:功能確定接口最簡成對原則模塊最少定義模塊間的接口; 再將每個(gè)模塊按以上原則和方法劃分功能子模塊,直到模塊最小化功能分析和模塊定義自頂向下設(shè)計(jì);49功能分析和模塊定義舉例:設(shè)計(jì)一個(gè)SDH的四路E1映射的電路;電路接收信號為SDH開銷處理后的并行數(shù)據(jù)和定時(shí)信號;上行總線接口為兩條,每條的信號完全一樣:輸入:CLK19、SPE、C1J1V1輸出:ADD、DATA[7:0]、PAR下行總線接口為兩條,每條的信號全是輸入且完全一樣:CLK19、SPE、C1J1V1、DATA[7:0]、PAR功能分析和模塊定義舉例:50功能分析和模塊定義設(shè)計(jì)一個(gè)SDH的四路E1映射的電路;(續(xù))CPU總線用于電路設(shè)置和告警處理輸入:ADDR[7:0]、RD、WR、CE雙向:DATA[7:0]E1接口為4條相同的接口信號輸入:RPO(PCO)、RNO(RDO)輸出:TPI(TCI)、TNI(TDI)要求完成以下功能:每個(gè)E1可以在任意的TU12位置分插上行時(shí)序可以在上行和下行四個(gè)時(shí)序中任意選擇功能分析和模塊定義設(shè)計(jì)一個(gè)SDH的四路E1映射的電路;(續(xù))51功能分析和模塊定義設(shè)計(jì)一個(gè)SDH的四路E1映射的電路;(續(xù))要求完成以下功能:(續(xù))E1接口可選正/負(fù)雙軌模式和NRZ/時(shí)鐘模式根據(jù)下行總線工作狀態(tài)實(shí)現(xiàn)倒換功能分析和模塊定義設(shè)計(jì)一個(gè)SDH的四路E1映射的電路;(續(xù))52功能分析和模塊定義SDH介紹功能分析和模塊定義SDH介紹53功能分析和模塊定義電路設(shè)計(jì)框圖定時(shí)處理TIMEPOCESSCPU接口CPUINTERFACE上總線形成ADDGENERATE端口映射PORTMAP端口映射PORTMAP端口映射PORTMAP端口映射PORTMAP下行數(shù)據(jù)總線上行和下行控制總線CPU數(shù)據(jù)、地址和控制總線上行數(shù)據(jù)總線E1接口QE1MAP功能分析和模塊定義電路設(shè)計(jì)框圖定時(shí)處理CPU接口上總線形成端54功能分析和模塊定義各模塊功能確定檢查模塊間接口最簡檢查成對設(shè)計(jì)檢查模塊最少檢查定義模塊間的接口功能分析和模塊定義各模塊功能確定檢查55確定重要信號傳遞方案確定電路的輸入輸出要求確定模塊間的輸入輸出要求重要信號傳遞過程定時(shí)信號公用信號確定重要信號傳遞方案確定電路的輸入輸出要求56確定重要信號傳遞方案舉例:確定重要信號傳遞方案舉例:57代碼設(shè)計(jì)和驗(yàn)證自底向上設(shè)計(jì)每一模塊根據(jù)功能要求、接口定義和重要信號傳遞方案進(jìn)行代碼設(shè)計(jì)對每個(gè)模塊進(jìn)行仿真對成對模塊進(jìn)行聯(lián)調(diào)將所有模塊拼接并進(jìn)行系統(tǒng)驗(yàn)證代碼設(shè)計(jì)和驗(yàn)證自底向上設(shè)計(jì)58電路驗(yàn)證方法驗(yàn)證的目的是為了保證電路提供的功能特性的正確性;驗(yàn)證的目標(biāo)是證明設(shè)計(jì)沒有錯(cuò)誤;驗(yàn)證過程需要權(quán)衡以下方面:驗(yàn)證時(shí)間驗(yàn)證成本驗(yàn)證充分電路驗(yàn)證方法驗(yàn)證的目的是為了保證電路提供的功能特性的正確性;59電路驗(yàn)證方法驗(yàn)證手段;功能驗(yàn)證的方法;驗(yàn)證計(jì)劃的建立;電路驗(yàn)證方法驗(yàn)證手段;60驗(yàn)證手段功能驗(yàn)證(功能仿真)功能驗(yàn)證是設(shè)計(jì)驗(yàn)證的主要形式;功能驗(yàn)證需要進(jìn)行代碼覆蓋率的檢查;靜態(tài)時(shí)序分析檢查電路中觸發(fā)器的建立和保持時(shí)間,以及基于路徑的時(shí)延要求;時(shí)序仿真形式驗(yàn)證驗(yàn)證手段功能驗(yàn)證(功能仿真)61功能驗(yàn)證(功能仿真)功能仿真的目的主要是為了保證設(shè)計(jì)的RTL級的描述和要求的特性一致;電路設(shè)計(jì)輸入激勵(lì)輸出響應(yīng)測試平臺(tái)功能驗(yàn)證(功能仿真)功能仿真的目的主要是為了保證設(shè)計(jì)的RTL62功能驗(yàn)證(功能仿真)功能驗(yàn)證策略一:比較法電路設(shè)計(jì)(RTL描述)輸入激勵(lì)比較輸出響應(yīng)測試平臺(tái)電路設(shè)計(jì)(行為描述)功能驗(yàn)證(功能仿真)功能驗(yàn)證策略一:比較法電路設(shè)計(jì)輸入比較測63功能驗(yàn)證(功能仿真)舉例:設(shè)計(jì)一個(gè)帶異步復(fù)位的計(jì)數(shù)器,使用比較法進(jìn)行仿真,并檢查代碼覆蓋率功能驗(yàn)證(功能仿真)舉例:64功能驗(yàn)證(功能仿真)功能驗(yàn)證策略二:預(yù)測法電路設(shè)計(jì)輸入激勵(lì)比較輸出響應(yīng)測試平臺(tái)預(yù)測結(jié)果功能驗(yàn)證(功能仿真)功能驗(yàn)證策略二:預(yù)測法電路設(shè)計(jì)輸入比較測65功能驗(yàn)證(功能仿真)舉例:設(shè)計(jì)一個(gè)帶異步復(fù)位的計(jì)數(shù)器,使用預(yù)測法進(jìn)行仿真,并檢查代碼覆蓋率功能驗(yàn)證(功能仿真)舉例:66功能驗(yàn)證的方法黑盒法:不知道實(shí)現(xiàn)細(xì)節(jié),所有驗(yàn)證內(nèi)容通過對設(shè)計(jì)對外接口完成的;白盒法:對設(shè)計(jì)內(nèi)部結(jié)構(gòu)和細(xì)節(jié)非常清楚,并可以進(jìn)行完全的控制和觀察;灰盒法:知道細(xì)節(jié)的情況下,進(jìn)行黑盒驗(yàn)證。功能驗(yàn)證的方法黑盒法:67功能驗(yàn)證的方法一般情況,對模塊測試進(jìn)行白盒測試或灰盒測試;系統(tǒng)測試使用黑盒測試或灰盒測試。功能驗(yàn)證的方法一般情況,對模塊測試進(jìn)行白盒測試或灰盒測試;68TestBench簡介描述TestBench流程產(chǎn)生輸入激勵(lì)例化測試對象檢查測試對象輸出輸出測試結(jié)果TestBench簡介描述TestBench流程69驗(yàn)證計(jì)劃的建立一個(gè)驗(yàn)證計(jì)劃一般需要具備:明確驗(yàn)證目標(biāo);確定驗(yàn)證手段、方法和策略;結(jié)果檢查手段;驗(yàn)證結(jié)果的質(zhì)量標(biāo)準(zhǔn);驗(yàn)證進(jìn)度安排和管理;驗(yàn)證小組成員的職責(zé)和分工。驗(yàn)證計(jì)劃的建立一個(gè)驗(yàn)證計(jì)劃一般需要具備:70電路實(shí)現(xiàn)數(shù)字電路中時(shí)鐘處理方法接口電路運(yùn)算電路數(shù)據(jù)流處理電路電路實(shí)現(xiàn)數(shù)字電路中時(shí)鐘處理方法71數(shù)字電路中時(shí)鐘的處理方法數(shù)字電路中時(shí)鐘是所有信號的參考,沒有時(shí)鐘,所有的數(shù)字信號都沒有意義;一個(gè)數(shù)字電路中時(shí)鐘的處理方案直接影響數(shù)字電路的功能實(shí)現(xiàn)和可靠性;一般情況,我們在同一個(gè)設(shè)計(jì)中使用唯一的系統(tǒng)時(shí)鐘(除接口電路);當(dāng)系統(tǒng)中多個(gè)時(shí)鐘時(shí),我們必須對有些時(shí)鐘進(jìn)行處理。數(shù)字電路中時(shí)鐘的處理方法數(shù)字電路中時(shí)鐘是所有信號的參考,沒有72數(shù)字電路中時(shí)鐘的處理方法當(dāng)有多個(gè)時(shí)鐘數(shù)字電路,且有一個(gè)時(shí)鐘(假設(shè)為CLKA)的速率大于其他時(shí)鐘兩倍以上,我們在接口部分就必須對其他時(shí)鐘進(jìn)行同步化處理,將其他時(shí)鐘信息轉(zhuǎn)換為和CLKA同步的允許信號。這樣處理的好處:便于處理電路內(nèi)部時(shí)序;時(shí)鐘間邊界條件只在接口部分電路進(jìn)行處理;數(shù)字電路中時(shí)鐘的處理方法當(dāng)有多個(gè)時(shí)鐘數(shù)字電路,且有一個(gè)時(shí)鐘(73數(shù)字電路中時(shí)鐘的處理方法同步化處理電路(時(shí)鐘沿提取電路):其輸出波形:數(shù)字電路中時(shí)鐘的處理方法同步化處理電路(時(shí)鐘沿提取電路):其74數(shù)字電路中時(shí)鐘的處理方法這么會(huì)這樣?問題出在哪?MAX7000MAX300AFLEX1K對CLKEN和CLK分別進(jìn)行計(jì)數(shù),比較計(jì)數(shù)的值便能知道CLKEN是否能真實(shí)反映CLK。輸入的激勵(lì): SysClk周期為20ns; Clk周期為58ns。數(shù)字電路中時(shí)鐘的處理方法這么會(huì)這樣?問題出在哪?MAX70075數(shù)字電路中時(shí)鐘的處理方法當(dāng)Ta>Tb,SysClk不能采集到ClkEn;當(dāng)Tb>Ta,SysClk可能會(huì)兩次采集ClkEn。組合邏輯TaTbClkSysClkClkDQDQ數(shù)字電路中時(shí)鐘的處理方法當(dāng)Ta>Tb,SysClk不能采集到76數(shù)字電路中時(shí)鐘的處理方法解決方法??對于非同源時(shí)鐘,為了保證電路的可靠性和移植性必須做如上處理。數(shù)字電路中時(shí)鐘的處理方法解決方法??對于非同源時(shí)鐘,為了保證77數(shù)字電路中時(shí)鐘的處理方法前面電路是對時(shí)鐘的上升沿進(jìn)行同步化處理,如果是下降沿呢?數(shù)字電路中時(shí)鐘的處理方法前面電路是對時(shí)鐘的上升沿進(jìn)行同步化處78數(shù)字電路中時(shí)鐘的處理方法提問:如何取的上升和下降沿?cái)?shù)字電路中時(shí)鐘的處理方法提問:如何取的上升和下降沿79數(shù)字電路中時(shí)鐘的處理方法當(dāng)有多個(gè)時(shí)鐘數(shù)字電路,但速率最快的時(shí)鐘(假設(shè)為CLKA)的速率沒有達(dá)到其它時(shí)鐘頻率的兩倍,我們在接口部分就必須對其他時(shí)鐘和數(shù)據(jù)通過FIFO進(jìn)行隔離,并將其他時(shí)鐘信息轉(zhuǎn)換為和CLKA同步的允許信號。數(shù)字電路中時(shí)鐘的處理方法當(dāng)有多個(gè)時(shí)鐘數(shù)字電路,但速率最快的時(shí)80數(shù)字電路中時(shí)鐘的處理方法異步時(shí)鐘和數(shù)據(jù)處理標(biāo)準(zhǔn)電路:FIFO的深度最小需要3如果SYSCLK<CLK,如何處理???如果內(nèi)部電路不能運(yùn)行在CLK時(shí)鐘頻率上,如CLK為200MHz???數(shù)字電路中時(shí)鐘的處理方法異步時(shí)鐘和數(shù)據(jù)處理標(biāo)準(zhǔn)電路:FIFO81數(shù)字電路中時(shí)鐘的處理方法對于間歇時(shí)鐘,如果其最高頻率小于所選的系統(tǒng)時(shí)鐘的1/2:用時(shí)鐘沿提取電路對時(shí)鐘進(jìn)行同步化;如果最高頻率大于所選的系統(tǒng)時(shí)鐘的1/2:使用FIFO進(jìn)行同步;增大FIFO的深度;或通過串并轉(zhuǎn)換將數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)或?qū)挾雀鼘挼臄?shù)據(jù)進(jìn)行處理;數(shù)字電路中時(shí)鐘的處理方法對于間歇時(shí)鐘,如果其最高頻率小于所選82數(shù)字電路中時(shí)鐘的處理方法選擇系統(tǒng)時(shí)鐘一般性原則:不大于內(nèi)部電路能夠運(yùn)行的最高頻率的時(shí)鐘;連續(xù)的周期性時(shí)鐘;在系統(tǒng)中頻率最高的時(shí)鐘;當(dāng)不能滿足第二條時(shí),必須保證時(shí)鐘的間歇時(shí)間小于其他任何時(shí)鐘的周期;當(dāng)不能保證第三條時(shí),可以將數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換成并行數(shù)據(jù)或?qū)挾雀鼘挼臄?shù)據(jù),從而降低非系統(tǒng)時(shí)鐘的頻率。如果不能滿足第一條,怎么辦???數(shù)字電路中時(shí)鐘的處理方法選擇系統(tǒng)時(shí)鐘一般性原則:如果不能滿足83數(shù)字電路中時(shí)鐘的處理方法對于內(nèi)部的低速時(shí)鐘,一般常見的方法:分頻器模塊A模塊B模塊CSysClk這種結(jié)構(gòu)在很多情況下不會(huì)出問題,但如果模塊間有數(shù)據(jù)交換時(shí),其定時(shí)特性的評估將比較困難;當(dāng)時(shí)鐘很多時(shí),對時(shí)鐘的布線要求較高;數(shù)字電路中時(shí)鐘的處理方法對于內(nèi)部的低速時(shí)鐘,一般常見的方法:84數(shù)字電路中時(shí)鐘的處理方法最佳處理方法:分頻器模塊A模塊B模塊CSysClkClkEnAClkEnBClkEnC這種結(jié)構(gòu)使電路中的模塊間的數(shù)據(jù)交換非常簡單;對電路的靜態(tài)時(shí)序分析變的簡單且易于調(diào)整;由于對工藝和布線的要求降低,電路的可靠性和移植性大大增加;使內(nèi)部電路設(shè)計(jì)更理想化和理論化。數(shù)字電路中時(shí)鐘的處理方法最佳處理方法:分模塊A模塊B模塊CS85接口電路接口電路功能和處理原則接口處理電路使用的基本元素輸入接口電路輸出接口電路雙向接口電路舉例:CPU接口電路接口電路接口電路功能和處理原則86接口電路功能和處理原則功能:提供和處理與芯片或FPGA接口的電路時(shí)序;對可能有的干擾進(jìn)行過濾;對非系統(tǒng)時(shí)鐘進(jìn)行處理;如果需要提供3態(tài)控制;處理原則:統(tǒng)一到一個(gè)系統(tǒng)時(shí)鐘;外圍時(shí)序和相位關(guān)系不變。接口電路功能和處理原則功能:87接口電路功能和處理原則接口電路位置示意圖:內(nèi)部電路接口電路外圍電路接口電路隔離了外圍電路和內(nèi)部電路,它不改變外圍電路的時(shí)序和相位要求;接口電路使內(nèi)部電路有統(tǒng)一的系統(tǒng)時(shí)鐘;使內(nèi)部電路中沒有雙向變量和三態(tài)信號使內(nèi)部電路接收的信號更穩(wěn)定;總之,接口電路使內(nèi)部電路的處理更理想化和理論化。接口電路功能和處理原則接口電路位置示意圖:內(nèi)部電路接口電路外88接口處理電路使用的基本元素三態(tài)門:將外圍的雙向電路引入內(nèi)部電路,使內(nèi)部電路中沒有三態(tài)電路;輸出三態(tài)與外圍電路中信號進(jìn)行線或或線與;三態(tài)輸出在一般情況下輸出高阻,只有必須輸出時(shí)才輸出數(shù)據(jù),避免與外圍電路發(fā)生沖突。接口處理電路使用的基本元素三態(tài)門:89接口處理電路使用的基本元素三態(tài)門:EnvccEnvccEn雙向接口線與線或接口處理電路使用的基本元素三態(tài)門:EnvccEnvccEn雙90接口處理電路使用的基本元素透明鎖存器(Latch):在數(shù)字電路設(shè)計(jì)中,盡可能不使用Latch;Latch以下條件同時(shí)存在的情況下使用:要鎖存的數(shù)據(jù)在數(shù)據(jù)標(biāo)志(如讀信號)的上升沿和下降沿之間可能變化;內(nèi)部電路在數(shù)據(jù)標(biāo)志的上升沿和下降沿之間需要使用要鎖存的數(shù)據(jù);內(nèi)部電路在數(shù)據(jù)標(biāo)志結(jié)束后可能還需要使用要鎖存的數(shù)據(jù);接口處理電路使用的基本元素透明鎖存器(Latch):910101001100接口處理電路使用的基本元素為什么我們需要盡可能不使用Latch??Latch的波形Latch的結(jié)構(gòu)EnDQLacthmux01Sel1DQ10產(chǎn)生震蕩0101001100接口處理電路使用的基本元素為什么我們需要92確認(rèn)Latch使用條件是否完全具備;如果有任意一條不具備,使用別的電路代替;如何避免使用Latch??接口處理電路使用的基本元素確認(rèn)Latch使用條件是否完全具備;如何避免使用Latch?93避免使用Latch(1)要鎖存的數(shù)據(jù)在數(shù)據(jù)有效標(biāo)志(如讀信號)的上升沿和下降沿之間可能變化;解決辦法:使用數(shù)據(jù)有效標(biāo)志(Enable)第一個(gè)沿進(jìn)行鎖存。Data(內(nèi)部)EnableData上次鎖存數(shù)據(jù)本次數(shù)據(jù)EnableDataData(內(nèi)部)上次鎖存數(shù)據(jù)本次數(shù)據(jù)使用Latch的情況不使用Latch的情況避免使用Latch(1)要鎖存的數(shù)據(jù)在數(shù)據(jù)有效標(biāo)志(如讀信號94避免使用Latch(2)內(nèi)部電路在數(shù)據(jù)標(biāo)志的上升沿和下降沿之間需要使用要鎖存的數(shù)據(jù);解決辦法:使用數(shù)據(jù)有效標(biāo)志(Enable)第二個(gè)沿進(jìn)行鎖存。不使用Latch的情況EnableDataData(內(nèi)部)本次數(shù)據(jù)使用Latch的情況要求輸出數(shù)據(jù)的位置OutputData(內(nèi)部)EnableData要求輸出數(shù)據(jù)的位置Output本次鎖存數(shù)據(jù)避免使用Latch(2)內(nèi)部電路在數(shù)據(jù)標(biāo)志的上升沿和下降沿之95鎖存數(shù)據(jù)避免使用Latch(3)內(nèi)部電路在數(shù)據(jù)標(biāo)志結(jié)束后可能還需要使用要鎖存的數(shù)據(jù);解決辦法:使用數(shù)據(jù)有效標(biāo)志(Enable)控制數(shù)據(jù)輸入不使用Latch的情況EnableDataData(內(nèi)部)本次數(shù)據(jù)使用Latch的情況使用數(shù)據(jù)的位置EnableDataData(內(nèi)部)使用數(shù)據(jù)的位置數(shù)據(jù)有效鎖存數(shù)據(jù)避免使用Latch(3)內(nèi)部電路在數(shù)據(jù)標(biāo)志結(jié)束后可能96確認(rèn)Latch使用條件是否完全具備;如果有任意一條不具備,使用別的電路代替;如果全部具備,確認(rèn)系統(tǒng)中是否有比數(shù)據(jù)有效標(biāo)志快3倍以上的時(shí)鐘;如果有,使用該時(shí)鐘鎖存數(shù)據(jù);如何避免使用Latch??接口處理電路使用的基本元素確認(rèn)Latch使用條件是否完全具備;如何避免使用Latch?97接口處理電路使用的基本元素EnableDataD0D1D1D0Q0Q1使用數(shù)據(jù)位置使用數(shù)據(jù)位置QOutputSysClkQD1D0Q1Q0使用數(shù)據(jù)位置使用數(shù)據(jù)位置OutputQ

END

Enable

DataQQ

END

Enable

Data

SysClkQ接口處理電路使用的基本元素EnableDataD0D1D1D98確認(rèn)Latch使用條件是否完全具備;如果有任意一條不具備,使用別的電路代替;如果全部具備,確認(rèn)系統(tǒng)中是否有比數(shù)據(jù)有效標(biāo)志快3倍以上的時(shí)鐘;如果有,使用該時(shí)鐘鎖存數(shù)據(jù);如何避免使用Latch??接口處理電路使用的基本元素如果沒有,只能用Latch或其替換電路。確認(rèn)Latch使用條件是否完全具備;如何避免使用Latch?99接口處理電路使用的基本元素Latch替換電路

Gate

Data

SysClkQ

ENDQ10實(shí)際波形實(shí)際電路Latch是否可以不用??接口處理電路使用的基本元素Latch替換電路

Gate

Da100接口處理電路使用的基本元素移位寄存器:當(dāng)內(nèi)部電路的處理速度較慢,通常使用移位寄存器進(jìn)行速率變換;一般情況下,只有當(dāng)系統(tǒng)時(shí)鐘的頻率小于數(shù)據(jù)時(shí)鐘,才在接口電路中使用移位寄存器,否則,將在內(nèi)部電路中使用;移位寄存器在接口電路中主要用于串并轉(zhuǎn)換和并串轉(zhuǎn)換。接口處理電路使用的基本元素移位寄存器:101接口處理電路使用的基本元素移位寄存器:并串轉(zhuǎn)換串并轉(zhuǎn)換接口處理電路使用的基本元素移位寄存器:并串轉(zhuǎn)換串并轉(zhuǎn)換102接口處理電路使用的基本元素濾波器:當(dāng)輸入信號不穩(wěn)定或有干擾,可以使用濾波器過濾到不需要的信號;濾波器的根據(jù)采集時(shí)鐘和過濾對象的速率倍數(shù),選擇不同的濾波器形式;根據(jù)輸入信號的特點(diǎn),可以對濾波器進(jìn)行不同的修改和調(diào)整。接口處理電路使用的基本元素濾波器:103接口處理電路使用的基本元素濾波器(1):仿真波形接口處理電路使用的基本元素濾波器(1):仿真波形104接口處理電路使用的基本元素濾波器(2):仿真波形接口處理電路使用的基本元素濾波器(2):仿真波形105接口處理電路使用的基本元素濾波器(3):仿真波形接口處理電路使用的基本元素濾波器(3):仿真波形106接口處理電路使用的基本元素FIFO(先進(jìn)先出存儲(chǔ)器):FIFO在接口電路中的主要作用是不同時(shí)鐘間進(jìn)行隔離;FIFO在接口電路有時(shí)也用作速率調(diào)整;在接口電路中,F(xiàn)IFO的深度由具體情況而定,一般情況下都比較淺;FIFO工作在非空非滿狀態(tài),所以電路中基本不需要空滿判斷,只需對地址相等進(jìn)行復(fù)位即可。接口處理電路使用的基本元素FIFO(先進(jìn)先出存儲(chǔ)器):107接口處理電路使用的基本元素FIFO(先進(jìn)先出存儲(chǔ)器):寫地址計(jì)數(shù)器RAM讀地址計(jì)數(shù)器寫時(shí)鐘讀時(shí)鐘復(fù)位復(fù)位讀地址讀地址復(fù)位電路寫數(shù)據(jù)讀數(shù)據(jù)接口處理電路使用的基本元素FIFO(先進(jìn)先出存儲(chǔ)器):寫地址108接口處理電路使用的基本元素時(shí)鐘恢復(fù)電路:時(shí)鐘恢復(fù)電路的作用主要是從有時(shí)鐘信息的串行碼流中分離出時(shí)鐘;一般情況電路需要事先知道串行碼流的速率,在接收電路中產(chǎn)生一個(gè)與碼流速率相同的時(shí)鐘;再使產(chǎn)生的時(shí)鐘與輸入的碼流中的時(shí)鐘信息同步。接口處理電路使用的基本元素時(shí)鐘恢復(fù)電路:109接口處理電路使用的基本元素時(shí)鐘恢復(fù)電路:時(shí)鐘生成器同步信號串行數(shù)據(jù)系統(tǒng)時(shí)鐘恢復(fù)的時(shí)鐘接口處理電路使用的基本元素時(shí)鐘恢復(fù)電路:時(shí)鐘生成器同步信號串110接口處理電路使用的基本元素三態(tài)門;透明鎖存器(Latch);移位寄存器;濾波器;FIFO;時(shí)鐘恢復(fù)電路。接口處理電路使用的基本元素三態(tài)門;111輸入接口電路輸入接口的要求:輸入接口電路的輸入時(shí)序和相位關(guān)系必須嚴(yán)格滿足外圍電路的要求;輸入接口電路的輸出需統(tǒng)一為寬度為一個(gè)系統(tǒng)時(shí)鐘周期的時(shí)鐘允許信號(ClkEn)和一個(gè)數(shù)據(jù)或數(shù)據(jù)組輸出;輸入接口電路必須保證輸出的數(shù)據(jù)可靠和穩(wěn)定;輸入接口電路必須避免過多的處理數(shù)據(jù),處理數(shù)據(jù)的功能有內(nèi)部電路去完成。輸入接口電路輸入接口的要求:1121外部定時(shí)型DataClkDataClkEn輸入接口電路輸入接口的不同型式:2內(nèi)部定時(shí)型DataClkDataClkEn3隱含定時(shí)型DataDataClkEn4數(shù)據(jù)定時(shí)型DataDataClkEn1DataClkDataClkEn輸入接口電路輸入接口的不同113輸入接口電路所有形式我們均可等效為:DataClkSysClkDataClkEn為什么???時(shí)鐘生成內(nèi)部時(shí)鐘型隱含定時(shí)型定時(shí)產(chǎn)生時(shí)鐘提取數(shù)據(jù)定時(shí)型所以我們只要討論如何處理外部時(shí)鐘型電路即可解決所有輸入接口電路的問題輸入接口電路所有形式我們均可等效為:DataClkSysCl114輸入接口電路輸入接口電路:DataClkSysClkDataClkEn數(shù)據(jù)鎖存有效沿提取數(shù)據(jù)鎖存EnDClkDClk數(shù)據(jù)移位時(shí)鐘濾波數(shù)據(jù)鎖存EnDClkDClk有效沿提取數(shù)據(jù)濾波時(shí)鐘濾波數(shù)據(jù)鎖存EnDClkDClk有效沿提取相位適應(yīng)時(shí)鐘濾波數(shù)據(jù)鎖存EnDClkDClk有效沿提取SysClk速率大于Clk的速率2倍以上SysClk速率大于Clk的速率4倍以上FIFO數(shù)據(jù)鎖存EnDClkDWrRdSysClk速率不小于Clk但小于的速率2倍SysClk速率小于Clk的速率數(shù)據(jù)移位FIFO數(shù)據(jù)鎖存EnDClkDClkDRdWr計(jì)數(shù)器D輸入接口電路輸入接口電路:DataClkSysClkData115輸出接口電路輸出接口的要求:輸出接口電路的輸出時(shí)序和相位關(guān)系必須嚴(yán)格滿足外圍電路的要求;輸出接口電路的輸入需統(tǒng)一為寬度為一個(gè)系統(tǒng)時(shí)鐘周期的時(shí)鐘允許信號(ClkEn)和一個(gè)數(shù)據(jù)或數(shù)據(jù)組輸入;輸出接口電路必須避免過多的處理數(shù)據(jù),處理數(shù)據(jù)的功能有內(nèi)部電路去完成。輸出接口電路輸出接口的要求:116輸出接口電路輸出接口電路的不同型式:1外部定時(shí)型DataClkEnSysClkDataClk2內(nèi)部定時(shí)型DataClkEnSysClkDataClk所有型式我們均可以把它等效為外部定時(shí)型??輸出接口電路輸出接口電路的不同型式:1DataClkEnSy117輸出接口電路輸出接口電路DataClkEnSysClkDataClk有效沿提取數(shù)據(jù)鎖存(處理)DEnClkEnSysClk速率大于Clk的速率4倍以上數(shù)據(jù)鎖存(處理)有效沿提取數(shù)據(jù)鎖存ClkDDEnClkEnSysClk速率大于Clk的速率2倍以上FIFO數(shù)據(jù)鎖存DDWrClkRdEnClkSysClk速率大于Clk的速率但不小于Clk數(shù)據(jù)移位FIFODDWrEnClkRdEnEnClk計(jì)數(shù)器LoadRdSysClk速率小于Clk的速率輸出接口電路輸出接口電路DataClkEnSysClkDat118雙向接口電路雙向接口的要求:雙向接口電路的輸入部分必須滿足輸入接口要求;雙向接口電路的輸出部分必須滿足輸出接口要求;雙向接口電路的三態(tài)控制部分必須滿足輸出接口要求;雙向接口電路的輸入部分須對數(shù)據(jù)進(jìn)行“分揀”,只對需要處理的數(shù)據(jù)“感興趣”,其他數(shù)據(jù)一律“視而不見”;雙向接口電路的三態(tài)控制部分必須掌握“能不輸出就不輸出”的原則,避免與外圍電路沖突;雙向接口電路雙向接口的要求:119舉例:CPU接口電路CPU接口電路的波形CpuWrCpuALECpuAddrAddr_LAddr_HCpuDataDataCpuRdAddr_LAddr_H寫周期讀周期舉例:CPU接口電路CPU接口電路的波形CpuWrCpuAL120舉例:CPU接口電路電路框圖CpuWrCpuRdCpuALECpuAddrCpuDataSysClkWrEnWrDataAddressRdDataRdClr相位提取相位提取數(shù)據(jù)鎖存數(shù)據(jù)鎖存三態(tài)控制數(shù)據(jù)鎖存Addr_LAddr_H舉例:CPU接口電路電路框圖CpuWrCpuRdCpuALE121舉例:CPU接口電路實(shí)際電路圖舉例:CPU接口電路實(shí)際電路圖122舉例:CPU接口電路寫入清零CpuWrCpuALECpuAddrAddr_LAddr_HCpuDataDataCpuRdAddr_LAddr_HSysClkWrEnRdClrAddrLAddrHWrDataRdDataAddr_LAddr_LAddr_HAddr_HRdDataWrData0RdData舉例:CPU接口電路寫入清零CpuWrCpuALECpuAd123舉例:CPU接口電路實(shí)際波形:低位地址高位地址高位地址低位地址Data=H5AAddr=H55AAData=HA5Addr=HAA55舉例:CPU接口電路實(shí)際波形:低位高位高位低位Data=H5124運(yùn)算電路基本元素簡單運(yùn)算電路乘法器除法器平方根復(fù)雜運(yùn)算電路設(shè)計(jì)方法運(yùn)算電路基本元素125基本元素加法器加法器由于進(jìn)位鏈的存在所以其速度隨著位數(shù)的增加而減少;加法器可以完成以下基本功能:C=A+BABCABC+加法器C=A-BABCA-BC+減法器C=C+BABCBC+累加器C=C+1ABC1C+計(jì)數(shù)器基本元素加法器C=A+BABCABC+加法器C=126基本元素減法器加適當(dāng)電路即為比較器:Overflow=1:A<BABCABC-overflowOverflowOverflow=0:A>BC=0:A=B基本元素減法器加適當(dāng)電路即為比較器:Overflow=1127基本元素移位器:在運(yùn)算電路中它主要完成以下基本功能:Q=D×2nABCnQ←乘法器DQ=D÷2nABCnQ→除法器DQ=Q÷2ABC1Q→右移移位寄存器Q=Q×2ABC1Q←左移移位寄存器基本元素移位器:Q=D×2nABCnQ←乘法器DQ128nQmD→m基本元素移位器電路單元框圖:+m選擇器鎖存器nQmD←m-m選擇器鎖存器nQmD→m基本元素移位器電路單元框圖:+m選擇器鎖存器nQ129基本元素移位器實(shí)際電路(4bit):基本元素移位器實(shí)際電路(4bit):130基本元素移位器仿真結(jié)果:左移右移基本元素移位器仿真結(jié)果:左移右移131基本元素移位寄存器:移位器的特例;是運(yùn)行速度最快的電路;它可實(shí)現(xiàn)連續(xù)乘2或除2的運(yùn)算;實(shí)際的運(yùn)算電路中最常使用;在電路實(shí)現(xiàn)過程中,較多的情況是固定的乘以或除以2的N次方,如何實(shí)現(xiàn)??基本元素移位寄存器:132基本元素選擇器:在運(yùn)算電路中大量使用選擇器完成運(yùn)算功能;由于數(shù)字電路的特征,選擇器在電路中相當(dāng)于完成階越函數(shù)的功能;硬件描述語言中的列表、分支語句在電路實(shí)現(xiàn)上大部分都翻譯成選擇器?;驹剡x擇器:133基本元素加法器/減法器/比較器移位器/移位寄存器選擇器基本元素加法器/減法器/比較器134簡單運(yùn)算電路乘法器:A×B=C用4bit電路為例C= A×B[0]+A×2×B[1]+A×4×B[2]+A×8×B[3] x2x4x8xxxx+B1B0B2B3AC簡單運(yùn)算電路乘法器:C= A×B[0]x2x4x8135簡單運(yùn)算電路實(shí)際電路:簡單運(yùn)算電路實(shí)際電路:136簡單運(yùn)算電路實(shí)際波形:簡單運(yùn)算電路實(shí)際波形:137簡單運(yùn)算電路該電路的速度較慢,一般使用時(shí)需要多級流水線,我們比較以下使用流水線的對速度的影響:0F=31.44MHzT=31.8ns6F=125.0MHzT=8ns2F=67.11MHzT=14.9ns4F=97.08MHzT=10.3ns8F=125.0MHzT=8ns1F=40.98MHzT=24.4ns簡單運(yùn)算電路該電路的速度較慢,一般使用時(shí)需要多級流水線,我們138簡單運(yùn)算電路循環(huán)運(yùn)算的乘法器:C= A×B[0]+A×2×B[1]+A×4×B[2]+A×8×B[3] x←→+CntABStartCEnd簡單運(yùn)算電路循環(huán)運(yùn)算的乘法器:C= A×B[0]x139簡單運(yùn)算電路實(shí)際電路:簡單運(yùn)算電路實(shí)際電路:140簡單運(yùn)算電路實(shí)際波形:簡單運(yùn)算電路實(shí)際波形:141簡單運(yùn)算電路除法器:是乘法器的逆運(yùn)算,所以我們從乘法入手分析如何實(shí)現(xiàn);簡單運(yùn)算電路除法器:142簡單運(yùn)算電路實(shí)際電路:簡單運(yùn)算電路實(shí)際電路:143簡單運(yùn)算電路仿真波形:由于在電路運(yùn)算時(shí)有大量的進(jìn)位和運(yùn)算,所以該電路運(yùn)算速度較慢,一般情況我們可以在每一級的計(jì)算過程中加入觸發(fā)器,以改善電路的運(yùn)行頻率。簡單運(yùn)算電路仿真波形:由于在電路運(yùn)算時(shí)有大量的進(jìn)位和運(yùn)算,所144簡單運(yùn)算電路加了觸發(fā)器的除法器單元電路:檢查仿真波形;如何讓電路產(chǎn)生數(shù)據(jù)計(jì)算完成標(biāo)志;如何加快電路的運(yùn)算效率;簡單運(yùn)算電路加了觸發(fā)器的除法器單元電路:檢查仿真波形;145簡單運(yùn)算電路除法器:在數(shù)字電路的實(shí)現(xiàn)中,為了節(jié)省資源,除法器一般情況都是使用循環(huán)運(yùn)算法?!?DFFNotCnt→ABCStartEndMod簡單運(yùn)算電路除法器:→-DFFNotCnt→ABCStart146簡單運(yùn)算電路實(shí)際電路:簡單運(yùn)算電路實(shí)際電路:147簡單運(yùn)算電路仿真波形:簡單運(yùn)算電路仿真波形:148簡單運(yùn)算電路平方根電路:平方根電路是平方電路的逆運(yùn)算,我們先從一個(gè)數(shù)的平方入手:簡單運(yùn)算電路平方根電路:149簡單運(yùn)算電路電路實(shí)現(xiàn):仿真波形:簡單運(yùn)算電路電路實(shí)現(xiàn):仿真波形:150簡單運(yùn)算電路有流水線的平方根電路仿真:簡單運(yùn)算電路有流水線的平方根電路仿真:151復(fù)雜運(yùn)算電路計(jì)算在電路實(shí)現(xiàn)中,可能會(huì)遇到一些復(fù)雜的運(yùn)算電路,一般可以采用以下方法:循環(huán)運(yùn)算法;級數(shù)分解法;查表法;查表/修正法;…復(fù)雜運(yùn)算電路計(jì)算在電路實(shí)現(xiàn)中,可能會(huì)遇到一些復(fù)雜的運(yùn)算電路,152數(shù)據(jù)流處理數(shù)據(jù)流處理基本方法起始位置數(shù)據(jù)流處理數(shù)據(jù)流處理基本方法153數(shù)據(jù)流處理基本方法數(shù)據(jù)流的基本特征是數(shù)據(jù)結(jié)構(gòu)重復(fù)的周期性出現(xiàn);由于數(shù)據(jù)結(jié)構(gòu)重復(fù)出現(xiàn),所以每段數(shù)據(jù)的處

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論