課程設計---基于可編程器件的多路選擇器_第1頁
已閱讀1頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  數(shù)字電子技術基礎</b></p><p><b>  課程設計報告書</b></p><p>  題目:基于可編程器件的多路選擇器</p><p><b>  目錄</b></p><p>  背景和設計目的···&

2、#183;····································

3、;·····</p><p>  設計背景···························

4、··························</p><p>  設計目的······&

5、#183;····································

6、;··········</p><p>  EDA技術的簡介·····················&#

7、183;·······················</p><p>  EDA技術的概念········

8、;····································

9、83;···</p><p>  EDA技術的特點····························

10、····················</p><p>  VHDL語言的簡介···········&#

11、183;································</p><p>  V

12、HDL語言的概念···································&#

13、183;···········</p><p>  VHDL語言的特點···················

14、3;···························</p><p>  VHDL語言的設計流程···

15、3;····································&#

16、183;··</p><p>  16選1設計的實現(xiàn)過程····························&#

17、183;········</p><p>  1、 16選1的主要功能······················

18、;·······················</p><p>  2、 函數(shù)真值表········

19、····································

20、3;······</p><p>  3、 硬件設計(電路圖)························&

21、#183;···················</p><p>  4、 軟件編程···········

22、83;····································&

23、#183;····</p><p>  5、 系統(tǒng)調(diào)試··························

24、83;··························</p><p>  6、 附錄·····&

25、#183;····································

26、;···············</p><p>  7、 小組成員與負責的任務···············&

27、#183;·························</p><p>  8、 參考文獻·····

28、83;····································&

29、#183;··········</p><p>  多路選擇器(16選1)的設計</p><p>  摘要 數(shù)據(jù)選擇器是常用的組合邏輯部件之一。它由組合邏輯電路對數(shù)字信號進行控制來完成比較復雜的邏輯功能。數(shù)據(jù)選擇是指經(jīng)過選擇,把多個通道的數(shù)據(jù)傳送到唯一的公共數(shù)據(jù)通道上去。它的功能相當于一個多

30、個輸入的單刀多擲開關.因此數(shù)據(jù)選擇器又稱多路轉換器或多路開關。數(shù)據(jù)選擇器(MUX)的邏輯功能是在控制輸入端加上適當?shù)男盘?,既可從多個輸入數(shù)據(jù)源中講所需的數(shù)據(jù)信號選擇出來,送到輸出端。</p><p>  關鍵詞 組合邏輯電路;Maxplus II;VHDL語言;EDA設計;多路選擇器。</p><p><b>  背景和設計目的</b></p><

31、;p><b>  1、設計背景</b></p><p>  在電子技術飛速發(fā)展的今天,人類正跨入信息時代。從計算機到GSM移動電話,從家用娛樂使用的VCD、HDTV數(shù)字電視到軍用雷達、醫(yī)用CT儀器等設備,數(shù)字化技術比比皆是,涉及通信、國防、航天、醫(yī)學、工業(yè)自動化、計算機應用、儀器儀表等領域。數(shù)字系統(tǒng)的使用已經(jīng)成為構成現(xiàn)代電子系統(tǒng)的重要標志。</p><p>  

32、隨著微電子技術的發(fā)展,設計與制造集成電路的任務已不完全由半導體廠商獨立承擔可編程邏輯器件是一種半定制邏輯器件,它為用戶最終把自己所設計的邏輯電路直接寫入到芯片上提供了物質基礎,而不必由芯片制造廠商去設計和制作專用集成電路,可以避免定制芯片帶來的存在設計風險、制造周期較長、成本高等問題。</p><p>  可編程器件的出現(xiàn),給數(shù)字系統(tǒng)的設計方法帶來了革命性的變化。通過定義器件內(nèi)部的邏輯和輸入輸出端口,將原來由電路

