




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)一 加法器的設(shè)計(jì)與實(shí)現(xiàn)實(shí)驗(yàn)項(xiàng)目二:簡(jiǎn)單計(jì)算器設(shè)計(jì)與實(shí)現(xiàn)基1.本要能求夠:實(shí)現(xiàn)加減運(yùn)算2. 能夠?qū)崿F(xiàn)乘法運(yùn)算 擴(kuò)展要求:1. 能夠?qū)崿F(xiàn)除法運(yùn)算一、實(shí)驗(yàn)?zāi)康睦迷Z句完成一個(gè) 8 位加法器的 設(shè)計(jì)。二、實(shí)驗(yàn)環(huán)境Quartus II 開發(fā)系統(tǒng)三、實(shí)驗(yàn)內(nèi)容1、掌握層次化設(shè)計(jì)的方法;2、掌握一位全加器工作原理;3、掌握用VHDL文本輸入法設(shè)計(jì)電子線路的 詳細(xì)流程;4、掌握元件例化語句用法;5、熟悉軟硬件設(shè)計(jì)驗(yàn)證方法。四、實(shí)驗(yàn)過程設(shè)計(jì)思想:8位二進(jìn)制加法器可以由 8 個(gè)全加器通過級(jí)聯(lián) 的方式構(gòu)成。根據(jù)全加器級(jí)聯(lián)的原理,用 VHDL 設(shè)計(jì)一個(gè) 8 位二進(jìn)制數(shù)的加法器, 可以先設(shè)計(jì)一 個(gè)一位全加器,
2、然后利用一位全加器采用元件例 化的方式實(shí)現(xiàn)加法器。實(shí)驗(yàn)步驟:1、設(shè)計(jì)一個(gè)全加器新建工程,建立源文件,輸入VHDL設(shè)計(jì)文件, 如下圖所示:行完成設(shè)仿真件輸是仿真存果所件進(jìn)由圖可知仿真結(jié)果正確。2、元件例化把VHDL設(shè)計(jì)文件轉(zhuǎn)為原理圖中使用的元件。 在文件菜單File 中選擇Creat/Update 選項(xiàng),單 擊 Create Symbol File for Current File選項(xiàng),系統(tǒng)自動(dòng)生成相應(yīng)的元件標(biāo)號(hào)。重復(fù)新建文件的操作,選擇 Block Diagram/Schmatic File 選項(xiàng),新建一個(gè)原理圖 文件,在添加元件列表中可以看到自動(dòng)生成的元 件,選擇full_adder這個(gè)元件
3、添加到原理圖中, 如下圖所示:3、完成頂層圖的設(shè)計(jì)用生成的元件標(biāo)號(hào),完成頂層圖的設(shè)計(jì)。這 里有兩種方法,一種是直接用原理圖設(shè)計(jì),根據(jù) 原理圖設(shè)計(jì)工具的使用方法,完成頂層文件的設(shè) 計(jì),這個(gè)方法比較復(fù)雜,所以這里選擇另一種方 法,通過VHDL設(shè)計(jì)文件。繼續(xù)建立源文件,輸入 VHDL設(shè)計(jì)文件,如下 圖所示:依照上述步驟,保存文件,對(duì)文件進(jìn)行編譯、 仿真,以下是仿真結(jié)果,如圖所示:五、實(shí)驗(yàn)總結(jié)本次實(shí)驗(yàn)的目的是設(shè)計(jì)一個(gè) 8位二進(jìn)制加法 器,而8位二進(jìn)制加法器可以由8個(gè)全加器通過 級(jí)聯(lián)的方式構(gòu)成。根據(jù)全加器級(jí)聯(lián)的原理,用 VHDL設(shè)計(jì)一個(gè)8 位二進(jìn)制數(shù)的加法器,可以先設(shè)計(jì)一個(gè)一位全加 器,然后利用一位全加
4、器采用元件例化的方式實(shí) 現(xiàn)加法器??偨Y(jié)實(shí)驗(yàn)過程中遇到的各種問題,問題產(chǎn)生 的原因,解決方法,分析仿真結(jié)果,驗(yàn)證 8位加 法器設(shè)計(jì)的是否正確。根據(jù)實(shí)驗(yàn)設(shè)計(jì)思路,我先用 VHDL設(shè)計(jì)了一個(gè) 全加器full_adder.vhd,編譯、仿真成功后,通過元件例化的方式,采用原理圖設(shè)計(jì)了一個(gè)8位的加法器adder8.bdf,但是在這個(gè)過程中出 現(xiàn)了很多問題,即由于我是把這個(gè)8位的加法器 的每個(gè)全加器元件輸入輸出引腳分開的,因此一開始就設(shè)計(jì)了 17個(gè)輸入引腳,這使得我在給輸 入引腳添加信號(hào)時(shí)不知道添加什么信號(hào), 才能夠 起到驗(yàn)證仿真結(jié)果是否正確的目的。另外,我在這里還遇到了一些其他問題,由 于在建立原理圖文
5、件 adder8.bdf 以后沒有將該 原理圖文件設(shè)置成頂層文件, 這使得我在給輸入 引腳添加信號(hào)時(shí)無法添加引腳。 這里還存在一個(gè) 問題:當(dāng)通過原理圖設(shè)計(jì) 8位加法器時(shí), 我不知 道能不能把它當(dāng)著一個(gè)整體,即 3輸入 2 輸出。 另外,怎么通過在原理圖設(shè)計(jì)里面把這一思想表 示出來。由于通過原理圖設(shè)計(jì)無法完成 8 位加法器的 設(shè)計(jì),所以我又換了 VHDL設(shè)計(jì)。通過VHDL設(shè)計(jì) 比原理圖設(shè)計(jì)簡(jiǎn)單, 但是更容易出錯(cuò), 比如輸入 引腳、中間信號(hào)生成等的不匹配。建立VHDL源文件以后,保存為adder8.vhd 文件名,編譯、仿真,但是由于我是將 8 位加法 器當(dāng)成的一個(gè)整體, 即 3輸入 2 輸出,并
6、且在端 口定義時(shí)我所定義的數(shù)據(jù)類型為邏輯矢量, 因此 這里又出現(xiàn)一個(gè)問題, 即在仿真時(shí)給輸入信號(hào)添 加信號(hào)時(shí)不能確定到底應(yīng)該怎么添加, 并且其中 間信號(hào)無法確定。 不過后來在老師的指導(dǎo)下, 我 明白了錯(cuò)誤根源在哪里。在對(duì) 8 位的加法器進(jìn)行仿真時(shí),一開始我是 用的時(shí)序仿真, 這里就出現(xiàn)一個(gè)問題, 即仿真結(jié) 果為未知, 但是換用功能仿真的時(shí)候, 其結(jié)果就 是正確的, 不指導(dǎo)是什么原因。 還有另外一個(gè)問 題,即我在將 adder8.vhd 文件設(shè)置為頂層文件 以后, 并沒有進(jìn)行編譯就開始仿真, 這使得我在 給引腳添加信號(hào)時(shí)始終也找不到輸入信號(hào), 不過 好在面意識(shí)到了這個(gè)問題。在本次實(shí)驗(yàn)過程中,雖然
7、出現(xiàn)了很多問題, 但正是因?yàn)樵诓僮鬟^程中發(fā)現(xiàn)了很多問題并且 通過對(duì)這些問題的解決,我對(duì) Quartus II 7.0 開發(fā)系統(tǒng)環(huán)境也有了更深入的了解和認(rèn)識(shí)。每一次發(fā)現(xiàn)錯(cuò)誤,都是一個(gè)新的進(jìn)步,比起 上次實(shí)驗(yàn)課,我覺得自己在操作動(dòng)手能力方面 又有了提升,至少現(xiàn)在看到一個(gè)問題的時(shí)候, 能 夠明白是什么問題, 能夠知道該怎么去問, 該怎 么去解決它。所以說,無論干什么,但凡是要想 真正學(xué)一門知識(shí), 都要自己去摸索, 只有自己親 自動(dòng)手去做了,才能夠真正深入地認(rèn)識(shí)和了解 它,才能夠?qū)W到自己想要的東西。另外,在學(xué)習(xí) 的過程中, 還要掌握技巧, 我覺得在這方面自己 就很欠缺,因此,以后一定要注意,努力培養(yǎng)這
8、 方面的能力。實(shí)驗(yàn)六 乘法器的設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、了解乘法器的工作原理。2、了解復(fù)雜時(shí)序電路的設(shè)計(jì)流程二、實(shí)驗(yàn)原理及內(nèi)容實(shí)驗(yàn)原理 設(shè)計(jì)一個(gè)能進(jìn)行兩個(gè)十進(jìn)制數(shù)的乘法器, 乘數(shù)和 被乘數(shù)的輸入用開關(guān) K1K10 代表 09,用編碼 器對(duì)數(shù)據(jù)開關(guān)進(jìn)行編碼, 設(shè)置相乘信號(hào), 當(dāng)輸入 完畢后, 相乘信號(hào)有效, 使輸入的乘數(shù)送進(jìn)寄存 器寄存。在輸入被乘數(shù)。 設(shè)計(jì)等于信號(hào)。 當(dāng)輸入 完畢后。啟動(dòng)乘法模塊。實(shí)驗(yàn)內(nèi)容1、設(shè)計(jì)一個(gè)能進(jìn)行兩個(gè)十進(jìn)制數(shù)相乘的乘法器, 乘數(shù)和被乘數(shù)均小于100。(可以參考教材231 頁的VHDL代碼來設(shè)計(jì))2、對(duì)所編寫的電路進(jìn)行編譯及正確的仿真。三、實(shí)驗(yàn)條件Quartus II實(shí)驗(yàn)環(huán)境
9、四、實(shí)驗(yàn)及仿真頂層文件如下:該器件multi對(duì)乘法過程進(jìn)行時(shí)序控制。Clk為時(shí)鐘信號(hào);IStart控制乘法器的開始;Endd控制乘法器結(jié)束;Clr起到復(fù)位作用;Ca用來控制乘數(shù)移位寄存器(74194)的移位 功能,在乘法器進(jìn)行移位相加的過程中進(jìn)行移 位;CbO、cb1用來控制被乘數(shù)移位寄存器(74194) 的移位功能,在乘法器進(jìn)行移位相加的過程中進(jìn) 行移位;Cm0、cm1控制八位移位寄存器(74198)的 移位功能,使得和乘數(shù)與被乘數(shù)的移位相一致; 編碼如下 ;library ieee;use ieee.std_logic_1164.all;entity multi isport(start:
10、in std_logic; i4:in std_logic; bi:in std_logic; clk:in std_logic; endd:out std_logic; clr:out std_logic; ca:out std_logic; cb1:out std_logic; cb0:out std_logic;cm1:out std_logic;cm0:out std_logic;cc:out std_logic);end multi;architecture multi_architecture of multi issignal current_state,next_state:b
11、it_vector(1 downto 0);constant s0:bit_vector(1 downto 0):="00" constant s1:bit_vector(1 downto 0):="01" constant s2:bit_vector(1 downto 0):="10" constant s3:bit_vector(1 downto 0):="11" begincom1:process(current_state,start,i4)begincase current_state iswhen s0
12、=>if(start='1')then next_state<=s1;else next_state<=s0;end if;when s1=>next_state<=s2;when s2=>next_state<=s3;when s3=>if(i4='1')then next_state<=s0; else next_state<=s2; end if;end case;end process com1; com2:process(current_state,bi) begincase current_
13、state iswhen s0=>endd<='1'clr<='1'ca<='0'cb1<='0'cb0<= '0'cm1<='0'cm0<='0'cc<='0'when s1=>endd<='0'clr<='0'ca<='1'cb1<='1'cb0<= '1'cm1<='0'c
14、m0<='0'cc<='0'when s2=>if(bi='1')thenendd<='0'clr<='1'ca<='0'cb1<='0'cb0<='0' cm1<='1'cm0<='1'cc<='1'else endd<='0'clr<='1'ca<='0'cb1<='0
15、39;cb0<='0' cm1<='0'cm0<='0'cc<='1'end if;when s3=>endd<='0'clr<='1'ca<='0'cb1<='0'cb0<= '1'cm1<='0'cm0<='1'cc<='0'end case;end process com2;reg:process(clk)beginif clk='1'and clk'event then current_state<=next_state; end if;end process reg;end multi_ar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物業(yè)管理系統(tǒng)開發(fā)合作協(xié)議
- 農(nóng)業(yè)科技推廣應(yīng)用案例分析
- 維修服務(wù)委托合同
- 金融產(chǎn)品開發(fā)合作協(xié)議
- 旅游行業(yè)游客安全與責(zé)任免除合同
- 學(xué)生自制動(dòng)漫電影小感悟
- 昆蟲記的讀后感
- 食品營養(yǎng)與健康功能性食品知識(shí)點(diǎn)題集
- 寵物行業(yè)智能門店與健康管理方案
- 市場(chǎng)營銷策略效果評(píng)估表格模板(行業(yè)A)
- 并聯(lián)有源電力濾波器工程應(yīng)用關(guān)鍵技術(shù)的研究的開題報(bào)告
- 跨文化語境下的國家形象塑造與傳播以中國《國家形象》宣傳片為例
- 志愿服務(wù)與志愿者精神知識(shí)考試題庫大全(含答案)
- 工業(yè)機(jī)器人應(yīng)用基礎(chǔ) 教案(教學(xué)設(shè)計(jì)) 模塊二-任務(wù)二-ABB工業(yè)機(jī)器人編程基礎(chǔ)
- 文創(chuàng)產(chǎn)品設(shè)計(jì):文創(chuàng)產(chǎn)品設(shè)計(jì)與創(chuàng)新
- 麻醉復(fù)蘇護(hù)理進(jìn)修匯報(bào)
- 小學(xué)語文《文學(xué)閱讀與創(chuàng)意表達(dá)》
- 醫(yī)保定點(diǎn)納入預(yù)測(cè)性研究的報(bào)告
- 手術(shù)講解模板單側(cè)腎切除術(shù)
- 五年級(jí)下冊(cè)道德與法治課件第三單元《百年追夢(mèng)復(fù)興中華》單元梳理部編版
- 大學(xué)體育-武術(shù)散打-教案
評(píng)論
0/150
提交評(píng)論