實(shí)驗(yàn)一 一位二進(jìn)制全加器設(shè)計(jì)實(shí)驗(yàn)_第1頁(yè)
實(shí)驗(yàn)一 一位二進(jìn)制全加器設(shè)計(jì)實(shí)驗(yàn)_第2頁(yè)
實(shí)驗(yàn)一 一位二進(jìn)制全加器設(shè)計(jì)實(shí)驗(yàn)_第3頁(yè)
實(shí)驗(yàn)一 一位二進(jìn)制全加器設(shè)計(jì)實(shí)驗(yàn)_第4頁(yè)
實(shí)驗(yàn)一 一位二進(jìn)制全加器設(shè)計(jì)實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)一一位二進(jìn)制全加器設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)一一位二進(jìn)制全加器設(shè)計(jì)實(shí)驗(yàn)/NUMPAGES24實(shí)驗(yàn)一一位二進(jìn)制全加器設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)一一位二進(jìn)制全加器設(shè)計(jì)實(shí)驗(yàn)?zāi)喜髮W(xué)實(shí)驗(yàn)報(bào)告學(xué)生姓名:學(xué)號(hào):專業(yè)班級(jí):中興101實(shí)驗(yàn)類型:■驗(yàn)證□綜合□設(shè)計(jì)□創(chuàng)新實(shí)驗(yàn)日期:2012928實(shí)驗(yàn)成績(jī):實(shí)驗(yàn)一一位二進(jìn)制全加器設(shè)計(jì)實(shí)驗(yàn)一.實(shí)驗(yàn)?zāi)康模?)掌握QuartusII的VHDL文本設(shè)計(jì)和原理圖輸入方法設(shè)計(jì)全過(guò)程;(2)熟悉簡(jiǎn)單組合電路的設(shè)計(jì),掌握系統(tǒng)仿真,學(xué)會(huì)分析硬件測(cè)試結(jié)果;熟悉設(shè)備和軟件,掌握實(shí)驗(yàn)操作。二.實(shí)驗(yàn)內(nèi)容與要求(1)在利用VHDL編輯程序?qū)崿F(xiàn)半加器和或門,再利用原理圖連接半加器和或門完成全加器的設(shè)計(jì),熟悉層次設(shè)計(jì)概念;(2)給出此項(xiàng)設(shè)計(jì)的仿真波形;(3)參照實(shí)驗(yàn)板1K100的引腳號(hào),選定和鎖定引腳,編程下載,進(jìn)行硬件測(cè)試。三.設(shè)計(jì)思路一個(gè)1位全加器可以用兩個(gè)1位半加器及一個(gè)或門連接而成。而一個(gè)1位半加器可由基本門電路組成。(1)半加器設(shè)計(jì)原理能對(duì)兩個(gè)1位二進(jìn)制數(shù)進(jìn)行相加而求得和及進(jìn)位的邏輯電路稱為半加器。或:只考慮兩個(gè)一位二進(jìn)制數(shù)的相加,而不考慮來(lái)自低位進(jìn)位數(shù)的運(yùn)算電路,稱為半加器。圖1為半加器原理圖。其中:a、b分別為被加數(shù)與加數(shù),作為電路的輸入端;so為兩數(shù)相加產(chǎn)生的本位和,它和兩數(shù)相加產(chǎn)生的向高位的進(jìn)位co一起作為電路的輸出。半加器的真值表為表1半加器真值表absoco0000011010101101由真值表可分別寫出和數(shù)so,進(jìn)位數(shù)co的邏輯函數(shù)表達(dá)式為:(1)(2)圖1半加器原理圖(2)全加器設(shè)計(jì)原理除本位兩個(gè)數(shù)相加外,還要加上從低位來(lái)的進(jìn)位數(shù),稱為全加器。圖2全加器原理圖。全加器的真值表如下:表2全加器真值表cabcoso0000000101010010111010001101101101011111其中a為加數(shù),b為加數(shù),c為低位向本位的進(jìn)位,co為本位向高位的進(jìn)位,so為本位和。圖2.全加器原理圖四.實(shí)現(xiàn)方法一:原理圖輸入法設(shè)計(jì)(自己獨(dú)立完成)1.建立文件夾建立自己的文件夾(目錄),如c:\myeda,進(jìn)入Windows操作系統(tǒng)QuartusII不能識(shí)別中文,2.原理圖設(shè)計(jì)輸入打開QuartusII,選菜單File→New,選擇“DeviceDesignFile->BlockDiagram->SchematicFile”項(xiàng)。點(diǎn)擊“OK”,在主界面中將打開“BlockEditor”窗口。(1)放置元件在原理圖編輯窗中的任何一個(gè)空白處雙擊鼠標(biāo)左鍵或單擊右鍵,跳出一個(gè)選擇窗,選擇此窗中的EnterSymbol項(xiàng)輸入元件,出現(xiàn)元件選擇窗口。元件選擇窗口窗口中SymbolLibraries:的路徑c:\Quartus2\max2lib\prim下為基本邏輯元件庫(kù),雙擊之,在SymbolFiles:下出現(xiàn)prim中的所有元件,選中你需要的元件(如:二與門,即and2);或者在SymbolName:中直接輸入元件名稱(and2),單擊OK鍵。你需要的元件(and2)會(huì)出現(xiàn)在原理圖編輯窗中。為了設(shè)計(jì)半加器,分別調(diào)入元件and2、not、xnor、input和output。如果安放相同元件,只要按住CTRL鍵,同時(shí)用鼠標(biāo)拖動(dòng)該元件。(2)添加連線把鼠標(biāo)移到引腳附近,則鼠標(biāo)光標(biāo)自動(dòng)由箭頭變位十字,按住鼠標(biāo)左鍵拖動(dòng),即可畫出連線。然后用鼠標(biāo)分別在input和output的PIN-NAME上雙擊使其變黑色,再用鍵盤分別輸入各引腳名:ain、bin、co和so。(3).保存原理圖單擊File→Saveas…按扭,出現(xiàn)對(duì)話框,選擇自己的目錄(如c:\myeda)、合適名稱保存剛才輸入的原理圖,原理圖的擴(kuò)展名為.bdf,本實(shí)驗(yàn)取名gate.bdf。如圖3所示。圖3一位半加器圖(4)設(shè)置工程文件(Project)方法1選擇FileProjectSetProjecttoCurrentFile,即將當(dāng)前的設(shè)計(jì)文件設(shè)置成工程。方法2如果設(shè)計(jì)文件未打開,選FileProjectName,然后在跳出的ProjectName窗中找到c:\myeda,在其File小窗口中雙擊gate.bdf文件。選擇此項(xiàng)后可以看到窗口左上角顯示出所設(shè)文件路徑的變化。3.選擇目標(biāo)器件單擊Assign→Device,跳出Device窗口,此窗口的DeviceFamily是器件序列欄,首先在此欄中選定目標(biāo)器件對(duì)應(yīng)的序列名,如EPM7128S對(duì)應(yīng)的是MAX7000S系列;EPF10K10對(duì)應(yīng)的是FLEX10K系列等。根據(jù)實(shí)際情況完成器件選擇后(本實(shí)驗(yàn)為Cyclone||系列的EP2C35F672C8),按OK鍵。應(yīng)將此欄下方標(biāo)有ShowonlyFastestSpeedGrades的勾消去,以便顯示出所有速度級(jí)別的器件。4.編譯(Compiler)單擊QuartusII→Compiler,跳出Compiler窗口,此編譯器的功能包括網(wǎng)表文件的提取、設(shè)計(jì)文件的排錯(cuò)、邏輯綜合、邏輯分配、適配(結(jié)構(gòu)綜合)、時(shí)序仿真文件提取和編程下載文件裝配等。單擊Start,開始編譯!如果發(fā)現(xiàn)有錯(cuò),排除錯(cuò)誤后再次編譯。5.包裝元件入庫(kù)。編譯通過(guò)后,單擊File→CreateDefaultSymbol,當(dāng)前文件變成了一個(gè)包裝好的自己的單一元件(半加器:gate),并被放置在工程路徑指定的目錄中以備后用。6.用兩個(gè)半加器及一個(gè)或門連接而成一位全加器我們將上述1~5步的工作看成是完成了的一個(gè)底層元件,并被包裝入庫(kù)。利用已做好的半加器gate,完成原理圖輸入、連線、引腳命名、器件選擇、保存、項(xiàng)目設(shè)置、編譯等過(guò)程,完成頂層項(xiàng)目全加器的設(shè)計(jì)。如圖4所示。圖4全加器的設(shè)計(jì)圖半加器元件gate的調(diào)用與庫(kù)元件的調(diào)用方法一樣。以文件名aaa.bdf存在同一目錄(c:\myeda)中。以下步驟同方法二:7.仿真,測(cè)試項(xiàng)目的正確性8.觀察分析波形9.時(shí)序分析五.VHDL文本輸入法設(shè)計(jì)1.試驗(yàn)程序(程序來(lái)源:自己獨(dú)立編寫)--全加器設(shè)計(jì)的文本輸入法設(shè)計(jì)程序--設(shè)計(jì)人:鄧小嬌--2012年9月26日--1位二進(jìn)制全加器頂層設(shè)計(jì)描述LIBRARYIEEE;ENTITYaaaISPORT(ain,bin,cin:INSTD_LOGIC;--輸入信號(hào)ain為加數(shù),bin為加數(shù),cin為低位向本位的進(jìn)位cout,sum:OUTSTD_LOGIC);--輸出信號(hào):co為本位向高位的進(jìn)位,--so為本位和ENDENTITYaaa;--半加器描述:真值表描述方法LIBRARYIEEE;ENTITYgateISPORT(a,b:INSTD_LOGIC;--a為加數(shù),b也為加數(shù)co,so:OUTSTD_LOGIC);--co為本位向高位進(jìn)位,so為本位和ENDENTITYgate;ARCHITECTUREART4OFgateISSIGNALabc:STD_LOGIC_VECTOR(1DOWNTO0);--定義標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型BEGINabc<=a&b;--a相并b,即a與b并置操作PROCESS(abc)BEGINCASEabcIS--類似于真值表的CASE語(yǔ)句WHEN"00"=>so<='0';co<='0';WHEN"01"=>so<='1';co<='0';WHEN"10"=>so<='1';co<='0';WHEN"11"=>so<='0';co<='1';WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDARCHITECTUREART4;--或門邏輯描述LIBRARYIEEE;ENTITYor2aISPORT(a,b:INSTD_LOGIC;--a.b都為或門的輸入c:OUTSTD_LOGIC);--c為或門的輸出ENDENTITYor2a;ARCHITECTUREoneOFor2aISBEGINc<=aORb;ENDARCHITECTUREone;ARCHITECTUREfd1OFaaaISCOMPONENTgate--調(diào)用半加器聲明語(yǔ)句PORT(a,b:INSTD_LOGIC;co,so:OUTSTD_LOGIC);ENDCOMPONENT;COMPONENTor2aPORT(a,b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALd,e,f:STD_LOGIC;--定義3個(gè)信號(hào)作為內(nèi)部的連接線。BEGINu1:gatePORTMAP(a=>ain,b=>bin,co=>d,so=>e);--例化語(yǔ)句,=>表示信號(hào)連接u2:gatePORTMAP(a=>e,b=>cin,co=>f,so=>sum);u3:or2aPORTMAP(a=>d,b=>f,c=>cout);ENDARCHITECTUREfd1;2.程序說(shuō)明對(duì)于對(duì)數(shù)綜合器來(lái)說(shuō),程序所列的全部程序可以同時(shí)輸入相應(yīng)的EDA軟件進(jìn)行編譯,也能以單獨(dú)的元件模塊分別進(jìn)行編輯、文件存檔、編譯和綜合。程序中共有3個(gè)獨(dú)立的VHDL設(shè)計(jì)模塊即2個(gè)元件模塊和一個(gè)頂層設(shè)計(jì)模塊aaa存檔的文件名最好與對(duì)應(yīng)的VHDL程序的實(shí)體一致如可分別將它們?nèi)∶麨閛r2a.vhdgate.vhd和aaa.vhd。程序的解析如下:(1)作為文件說(shuō)明部分由雙橫線“--”引導(dǎo)了一段注釋語(yǔ)句在VHDL程序的任何一行中雙橫線“--”后的文字都不參加編譯和綜合(2)實(shí)體or2a語(yǔ)句段定義了或門or2a的引腳信號(hào)ab(輸入)和c(輸出)其結(jié)構(gòu)體語(yǔ)句段描述了輸入與輸出信號(hào)間的邏輯關(guān)系,即將輸入信號(hào)ab相或后傳給輸出信號(hào)端c。由此實(shí)體和結(jié)構(gòu)體描述了一個(gè)完整的或門元件,這一描述可以進(jìn)行獨(dú)立編譯、獨(dú)立綜合與存檔,或被其它的電路系統(tǒng)所調(diào)用。(3)實(shí)體gate和結(jié)構(gòu)體ART4描述了一個(gè)如圖1所示的半加器,由其結(jié)構(gòu)體的描述可以看到,它是由一個(gè)與非門、一個(gè)非門、一個(gè)或門和一個(gè)與門連接而成的,其邏輯關(guān)系來(lái)自于半加器真值表(表1)。(4)在全加器接口邏輯即頂層文件的VHDL描述中,根據(jù)圖1右側(cè)的1位二進(jìn)全加器aaa的原理圖,其實(shí)體定義了引腳的端口信號(hào)屬性和數(shù)據(jù)類型。其中,ain和bin分別為兩個(gè)輸入的相加位,cin為低位進(jìn)位輸入,cout為進(jìn)位輸出,sum為1位和輸出。結(jié)構(gòu)體fd1的功能是利用COMPONENT和COMPONENT例化語(yǔ)句將上面由兩個(gè)實(shí)體or2a和gate描述的獨(dú)立器件,按照?qǐng)D1全加器內(nèi)部邏輯原理圖中的接線方式連接起來(lái)。(5)在結(jié)構(gòu)體fd1中,COMPONENTENDCOMPONENT語(yǔ)句結(jié)構(gòu)對(duì)所要調(diào)用的或門和半加器兩個(gè)元件作了聲明(ComponentDeclaration),并由SIGNAL語(yǔ)句定義了三個(gè)信號(hào)d、e和f作為中間信號(hào)轉(zhuǎn)存點(diǎn),以利于幾個(gè)器件間的信號(hào)連接。接下去的PORTMAP()語(yǔ)句稱為元件例化語(yǔ)句(ComponentInstantiation)。所謂例化,在電路板上,相當(dāng)于往上裝配元器件;在邏輯原理圖上,相當(dāng)于從元件庫(kù)中取了一個(gè)元件符號(hào)放在電路原理圖上,并對(duì)此符號(hào)的各引腳進(jìn)行連線。例化也可理解為元件映射或元件連接,MAP是映射的意思。例如由u2指示的語(yǔ)句表示將實(shí)體h_adder描述的元件的引腳信號(hào)a、b、co和so分別連向外部信號(hào)e、cin、f、和sum符號(hào)=>表示信號(hào)連接。(6)由圖1可見,實(shí)體f_adder引導(dǎo)的邏輯描述也是由三個(gè)主要部分構(gòu)成的,即庫(kù)、實(shí)體和結(jié)構(gòu)體。從表面上看來(lái),庫(kù)的部分僅包含了一個(gè)IEEE標(biāo)準(zhǔn)庫(kù)和打開的程序包但實(shí)際上從結(jié)構(gòu)體的描述中可以看出,對(duì)外部的邏輯有調(diào)用的操作,這類似于對(duì)庫(kù)或程序包中的內(nèi)容作了調(diào)用。因此,庫(kù)結(jié)構(gòu)部分還應(yīng)將上面的或門和半加器的VHDL描述包括進(jìn)去,作為工作庫(kù)中的兩個(gè)待調(diào)用的元件。由此可見,庫(kù)結(jié)構(gòu)也是VHDL程序的重要組成部分。圖5.VHDL設(shè)計(jì)基本結(jié)構(gòu)一個(gè)相對(duì)完整的VHDL程序具有如圖9所示的比較固定的結(jié)構(gòu)。即首先是各類庫(kù)及其程序包的使用聲明,包括未以顯式表達(dá)的工作庫(kù)WORK庫(kù)的使用聲明。然后是實(shí)體描述,在這個(gè)實(shí)體中含有一個(gè)或一個(gè)以上的結(jié)構(gòu)體,而在每一個(gè)結(jié)構(gòu)體中可以含有一個(gè)或多個(gè)進(jìn)程,當(dāng)然還可以是其它語(yǔ)句結(jié)構(gòu),例如其它形式的并行語(yǔ)句結(jié)構(gòu),最后是配置說(shuō)明語(yǔ)句結(jié)構(gòu),這個(gè)語(yǔ)句結(jié)構(gòu)在以上給出的示例中沒有出現(xiàn)。配置說(shuō)明主要用于以層次化的方式對(duì)特定的設(shè)計(jì)實(shí)體進(jìn)行元件例化,或是為實(shí)體選定某個(gè)特定的結(jié)構(gòu)體。一個(gè)相對(duì)完整的VHDL程序設(shè)計(jì)構(gòu)建稱為設(shè)計(jì)實(shí)體。六.VHDL文本輸入法設(shè)計(jì)實(shí)驗(yàn)步驟1.新建項(xiàng)目,選擇項(xiàng)目文件夾,輸入工程名稱,添加文件(一般為空),選擇芯片型號(hào),選擇仿真工具(一般為默認(rèn)),最后生成項(xiàng)目。如下圖:圖6.選擇編輯文件圖7新建項(xiàng)目2.新建VHDL文件,輸入設(shè)計(jì)語(yǔ)言,保存時(shí)要注意與工程文件名相同。如下圖:圖8新建VHDL文件保存好后,進(jìn)行綜合編譯,如果有錯(cuò)誤,折回修改。如下圖:圖9綜合編譯4、新建一個(gè).vwf文件,并將其設(shè)為仿真激勵(lì):菜單Assignments->Settings,在左側(cè)選擇SimulationSettings,選擇這里的.vwf文件