33、板設計完成的大部分工作放在芯片設計中進行。這樣不僅可以通過芯片設計實現(xiàn)各種數(shù)字邏輯電路功能,而且由于引出端定義的靈活,大大減輕了電路圖設計和電路板設計的工作和難度,從而有效地增強了設計的靈活性,提高了工作效率。</p><p><b>  2、設計目的</b></p><p>  本次設計的目的就是通過實踐掌握數(shù)字電路的分析方法和設計方法,了解EDA技術和Maxplu

34、s II軟件并掌握VHDL硬件描述語言的設計方法和思想。以數(shù)字電路為指導,通過學習的VHDL語言結合電子電路的設計知識理論聯(lián)系實際,掌握所學的課程知識和基本單元電路的綜合設計應用。</p><p>  通過此次16選1選擇器課程設計的制作,熟悉掌握Maxpuls II軟件的使用方法以及程序編寫的基本功能,同時掌握用數(shù)據(jù)選擇器實現(xiàn)多路信號的分時傳送,實現(xiàn)組合邏輯函數(shù)的方法。</p><p>

35、<b>  EDA技術的簡介</b></p><p>  1、EDA技術的概念</p><p>  EDA是電子設計自動化(Electronic Design Automation)的縮寫,在20世紀90年代初從計算機輔助設計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發(fā)展而來的。EDA技術就是以計算機為工具,設計者在

36、EDA軟件平臺上,用硬件描述語言HDL完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。由于它是一門剛剛發(fā)展起來的新技術,涉及面廣,內(nèi)容豐富,理解各異。從EDA技術的幾個主要方面的內(nèi)容來看,可以理解為:EDA技術是以大規(guī)??删幊踢壿嬈骷樵O計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達方式,以計算機、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系

37、統(tǒng)為設計工具,通過有關的開發(fā)軟件,自動完成用軟件的方式設計電子系統(tǒng)到硬件系統(tǒng)的一門新技術。</p><p>  2、EDA技術的特點</p><p>  采用可編程器件,通過設計芯片來實現(xiàn)系統(tǒng)功能。采用硬件描述語言作為設計輸入和庫(LibraLy)的引入,由設計者定義器件的內(nèi)部邏輯和管腳,將原來由電路板設計完成的大部分工作故在芯片的設計中進行。由于管腳定義的靈活性,大大減輕了電路圖設計和電

38、路板設計的工作量和難度,有效增強了設計的靈活性,提高了工作效率。并且可減少芯片的數(shù)量,縮小系統(tǒng)體積,降低能源消耗,提高了系統(tǒng)的性能和可靠性。能全方位地利用計算機自動設計、仿真和調(diào)試。</p><p><b>  VHDL語言的簡介</b></p><p>  1、VHDL語言的概念</p><p>  VHDL語言是一種用于電路設計的高級語言。

39、它在80年代的后期出現(xiàn)。最初是由美國國防部開發(fā)出來供美軍用來提高設計的可靠性和縮減開發(fā)周期的一種使用范圍較小的設計語言。但是,由于它在一定程度上滿足了當時的設計需求,于是他在1987年成為A I/IEEE的標準(IEEE STD 1076-1987)。1993年更進一步修訂,變得更加完備,成為A I/IEEE的A I/IEEE STD 1076-1993標準。目前,大多數(shù)的CAD廠商出品的EDA軟件都兼容了這種標準。VHDL的英文全寫是

40、:VHSIC(Very High eed Integrated Circuit)Hardware Descriptiong Language.翻譯成中文就是超高速集成電路硬件描述語言。因此它的應用主要是應用在數(shù)字電路的設計中。</p><p>  2、VHDL語言的特點</p><p>  VHDL是一種用普通文本形式設計數(shù)字系統(tǒng)的硬件描述語言,主要用于描述數(shù)字系統(tǒng)的結構、行為、功能和接口

