《Verilog HDL數(shù)字系統(tǒng)設(shè)計-原理、實例及仿真》課件第7章_第1頁
《Verilog HDL數(shù)字系統(tǒng)設(shè)計-原理、實例及仿真》課件第7章_第2頁
《Verilog HDL數(shù)字系統(tǒng)設(shè)計-原理、實例及仿真》課件第7章_第3頁
《Verilog HDL數(shù)字系統(tǒng)設(shè)計-原理、實例及仿真》課件第7章_第4頁
《Verilog HDL數(shù)字系統(tǒng)設(shè)計-原理、實例及仿真》課件第7章_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章門電路設(shè)計與實現(xiàn)7.1基本門電路7.2組合門電路7.3三態(tài)門電路7.4雙向總線緩沖器

7.1基?本?門?電?路

基本門電路包括與門、或門、非門。表7.1是二輸入與門、或門和非門的真值表。采用VerilogHDL實現(xiàn)數(shù)字電路時可以采用結(jié)構(gòu)化、數(shù)據(jù)流和行為描述三種方式。

代碼7.1中的basic_gate1、basic_gate2和basic_gate3分別是采用這三種方式實現(xiàn)基本門的VerilogHDL代碼,gate是頂層模塊。

【代碼7.1】基本門電路的三種描述方法。將輸入的代碼7.1內(nèi)容保存為gate.v文件,對工程經(jīng)過全編譯后,可以選擇Tools→NetlistViewer→RTLViewer查看源代碼實現(xiàn)綜合布局布線之前的RTL結(jié)構(gòu)(不是最終的電路結(jié)構(gòu)),如圖7.1(a)所示。圖7.1幾種描述方式的TRL圖比較圖7.1中的(b)和(c)是將頂層模塊gate中的basic_gate1分別替換為basic_gate2、basic_gate3時生成的RTL圖。

從圖7.1(a)、(b)和(c)中可以看出,采用結(jié)構(gòu)化描述、數(shù)據(jù)流描述和行為描述方法綜合后的RTL結(jié)構(gòu)是一樣的。因此我們在設(shè)計電路時,可以根據(jù)需要選擇方便的描述方式編寫模塊代碼。通常,設(shè)計簡單電路常采用數(shù)據(jù)流描述方式,設(shè)計復(fù)雜電路常采用行為描述方式,在進行多模塊連接時可采用結(jié)構(gòu)化描述方式。

gate模塊的功能仿真結(jié)果如圖7.2所示。圖7.2基本門電路的功能仿真結(jié)果從圖7.2中可以看出,輸入信號i_a和i_b、與門輸出o_and、非門輸出o_not、或門輸出o_or的邏輯功能完全正確。

gate模塊的時序仿真結(jié)果如圖7.3所示。圖7.3基本門電路的時序仿真結(jié)果

7.2組?合?門?電?路

組合門電路是可以實現(xiàn)多種基本邏輯運算的電路。常用的組合門電路有與非門、或非門、與或非門、異或門和同或門等。

表7.2是二輸入與非門、或非門、異或門和同或門的真值表。表中未列出與或非門的邏輯真值,請讀者自己分析。

【代碼7.2】實現(xiàn)與非門、或非門、異或門和同或門電路的VerilogHDL描述。

com_gate模塊的功能仿真結(jié)果如圖7.4所示。信號o_n_and、o_n_or、o_xor、o_n_xor分別是輸入信號ia和ib的與非門、或非門、異或門和同或門的輸出。圖7.4組合門電路的功能仿真結(jié)果

7.3三態(tài)門電路

三態(tài)門電路是在普通門電路的基礎(chǔ)上增加了控制端(使能端)的控制電路,輸出可以有低電平、高電平和高阻抗三種狀態(tài)。圖7.5是三態(tài)門的邏輯電路符號,圖(a)所示三態(tài)門電路在EN為高電平時,F(xiàn)=A,因此稱為高電平有效的三態(tài)門電路;圖(b)所示電路在EN為低電平時,F(xiàn)=A,因此稱為低電平有效的三態(tài)門電路。當(dāng)三態(tài)門處于高阻狀態(tài)時相當(dāng)于開路。高電平有效的三態(tài)門邏輯真值表見表7.3。圖7.5三態(tài)門電路邏輯符號常用的三態(tài)門還有三態(tài)非門、三態(tài)與非門等。三態(tài)門常用于計算機中設(shè)備掛接在總線的緩沖電路。三態(tài)門可以用VerilogHDL內(nèi)部的基本門級元件實現(xiàn),也可以用數(shù)據(jù)流描述方式實現(xiàn)。VerilogHDL內(nèi)部的三態(tài)門元件有bufif0、bufif1、notif0和notif1四種(見5.1.1節(jié))。

【代碼7.3】實現(xiàn)三態(tài)門電路的VerilogHDL描述。

其對應(yīng)的功能仿真波形如圖7.6所示。圖7.6三態(tài)門電路的功能仿真波形

7.4雙向總線緩沖器

在數(shù)字電路中,總線緩沖器主要用于將設(shè)備與總線互連。常用的緩沖器有單向和雙向兩種。例如,一個8位的單向緩沖器可以實現(xiàn)從A端到B端的單向數(shù)據(jù)傳送,需要8個三態(tài)門,并將這8個三態(tài)門的控制段連接在一起由一個共同的使能信號來進行控制。一個8位的雙向緩沖器是指能夠?qū)崿F(xiàn)從A端到B端或從B端到A端的雙向數(shù)據(jù)傳送,因此需要16個三態(tài)門,8個門用于實現(xiàn)A端到B端的數(shù)據(jù)傳送,另外8個門用于實現(xiàn)從B端到A端的數(shù)據(jù)傳送。圖7.7是8位雙向總線緩沖器的邏輯符號。表7.4是雙向總線緩沖器的真值表。圖7.78位雙向總線緩沖器的邏輯符號實現(xiàn)雙向數(shù)據(jù)傳輸?shù)目偩€緩沖器可以用圖7.8來表示,其中的dir是數(shù)據(jù)傳送方向的控制信號,bus_a、bus_b分別表示A、B兩端的數(shù)據(jù)信號。代碼7.4是一個8位雙向總線數(shù)據(jù)緩沖器的VerilogHDL描述。圖7.8雙向總線緩沖器的內(nèi)部結(jié)構(gòu)

【代碼7.4】一個8位雙向總線緩沖器的VerilogHDL描述。由于inout類型的信號仿真時與單端口信號不同,因此這里編寫了VerilogVH

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論