EDA筆記(9)--基本邏輯電路

目錄

一.譯碼器和編碼器的設計

1.電路設計思路

2.VHDL程序設計--3線-8線譯碼器(高電平有效)

3.設計總結擴展

1.譯碼器

2.編碼器

二.選擇器和驅動電路的設計

1.選擇器--電路設計思路

2.選擇器--VHDL程序設計

3.選擇器--設計總結拓展

1.驅動電路--電路設計思路

2.驅動電路--VHDL程序設計

3.驅動電路--設計總結擴展

三.觸發器和寄存器的設計

1.電路設計思路

2.VHDL程序設計

3.設計總結與擴展

四.計數器電路的設計

1.電路設計思路

2.VHDL程序設計

3.設計總結與擴展

五.分頻電路的設計

1.電路設計思路

1.分頻電路的含義

2.分頻電路的本質

3.分配電路的設計

2.VHDL程序的設計

3.設計總結與擴展

六.FIFO存儲器電路設計

1.電路設計思路

2.VHDL程序設計

3.設計總結與擴展


一.譯碼器和編碼器的設計

1.電路設計思路

1.譯碼器和編碼器,都是用來將一種信息代碼轉換成另一種信息代碼的電路,只是功能恰好相反。
譯碼器,是把輸入的特定數碼的含義“翻譯”出來,給出對應的一系列輸出信號的電路。
編碼器,將選定的一系列二值代碼,賦予每個代碼以固定的含義的電路。對於二進制編碼器,就是將2N個分離的信息代碼,以N個二進制碼來表示。
2.譯碼器和編碼器的設計,我們可根據給定的條件,使用IF條件語句或CASE選擇語句等順序語句進行轉換,也可使用條件信號賦值語句或選擇信號賦值語句等並行語句進行轉換。還可使用預先給定一個初始的信息,再進行各種變換。

2.VHDL程序設計--3線-8線譯碼器(高電平有效)

跳轉鏈接:

3.設計總結擴展

1.譯碼器

2.編碼器

編碼器需先根據輸入信號的位數,確定編碼器的輸出位數,然後,根據需要進行相應的編碼。
對於優先編碼器,主要用於控制,只要出現了某個優先級高的信號,不管其它信號是否出現,這時就要輸出一個特定的編碼,也就是根據該編碼信號還原譯碼後,要執行1個特定的操作。
3.其實編碼器也可看成是壓縮電路,譯碼器也可看成解壓縮電路。傳送數據前,先用編碼器壓縮數據後再傳送出去,接受端則由譯碼器將數據解壓縮,還原原來的內容。

二.選擇器和驅動電路的設計

1.選擇器--電路設計思路

選擇器常用於多路信號的切換或多路數據的選擇。因此選擇器的設計,主要是根據選擇控制信號的不同,在多路信號或多路數據中,選擇其中的1路信號或1路數據輸出。
具體使用的VHDL語句,常用的有IF條件語句和CASE選擇語句等。

2.選擇器--VHDL程序設計

跳轉鏈接:

3.選擇器--設計總結拓展

1.選擇器常用於多路信號的切換或多路數據的選擇。其中用於多路信號的切換的選擇器,其輸入和輸出均是1位,而用於多路數據切換的選擇器,其輸入和輸出都是N位。
2.選擇器的設計,其控制信號的位數,決定於輸入信號的多少,如果輸入信號爲N位,控制信號爲M根,則2^M=N。

1.驅動電路--電路設計思路

1.三態門和總線緩衝器是驅動電路經常用到的器件。三態門電路的輸出,包括高電平、低電平、高阻態三種。
在微型計算機的總線驅動中經常要用單向總線緩衝器,它通常由多個三態門組成,用來驅動地址總線和控制總線。雙向總線緩衝器用於數據總線的驅動和緩衝,典型的雙向總線緩衝器有兩個數據輸入/輸出端A和B、一個方向控制端DIR和一個選通端EN。EN=0時雙向緩衝器選通。若DIR=0,則A=B;反之則B=A。
2.對於三態門和總線緩衝器的設計,主要是根據控制信號的不同,輸出對應的值。因此可使用IF條件語句和CASE選擇語句描述。

2.驅動電路--VHDL程序設計

跳轉鏈接:

3.驅動電路--設計總結擴展

1.總線緩衝器,具有多功能,通過增加控制信號,利用不同的值實現多功能。
2.對於多功能硬件電路的設計,在電路內部,每一個功能具有一個相應的硬件與其對應,只是封裝後對外而言具有多功能。

三.觸發器和寄存器的設計
 

1.電路設計思路

1.觸發器,就是能夠存儲1位二值信號的基本單元電路。觸發器的基本操作,就是每當時鐘信號上升沿或下降沿到來時,將保存在輸入端的1位數據輸出到輸出端。它包括基本R-S觸發器、D觸發器、JK觸發器、T觸發器等。
2.寄存器用於寄存一組二值代碼,可用N個觸發器組成的寄存器能儲存一組N位的二值代碼。寄存器的基本操作,就是每當時鐘信號上升沿或下降沿到來時,將寄存在輸入端的N位數據輸出到輸出端。