41、,可以在任何文字處理軟件環(huán)境中編輯。除了含有許多具有硬件特征的語句外,其形式、描述風格及語法十分類似于計算機高級語言。VHDL程序將一項工程設計項目(或稱設計實體)分成描述外部端口信號的可視部分和描述端口信號之間邏輯關系的內(nèi)部不可視部分,這種將設計項目分成內(nèi)、外兩個部分的概念是硬件描述語言(HDL)的基本特征。當一個設計項目定義了外部界面(端口),在其內(nèi)部設計完成后,其他的設計就可以利用外部端口直接調(diào)用這個項目。VHDL的主要特點如下:

42、</p><p>  1). 作為HDL的第一個國際標準,VHDL具有很強的可移植性。</p><p>  2). 具有豐富的模擬仿真語句和庫函數(shù),隨時可對設計進行仿真模擬,因而能將設計中的錯誤消除在電路系統(tǒng)裝配之前,在設計早期就能檢查設計系統(tǒng)功能的可行性,有很強的預測能力。</p><p>  3). VHDL有良好的可讀性,接近高級語言,容易理解。</p&

43、gt;<p>  4). 系統(tǒng)設計與硬件結構無關,方便了工藝的轉換,也不會因工藝變化而使描述過時。</p><p>  5). 支持模塊化設計,可將大規(guī)模設計項目分解成若干個小項目,還可以把已有的設計項目作為一個模塊調(diào)用。</p><p>  6). 對于用VHDL完成的一個確定設計,可以利用EDA工具進行邏輯綜合和優(yōu)化,并能自動地把VHDL描述轉變成門電路級網(wǎng)表文件。<

44、;/p><p>  7). 設計靈活,修改方便,同時也便于設計結果的交流、保存和重用,產(chǎn)品開發(fā)速度快,成本低。</p><p>  3、VHDL語言的設計流程</p><p>  它主要包括以下幾個步驟:</p><p><b>  1).文本編輯:</b></p><p>  用任何文本編輯器都可以

45、進行,也可以用專用的HDL編輯環(huán)境。通常VHDL文件保存為.vhd文件,Verilog文件保存為.v文件。</p><p>  2).使用編譯工具編譯源文件。</p><p><b>  3).功能仿真:</b></p><p>  將文件調(diào)入VHDL仿真軟件進行功能仿真,檢查邏輯功能是否正確(也叫前仿真,對簡單的設計可以跳過這一步,只在布線完

46、成以后,進行時序仿真)</p><p><b>  4).邏輯綜合:</b></p><p>  將源文件調(diào)入邏輯綜合軟件進行綜合,即把語言綜合成最簡的布爾表達式。邏輯綜合軟件會生成.edf或.edif 的EDA工業(yè)標準文件。</p><p><b>  5).布局布線:</b></p><p> 

47、 將.edf文件調(diào)入PLD廠家提供的軟件中進行布線,即把設計好的邏輯安放PLD/FPGA內(nèi)。</p><p><b>  6).時序仿真:</b></p><p>  需要利用在布局布線中獲得的精確參數(shù),用仿真軟件驗證電路的時序。(也叫后仿真) 通常以上過程可以都在PLD/FPGA廠家提供的開發(fā)工具。</p><p>  四、16選1設計的實現(xiàn)

48、過程</p><p>  1、16選1的主要功能</p><p>  數(shù)據(jù)選擇器是常用的組合邏輯部件之一。它由組合邏輯電路對數(shù)字信號進行控制來完成比較復雜的邏輯功能。它有若干個數(shù)據(jù)輸入端D0、D1、....,若干個控制輸入端A0、A1,......和一個輸出端Y0。數(shù)據(jù)選擇是指經(jīng)過選擇,把多個通道的數(shù)據(jù)傳送到唯一的公共數(shù)據(jù)通道上去。它的功能相當于一個多個輸入的單刀多擲開關.因此數(shù)據(jù)選擇器又

49、稱多路轉換器或多路開關。數(shù)據(jù)選擇器(MUX)的邏輯功能是在控制輸入端加上適當?shù)男盘?,既可從多個輸入數(shù)據(jù)源中講所需的數(shù)據(jù)信號選擇出來,送到輸出端。</p><p><b>  2、函數(shù)真值表 </b></p><p>  說明:A,B,C,D為輸入地址,Y為輸出端,其中具體輸出情況如上圖所示。</p><p>  3、硬件設計(電路圖)</