設(shè)置為功能仿真:菜單Assignments->Settings,在左側(cè)選擇SimulationSettings,設(shè)置為FunctionalSimulation

生成功能仿真網(wǎng)表:菜單Processing->GenerateFunctionalSimulationNetlist

開始仿真:菜單Processing->StartSimulation如下圖:圖10輸入設(shè)置七.仿真波形分析.如下圖:cin1ain0cin1ain0bin0其他類似不在一一分析cout0sum1經(jīng)過(guò)分析,可知仿真結(jié)果與真值表相同表3真值表cinainbincoutsum0000000101010010111010001101101101011111因此,仿真正確。八.硬件測(cè)試1.Assignments-.>device->圖11硬件選擇引腳鎖定,參照下載實(shí)驗(yàn)板1K100的引腳號(hào)說(shuō)明書,選擇適當(dāng)?shù)囊_,如下圖:圖12引腳設(shè)置2.引腳鎖定后,保存,必須重新進(jìn)行一次全程編譯,編譯通過(guò)后才能編程下載。3.編程下載,用下載線將計(jì)算機(jī)并口和試驗(yàn)箱上的JTAG口接起來(lái),接通電源。選擇Tools—>Programmer菜單,打開programmer窗口。在mode中選中JTAG,將Program/Configure下的笑方框選中圖13編程下載4在開始編程之前,必須正確設(shè)置編程硬件。點(diǎn)擊“HardwareSetup”按鈕,打開硬件設(shè)置口。圖14設(shè)置編程硬件點(diǎn)擊“AddHardware”打開硬件添加窗口,在“Hardwaretype”下拉框中選擇“ByteBlasterMVorByteBlasterII”,“Port”下拉框中選擇“LPT1”,點(diǎn)擊OK按鈕確認(rèn),關(guān)閉HardwareSetup窗

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論