3.移位寄存器除了具有存儲代碼的功能以外,還具有移位功能。因此,移位寄存器不但可以用來寄存代碼,還可用來實現數據的串/並轉換、數值的運算以及數據處理等。
4.觸發器與寄存器(鎖存器)的區別,就是數據的位數不一樣。在實際的觸發器和寄存器的設計中,根據需要,可能需要加上覆位、置位、初始輸入等功能。

2.VHDL程序設計

跳轉鏈接:

3.設計總結與擴展

1.觸發器和寄存器(鎖存器),都是具有存儲功能的電路,設計的基本方法是相同的。觸發器與寄存器(鎖存器)的區別,就是數據的位數不一樣,觸發器是1位,寄存器是N位。
2.在觸發器和寄存器(鎖存器)的實際設計中,除了具備基本的寄存功能外,根據需要,可能需要加上覆位、置位、初始輸入、數據傳輸、移位等功能。
3.觸發器和寄存器(鎖存器)的設計的基本功能,就是使用進程來描述,在進程內部,主要是使用IF條件語句和CASE選擇語句來描述。如果滿足某個條件,則執行相應的操作。

四.計數器電路的設計

1.電路設計思路

1.計數器是在數字系統中使用最多的時序電路,它不僅能用於對時鐘脈衝計數,還可以用於定時、分頻、產生節拍脈衝和脈衝序列以及進行數字運算等。
2.計數器的設計,其基本操作包括2個:一個是計數操作;一個是進位控制。
根據需要可增加復位、置位、賦初值等操作。
3.計數操作和進位控制,都可以使用進程來實現。其中計數又分爲正常計數和邊界處理,正常計數是進行加1操作或加N操作;邊界處理則進行清零。

2.VHDL程序設計

跳轉鏈接:

3.設計總結與擴展

1.對於計數範圍超過4位2進制的計數器,爲了簡化設計和便於顯示譯碼,一般可分解爲一系列10以內進制的計數器級聯而成。
2.對於進位輸出的控制,有時會產生毛刺,這時可增加1個同步控制時鐘信號條件去毛刺。
3.對於具有多功能的計數器,就是在原有計數控制條件的基礎上,增加相應的控制條件,控制條件的位數,需要根據功能的多少來決定。假若位數爲N,功能爲M,則2^N=M.

五.分頻電路的設計

1.電路設計思路

1.分頻電路的含義


在基於EDA技術的數字電路系統設計中,分頻電路應用得十分廣泛,常常使用分頻電路來得到數字系統中各種不同頻率的控制信號。所謂分頻電路,就是將一個給定的頻率較高的數字輸入信號,經過適當的處理後,產生一個或數個頻率較低的數字輸出信號。

2.分頻電路的本質

計算出分頻常數N後,分頻電路本質上是計數器的變種,其計數值由分頻常數N=Fin/Fout 決定,其輸出不是一般計數器的計數結果,而是根據分頻常數對輸出信號的高、低電平進行控制的。

3.分配電路的設計

如果已知分頻電路分頻前後的頻率,則可計算出分頻常數N
如果分頻信號對佔空比有要求,那麼根據佔空比RATE我們可算出Nh。
分頻電路的設計方法:
(1)如果分頻信號對佔空比沒要求,則分頻器可按如下方法設計:
控制信號的產生:輸入信號的每個上升沿到來時,進行加1操作,一直計數到N-1爲止。
輸出的控制:根據控制信號的產生結果,輸出低電平或高電平。

2.VHDL程序的設計

跳轉鏈接:

3.設計總結與擴展

六.FIFO存儲器電路設計

1.電路設計思路

半導體存儲器的種類很多,從功能上可以分爲只讀存儲器(簡稱ROM)和隨機存儲器(簡稱RAM)兩大類。具有先進先出存儲規則的讀寫存儲器,又稱爲先進先出棧(FIFO)。

FIFO是先進先出棧,作爲數據緩衝器,通常其數據存放結構完全與RAM一致,只是存取方式有所不同,也就是相當於1個數據通道,先存進的數據,先讀出去。

作爲FIFO的設計,它包括數據的寫操作、數據的寫地址修改、數據寫滿控制,數據的讀操作、數據的讀地址修改、數據讀空控制,因此可用6個進程來描述對應的操作。

2.VHDL程序設計

跳轉鏈接:

3.設計總結與擴展

1.存儲器的設計,首先應確定存儲單元的數據位數(N)、存儲單元的個數/深度(D)、存儲器尋址的地址根數(M)。其中D=2^M。
2.存儲器的數據類型,本質上就是一個二維數組,可理解成一個具有N位數據,有D個單元的二維數組。

3.存儲器的存儲操作,實際上就是根據給定的地址,找到對應的存儲單元,再將外部端口的有關數據存入指定的存儲單元,或將指定單元的數據送到外部端口

4.存儲器進行存取操作時,需要給出存取地址。存取地址可能每一次操作進行加減1操作,也可能是根據特定的存取操作規律進行加減N操作
5.可讀可寫存儲器,要注意讀空或寫滿的問題,這時可設定控制標誌進行區分。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章