50、p><p>  16選1數(shù)據(jù)選擇器設計原理圖如下:</p><p>  說明:圖中A、B、C、D是地址輸入端,通過給定的A、B、C、D的輸入狀態(tài),便可以從16個輸入數(shù)據(jù)中選中一個,經(jīng)過或門輸出。例如我們給“ABCD”賦值為“0110”時,則選中第6個數(shù)據(jù),這是因為其他15個數(shù)據(jù)輸入不管輸入值是多少在“ABCD”四個地址輸入信號作用下數(shù)值均為0,最后經(jīng)過或門輸出第6個數(shù)據(jù),如果它是“1”則輸出“

51、1”,如果它是“0”則輸出“0”。</p><p><b>  4、軟件編程</b></p><p>  (1)工程管理,創(chuàng)建工程。</p><p> ?。?)VHDL文本語言設計輸入</p><p>  (3)程序的編譯以及運行界面</p><p><b> ?。?)編譯成功</

52、b></p><p> ?。?)打開波形編輯器窗口,建立波形運行文件</p><p> ?。?)進入波形仿真界面</p><p><b> ?。?)波形仿真運行</b></p><p><b> ?。?)波形仿真結果</b></p><p>  (9)程序清單以及必要的

53、模塊注釋</p><p>  library ieee; //使IEEE庫可見</p><p>  use ieee.std_logic_1164.all; //調(diào)用IEEE庫中的程序包</p><p>  entity xuanzeqi is //建立名為xuanzeqi的實體</p><p&g

