

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《VLSI設(shè)計(jì)基礎(chǔ)》課程設(shè)計(jì)報(bào)告</p><p> 班 級(jí): 電子10-02班</p><p> 學(xué) 號(hào): 1006040208</p><p><b> 姓 名: </b></p><p><b> 指導(dǎo)教師: </b></p>
2、<p><b> 8位移位寄存器設(shè)計(jì)</b></p><p><b> 一、設(shè)計(jì)要求 </b></p><p> 1.查閱書(shū)籍資料,根據(jù)題目要求確定電路結(jié)構(gòu); </p><p> 2.明確電路實(shí)現(xiàn)的功能;</p><p> 3.明確電路中端口的數(shù)目、所聯(lián)接的信號(hào)類型以及工作時(shí)序
3、;</p><p> 4.采用Modelsim、Quartus II、Altium designer 中的任一種軟件,基于Verilog或VHDL語(yǔ)言設(shè)計(jì)綜合設(shè)計(jì)題目中電路,實(shí)現(xiàn)功能仿真。 </p><p><b> 二、設(shè)計(jì)目的 </b></p><p> 1.培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)獨(dú)立完成課題的工作能力,為畢業(yè)設(shè)計(jì)打好基</p
4、><p><b> 礎(chǔ);</b></p><p> 2.培養(yǎng)學(xué)生從文獻(xiàn)和調(diào)查研究中獲取知識(shí)的能力,提高學(xué)生從別人經(jīng)驗(yàn),從</p><p> 其他學(xué)科找到解決問(wèn)題的新途徑的悟性;</p><p> 3.培養(yǎng)學(xué)生綜合運(yùn)用本專業(yè)基本理論、基本知識(shí)和基本技能的能力,使學(xué)生</p><p> 獲得從事
5、本專業(yè)工程技術(shù)工作的基本訓(xùn)練; </p><p> 4.培養(yǎng)學(xué)生勇于探索,嚴(yán)謹(jǐn)推理,實(shí)事求是,用實(shí)踐來(lái)檢驗(yàn)理論、全方位地</p><p> 考慮問(wèn)題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì); </p><p> 5.提高學(xué)生對(duì)工作認(rèn)真負(fù)責(zé)、一絲不茍,對(duì)同學(xué)友愛(ài)團(tuán)結(jié)、協(xié)作攻關(guān),對(duì)新</p><p> 事物能潛心考察,勇于開(kāi)拓,勇于實(shí)踐的基本素質(zhì)。&l
6、t;/p><p><b> 三、設(shè)計(jì)的具體實(shí)現(xiàn)</b></p><p><b> 1.電路概述 </b></p><p> 此電路由8個(gè)4選1數(shù)據(jù)選擇器、8個(gè)帶異步清零的D觸發(fā)器組成。所有的數(shù)據(jù)選擇器編碼端分別對(duì)應(yīng)地接在一起,同時(shí)選擇D觸發(fā)器的信號(hào)數(shù)據(jù)來(lái)源。D觸發(fā)器時(shí)鐘端CP接一起,清零端也同樣接在一起,這樣可以保證級(jí)聯(lián)
7、D觸發(fā)器的同步,和并行輸出數(shù)據(jù)的清零。另,每個(gè)D觸發(fā)器的輸出對(duì)應(yīng)一位并行輸入。Dsr是右移串行數(shù)據(jù)輸入端,Dsl是左移串行數(shù)據(jù)輸入端,分別接最低有效位對(duì)應(yīng)的數(shù)據(jù)選擇器和最高有效位對(duì)應(yīng)的數(shù)據(jù)選擇器。</p><p> 圖3 8位雙向移位寄存器</p><p> 表2 8位雙向移位寄存器真值表</p><p> 2. 設(shè)計(jì)綜合電路 </p>&l
8、t;p><b> 設(shè)計(jì)流程</b></p><p> 編寫(xiě)源代碼。打開(kāi)QuartusII軟件平臺(tái),點(diǎn)擊File中得New建立一個(gè)文件。編寫(xiě)的文件名與實(shí)體名一致,點(diǎn)擊File/Save as以“.vhd”為擴(kuò)展名存盤(pán)文件;</p><p> 按照實(shí)驗(yàn)箱上FPGA的芯片名更改編程芯片的設(shè)置。操作是點(diǎn)擊Assign/Device,選取芯片的類型;</p&g
9、t;<p> 編譯與調(diào)試。確定源代碼文件為當(dāng)前工程文件,點(diǎn)擊Complier進(jìn)行文件編譯。編譯結(jié)果有錯(cuò)誤或警告,則將要調(diào)試修改直至文件編譯成功;</p><p> 波形仿真及驗(yàn)證。在編譯成功后,點(diǎn)擊Waveform開(kāi)始設(shè)計(jì)波形。點(diǎn)擊“insert the node”,按照程序所述插入節(jié)點(diǎn)。</p><p> 時(shí)序仿真。將波形區(qū)域分段顯示,如每個(gè)10.0ns重復(fù)一次步驟四
10、,分別設(shè)置不同的a,b的輸入波形,點(diǎn)擊保存按鈕保存,從而得出相應(yīng)的結(jié)果,最后形成完整的連續(xù)的時(shí)序仿真圖。</p><p><b> 程序源代碼</b></p><p> ENTITY shifter IS</p><p><b> PORT (</b></p><p> data_in
11、: IN STD_LOGIC_VECTOR(7 DOWNTO 0); --輸入的數(shù)據(jù)</p><p> n : IN STD_LOGIC_VECTOR(2 DOWNTO 0); --移位的數(shù)量</p><p> dir : IN STD_LOGIC; --移動(dòng)的方向 0:左 1:右</p><p> ki
12、nd : IN STD_LOGIC_VECTOR(1 DOWNTO 0); </p><p> --移動(dòng)類型 00:算術(shù)移 01:邏輯移 10:循環(huán)移</p><p> clock : IN BIT; --手動(dòng)時(shí)鐘PULSE</p><p> data_out : OUT STD
13、_LOGIC_VECTOR(7 DOWNTO 0) --移位的結(jié)果</p><p><b> );</b></p><p> END shifter;</p><p> ARCHITECTURE behav of shifter IS</p><p><b> BEGIN</b><
14、/p><p> PROCESS (data_in, n, dir, kind) </p><p> VARIABLEx,y : STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p> VARIABLEctrl0,ctrl1,ctrl2 : STD_LOGIC_VECTOR (3 DOWNTO 0);</p><p&g
15、t;<b> BEGIN</b></p><p> IF (clock'EVENT AND clock = '1')THEN --產(chǎn)生控制向量ctrl</p><p> ctrl0 := n(0) & dir & kind(1) & kind(0);</p><p>
16、ctrl1 := n(1) & dir & kind(1) & kind(0);</p><p> ctrl2 := n(2) & dir & kind(1) & kind(0);</p><p> CASE ctrl0 IS</p><p> WHEN "0000" | "0001
17、" | "0010" | "0100" | "0101" | "0110"=> x := data_in; </p><p> --n=0時(shí)不移動(dòng)WHEN "1000" => x := data_in(6 DOWNTO 0) & data_in(0); --算術(shù)左移1位 &
18、lt;/p><p> WHEN "1001" => x := data_in(6 DOWNTO 0) & '0'; --邏輯左移1位 </p><p> WHEN "1010" => x := data_in(6 DOWNTO 0) & data_in(7); --循環(huán)左移
19、1位</p><p> WHEN "1100" => x := data_in(7) & data_in(7 DOWNTO 1); --算術(shù)右移1位 </p><p> WHEN "1101" => x := '0' & data_in(7 DOWNTO 1); --邏
20、輯右移1位 </p><p> WHEN "1110" => x := data_in(0) & data_in(7 DOWNTO 1); --循環(huán)右移1位</p><p> WHEN others => null;</p><p><b> END CASE;</b></p>
21、;<p> CASE ctrl1 IS </p><p> WHEN "0000" | "0001" | "0010" | "0100" | "0101" | "0110" => y := x;</p><p><b&g
22、t; --n=0時(shí)不移動(dòng)</b></p><p> WHEN "1000" => y := x(5 DOWNTO 0) & x(0) & x(0); --算術(shù)左移2位 </p><p> WHEN "1001" => y := x(5 DOWNTO 0) & "00&q
23、uot;; --邏輯左移2位 </p><p> WHEN "1010" => y := x(5 DOWNTO 0) & x(7 DOWNTO 6); --循環(huán)左移2位</p><p> WHEN "1100" => y := x(7) & x(7) & x(7 DOWNT
24、O 2); --算術(shù)右移2位 </p><p> WHEN "1101" => y := "00" & x(7 DOWNTO 2); --邏輯右移2位 </p><p> WHEN "1110" => y := x(1 DOWNTO 0) & x(7
25、DOWNTO 2); --循環(huán)右移2位</p><p> WHEN others => null;</p><p><b> END CASE;</b></p><p> CASE ctrl2 IS</p><p> WHEN "0000" | "0001"
26、| "0010" | "0100" | "0101" | "0110"=> data_out <= y; </p><p><b> --n=0時(shí)不移動(dòng)</b></p><p> WHEN "1000" => data_out <= y(3
27、DOWNTO 0) & y(0) & y(0) & y(0) & y(0); </p><p> --算術(shù)左移4位 </p><p> WHEN "1001" => data_out <= y(3 DOWNTO 0) & "0000"; --邏輯左移4位 </p>&
28、lt;p> WHEN "1010" | "1110" => data_out <= y(3 DOWNTO 0) & y(7 DOWNTO 4); </p><p> --循環(huán)左(右)移4位</p><p> WHEN "1100" => data_out <= y(7) & y(
29、7) & y(7) & y(7) & y(7 DOWNTO 4); </p><p><b> --算術(shù)右移4位 </b></p><p> WHEN "1101" => data_out <= "0000" & y(7 DOWNTO 4); --邏輯右移4位
30、 </p><p> WHEN others => null;</p><p> END CASE; </p><p><b> END IF;</b></p><p> END PROCESS;</p><p> END behav;</p>
31、<p><b> 編譯過(guò)程、調(diào)試結(jié)果</b></p><p><b> 3.仿真 </b></p><p> 時(shí)序仿真過(guò)程及仿真結(jié)果</p><p> 多次實(shí)驗(yàn)后比以前更熟悉軟件,所以運(yùn)行時(shí)序仿真功能的過(guò)程也較為順利。雖然把波段為50ns,但從截圖中還是可以看出,輸出信號(hào)較輸入信有時(shí)間差,即電路信號(hào)通過(guò)門(mén)
32、電路時(shí)還是有延遲的現(xiàn)象。設(shè)置為算數(shù)移(kind=00),每次都移動(dòng)一位(n=001),前半部分選定右移(dir=1)后半部分選定左移(dir=0),可以清楚地看到功能的實(shí)現(xiàn)。</p><p> 功能仿真過(guò)程及仿真結(jié)果</p><p> 完成時(shí)序仿真之后在Assignment的Settings中選定仿真類型為Function(功能仿真),對(duì)波形圖進(jìn)行保存然后運(yùn)行,即生成功能仿真圖。從圖中
33、可以看到,延遲現(xiàn)象得到解決,各個(gè)波段輸入對(duì)應(yīng)輸出更加清楚。在時(shí)序仿真中弄不太明白的clock的作用也在這里得到解決:clock=1左/右移功能實(shí)現(xiàn),clock=0功能未執(zhí)行,輸出保留為上一個(gè)波段的結(jié)果。</p><p><b> 四、結(jié)論與展望 </b></p><p> 通過(guò)這次的實(shí)驗(yàn),我移位寄存器無(wú)論從功能還是原理方面都有了較為系統(tǒng)的了解和學(xué)習(xí)。這次實(shí)驗(yàn)沒(méi)有給
34、現(xiàn)成的代碼,不過(guò)在網(wǎng)上可以找到對(duì)應(yīng)的源代碼,而且源代碼附著較為詳細(xì)的注釋,方便了我的學(xué)習(xí)。找到源代碼之后的編譯、仿真部分因?yàn)槭炷苌?,都較為順利。但一開(kāi)始仿真時(shí)候波段的值沒(méi)有選好,亂七八糟的找不到對(duì)比,這對(duì)理解分析功能造成了一定的困惑。多次重復(fù)試驗(yàn)之后,終于畫(huà)出來(lái)可以幫助我更好理解左/右移意義的仿真圖。雖然有點(diǎn)繁瑣,但是所幸有所收獲。</p><p><b> 五、心得體會(huì)及建議</b>&
35、lt;/p><p> 通過(guò)此次課程設(shè)計(jì),使我更加扎實(shí)的掌握了有關(guān)8位移位寄存器的知識(shí),在設(shè)計(jì)過(guò)程中雖然遇到了一些問(wèn)題,但經(jīng)過(guò)一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,這也讓我們發(fā)現(xiàn)了自身的不足。在課程設(shè)計(jì)過(guò)程中,我們不斷發(fā)現(xiàn)錯(cuò)誤,不斷改正,不斷領(lǐng)悟,不斷獲齲最終的檢測(cè)調(diào)試環(huán)節(jié),本身就是在踐行“過(guò)而能改,善莫大焉”的知行觀。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多問(wèn)題,最后在老師的指導(dǎo)下,終于迎刃而
36、解。在今后社會(huì)的發(fā)展和學(xué)習(xí)實(shí)踐過(guò)程中,一定要不懈努力,不能遇到問(wèn)題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問(wèn)題所在,然后一一進(jìn)行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上劈荊斬棘,而不是知難而退,那樣永遠(yuǎn)不可能收獲成功,收獲喜悅,也永遠(yuǎn)不可能得到社會(huì)及他人對(duì)你的認(rèn)可!課程設(shè)計(jì)誠(chéng)然是一門(mén)專業(yè)課,給我很多專業(yè)知識(shí)以及專業(yè)技能上的提升,同時(shí)又是一門(mén)講道課,一門(mén)辯思課,給了我許多道,給了我很多思,給了我莫大的空間。同時(shí),設(shè)計(jì)讓我感觸很
37、深。使我對(duì)抽象的理論有了具體的認(rèn)識(shí)。通過(guò)這次課程設(shè)計(jì),我掌握了常用元件的識(shí)別和測(cè)試,熟悉了常用儀器、儀表,了解了電路的連線方法,以及如何提高電路的性能等等,掌握了焊</p><p> 回顧起此課程設(shè)計(jì),至今我仍感慨頗多,從理論到實(shí)踐,在這段日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)
38、合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,但可喜的是最終都得到了解決。實(shí)驗(yàn)過(guò)程中,也對(duì)團(tuán)隊(duì)精神的進(jìn)行了考察,讓我們?cè)诤献髌饋?lái)更加默契,在成功后一起體會(huì)喜悅的心情。果然是團(tuán)結(jié)就是力量,只有互相之間默契融洽的配合才能換來(lái)最終完美的結(jié)果。此次設(shè)計(jì)也讓我明白了思路即出路,有什么不懂不明
39、白的地方要及時(shí)請(qǐng)教或上網(wǎng)查詢,只要認(rèn)真鉆研,動(dòng)腦思考,動(dòng)手實(shí)踐,就沒(méi)有弄不懂的知識(shí),收獲頗豐。</p><p><b> 六、參考文獻(xiàn) </b></p><p> [1]康華光.電子技術(shù)基礎(chǔ)數(shù)字部分[M].北京:高等教育出版社, 2006</p><p> [2]趙艷華,曹丙霞,張睿.基于Quartus II的FPGA/CPLD設(shè)計(jì)與應(yīng)用
40、[M].北京:電子工業(yè)出版社, 2009</p><p> [3]周潤(rùn)景,蘇良碧.基于Quartus II的數(shù)字系統(tǒng)Verilog HDL設(shè)計(jì)實(shí)例詳解[M].北京:電子工業(yè)出版社,2010</p><p> [4]喬廬峰,王志功.Verilog HDL數(shù)字系統(tǒng)設(shè)計(jì)與驗(yàn)證[M].北京:電子工業(yè)出版社,2009</p><p> [5]何賓.EDA原理及Veril
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 移位寄存器
- 74hc164是8位移位寄存器
- 設(shè)計(jì)8位雙向移位寄存器電路
- 移位寄存器型彩燈控制器課程設(shè)計(jì)
- 8位串入并出移位寄存器電路的設(shè)計(jì)
- eda課程設(shè)計(jì)---串入并出移位寄存器
- 雙向移位寄存器
- 實(shí)驗(yàn)5 移位寄存器設(shè)計(jì)
- 移位寄存器71669
- 移位寄存器66874
- 移位寄存器70889
- eda課程設(shè)計(jì)報(bào)告---串入并出移位寄存器
- 移位寄存器66798
- 移位寄存器的設(shè)計(jì)與實(shí)現(xiàn)
- 移位寄存器66934
- 移位寄存器66762
- 移位寄存器及其應(yīng)用
- 線性反饋移位寄存器
- 集成移位寄存器應(yīng)用實(shí)驗(yàn)
- 移位寄存器及應(yīng)用
評(píng)論
0/150
提交評(píng)論