54、t;  port(shurushuju:instd_logic_vector(15 downto 0);//端口說明</p><p>  A,B,C,D:instd_logic; //進入實體的信號的名稱ABCD和它們的數(shù)據(jù)類型</p><p>  Y: out std_logic ); //離開實體的信號名稱Y以及其數(shù)據(jù)類型</p><p>

55、  end xuanzeqi ; //定義實體結束</p><p>  architecture jiegouti of xuanzeqi is //建立名為jiegouti的結構體</p><p>  signal xinhaoming :std_logic_vector(3 downto 0); //結構體信號說明</p><p>&

56、lt;b>  begin</b></p><p>  xinhaoming<=B&A&C&D; //信號的代入賦值</p><p>  process(shurushuju,xinhaoming)//在process中封裝</p><p><b>  b

57、egin</b></p><p>  if (xinhaoming="0000")then Y<=shurushuju(0);//以下為并行處理語句</p><p>  elsif (xinhaoming="0001")then Y<=shurushuju(1);</p><p>  elsi

58、f (xinhaoming="0010")then Y<=shurushuju(2);</p><p>  elsif (xinhaoming="0011")then Y<=shurushuju(3);</p><p>  elsif (xinhaoming="0100")then Y<=shurushuju(4

59、);</p><p>  elsif (xinhaoming="0101")then Y<=shurushuju(5);</p><p>  elsif (xinhaoming="0110")then Y<=shurushuju(6);</p><p>  elsif (xinhaoming="0111&

60、quot;)then Y<=shurushuju(7);</p><p>  elsif (xinhaoming="1000")then Y<=shurushuju(8);</p><p>  elsif (xinhaoming="1001")then Y<=shurushuju(9);</p><p>  

61、elsif (xinhaoming="1010")then Y<=shurushuju(10);</p><p>  elsif (xinhaoming="1011")then Y<=shurushuju(11);</p><p>  elsif (xinhaoming="1100")then Y<=shurus

62、huju(12);</p><p>  elsif (xinhaoming="1101")then Y<=shurushuju(13);</p><p>  elsif (xinhaoming="1110")then Y<=shurushuju(14);</p><p>  elsif (xinhaoming=&q

63、uot;1111")then Y<=shurushuju(15);</p><p>  else Y<='Z';</p><p><b>  end if;</b></p><p>  end process; //進程執(zhí)行結束</p><p><b

64、>  5、系統(tǒng)調(diào)試</b></p><p>  自從得到題目后,我們便開始著手代碼的編寫。我們小組首先從學習使用VHDL開始,學習了解了什么是庫、結構體、函數(shù)、賦值語句以及怎么去正確地建立并且使用它們。整個小組共同進步,互相幫助,受益匪淺。我們碰到的問題主要有以下幾個:(1)當我們打開new界面并且選中Text Editor file寫入程序,然后按“保存”進入Save As界面,直接按OK。可

65、是程序怎么也編譯不過去。后來經(jīng)過分析才知道我們應該修改File name為工程名+.vhd。(2)程序編譯運行后我們發(fā)現(xiàn)彈出的對話框中有錯誤提示。經(jīng)過檢查發(fā)現(xiàn)原來我們錯誤地把“elsif”寫成了“else if”。(3)當我們點擊MAX+plus并且選中Simulator后,出現(xiàn)了“缺少.SCF文件”的錯誤提示,后來我們才知道在進行方針之前應該先進行保存,這樣才會生成波形仿真所必需的文件。現(xiàn)在16選1選擇器的設計已全部完成,能夠完成預期

66、的功能,在本課題的設計中體現(xiàn)了VHDL覆蓋面廣,描述能力強,是一個多層次的硬件描述語言及PLD器件速度快,使用方便,便于修改等特點。在這一周里我們再次熟悉和增強了對VHDL語言的基本知識,熟悉利用VHDL語言對</p><p><b>  6、附錄</b></p><p><b>  設計的程序清單:</b></p><p&g

67、t;  libraryieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  entityxuanzeqi is</p><p>  port(shurushuju:instd_logic_vector(15 downto 0);</p><p>  A,B,C,D:instd_logic

68、;</p><p>  Y: out std_logic );</p><p>  endxuanzeqi ;</p><p>  architecturejiegouti of xuanzeqi is</p><p>  signalxinhaoming :std_logic_vector(3 downto 0);</p>&

69、lt;p><b>  begin</b></p><p>  xinhaoming<=B&A&C&D;</p><p>  process(shurushuju,xinhaoming)</p><p><b>  begin</b></p><p>  if

70、 (xinhaoming="0000")then Y<=shurushuju(0);</p><p>  elsif (xinhaoming="0001")then Y<=shurushuju(1);</p><p>  elsif (xinhaoming="0010")then Y<=shurushuju(

71、2);</p><p>  elsif (xinhaoming="0011")then Y<=shurushuju(3);</p><p>  elsif (xinhaoming="0100")then Y<=shurushuju(4);</p><p>  elsif (xinhaoming="0101

72、")then Y<=shurushuju(5);</p><p>  elsif (xinhaoming="0110")then Y<=shurushuju(6);</p><p>  elsif (xinhaoming="0111")then Y<=shurushuju(7);</p><p> 

73、 elsif (xinhaoming="1000")then Y<=shurushuju(8);</p><p>  elsif (xinhaoming="1001")then Y<=shurushuju(9);</p><p>  elsif (xinhaoming="1010")then Y<=shurush

74、uju(10);</p><p>  elsif (xinhaoming="1011")then Y<=shurushuju(11);</p><p>  elsif (xinhaoming="1100")then Y<=shurushuju(12);</p><p>  elsif (xinhaoming=&qu

75、ot;1101")then Y<=shurushuju(13);</p><p>  elsif (xinhaoming="1110")then Y<=shurushuju(14);</p><p>  elsif (xinhaoming="1111")then Y<=shurushuju(15);</p>

76、<p>  else Y<='Z';</p><p><b>  end if;</b></p><p>  end process;</p><p>  endjiegouti;</p><p><b>  設計的函數(shù)電路圖:</b></p><

溫馨提示

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

評論

0/150

提交評論