移位寄存器的設(shè)計及實現(xiàn)_第1頁
移位寄存器的設(shè)計及實現(xiàn)_第2頁
移位寄存器的設(shè)計及實現(xiàn)_第3頁
移位寄存器的設(shè)計及實現(xiàn)_第4頁
移位寄存器的設(shè)計及實現(xiàn)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-. z.- - - .可修編 .計算機組成原理課程設(shè)計報告移位存放器的設(shè)計與實現(xiàn)移位存放器的設(shè)計與實現(xiàn)摘要:系統(tǒng)使用EDA技術(shù)設(shè)計了具有移位功能的存放器,采用硬件描述語言VHDL進展設(shè)計,然后進展編程,時序仿真等。軟件基于VHDL語言實現(xiàn)了本設(shè)計的控制功能。本設(shè)計根據(jù)移位存放器的功能設(shè)計了三種不同的存放器:雙向移位存放器、串入串出(SISO)移位存放器、串入并出(SIPO)移位存放器。整個設(shè)計過程簡單,使用方便。功能齊全,精度高,具有一定的開發(fā)價值。關(guān)鍵詞:EDA;VHDL;移位存放器-. z.目錄TOC o 1-3 h z uHYPERLINK l _Toc5041996591 引言 PA

2、GEREF _Toc504199659 h 1HYPERLINK l _Toc5041996601.1課程設(shè)計的目的 PAGEREF _Toc504199660 h 1HYPERLINK l _Toc5041996611.2 課程設(shè)計的內(nèi)容 PAGEREF _Toc504199661 h 1HYPERLINK l _Toc5041996622 EDA、VHDL簡介 PAGEREF _Toc504199662 h 2HYPERLINK l _Toc5041996632.1 EDA簡介 PAGEREF _Toc504199663 h 2HYPERLINK l _Toc5041996642.2VHD

3、L PAGEREF _Toc504199664 h 2HYPERLINK l _Toc5041996652.2.3 VHDL的設(shè)計流程 PAGEREF _Toc504199665 h 3HYPERLINK l _Toc5041996663 移位存放器設(shè)計過程 PAGEREF _Toc504199666 h 4HYPERLINK l _Toc5041996673.1設(shè)計規(guī)劃 PAGEREF _Toc504199667 h 4HYPERLINK l _Toc5041996693.2 各模塊工作原理及設(shè)計 PAGEREF _Toc504199669 h 4HYPERLINK l _Toc504199

4、670移位存放器的工作原理 PAGEREF _Toc504199670 h 4HYPERLINK l _Toc504199671雙向移位存放器的設(shè)計 PAGEREF _Toc504199671 h 4HYPERLINK l _Toc504199672串入串出SISO移位存放器的設(shè)計 PAGEREF _Toc504199672 h 5HYPERLINK l _Toc504199673串入并出SIPO移位存放器的設(shè)計 PAGEREF _Toc504199673 h 7HYPERLINK l _Toc5041996744 系統(tǒng)仿真 PAGEREF _Toc504199674 h 8HYPERLINK

5、 l _Toc5041996754.1雙向移位存放器仿真圖分析 PAGEREF _Toc504199675 h 8HYPERLINK l _Toc5041996764.2串入串出SISO移位存放器仿真圖分析 PAGEREF _Toc504199676 h 8HYPERLINK l _Toc5041996774.3串入并出SIPO移位存放器仿真圖分析 PAGEREF _Toc504199677 h 8HYPERLINK l _Toc504199678完畢語 PAGEREF _Toc504199678 h 10HYPERLINK l _Toc504199679致謝 PAGEREF _Toc5041

6、99679 h 11HYPERLINK l _Toc504199680參考文獻 PAGEREF _Toc504199680 h 12-. z.1 引 言隨著社會的開展,科學(xué)技術(shù)也在不斷的進步。特別是計算機產(chǎn)業(yè),可以說是日新月異,移位存放器作為計算機的一個重要部件,從先前的只能做簡單的左移或右移功能的存放器到現(xiàn)在廣泛應(yīng)用的具有存放代碼、實現(xiàn)數(shù)據(jù)的串行-并行轉(zhuǎn)換、數(shù)據(jù)運算和數(shù)據(jù)處理功能的移位存放器。移位存放器正在向著功能強,體積小,重量輕等方向不斷開展,本設(shè)計主要介紹的是一個基于超高速硬件描述語言VHDL對移位存放器進展編程實現(xiàn)。近年來,集成電路和計算機應(yīng)用得到了高速開展,現(xiàn)代電子設(shè)計技術(shù)已邁入一

7、個嶄新的階段,具體表現(xiàn)在:1電子器件及其技術(shù)的開展將更多地趨向于為EDA效勞;2硬件電路與軟件設(shè)計過程已高度滲透;3電子設(shè)計技術(shù)將歸結(jié)為更加標(biāo)準(zhǔn)、規(guī)*的EDA工具和硬件描述語言HDL的運用;4數(shù)字系統(tǒng)的芯片化實現(xiàn)手段已成主流。因此利用計算機和大規(guī)模復(fù)雜可編程邏輯器件進展現(xiàn)代電子系統(tǒng)設(shè)計已成為電子工程類技術(shù)人員必不可少的根本技能之一。1.1課程設(shè)計的目的在計算機中常要求存放器有移位功能。如在進展乘法時,要求將局部積右移;在將并行傳送的數(shù)轉(zhuǎn)換成串行數(shù)時也需要移位。因此,移位存放器的設(shè)計是必要的。本次設(shè)計的目的就是利用計算機組成原理中移位存放器的相關(guān)知識,通過課程設(shè)計更加深入的了解移位存放器的功能。

8、了解EDA技術(shù),并掌握VHDL硬件描述語言的設(shè)計方法和思想,通過學(xué)習(xí)的VHDL語言結(jié)合計算機組成原理中的相關(guān)知識理論聯(lián)系實際,掌握所學(xué)的課程知識。通過對移位存放器的設(shè)計,穩(wěn)固和綜合運用所學(xué)知識,提高對計算機組成原理的理解。1.2課程設(shè)計的內(nèi)容本課程設(shè)計是關(guān)于移位存放器的設(shè)計,它不僅具有存儲代碼的功能,而且還有左移、右移、并行輸入及保持等功能。本設(shè)計根據(jù)功能的不同,設(shè)計了三種移位存放器。 ( 1 ) 雙向移位存放器。 ( 2 ) 串入串出(SISO)移位存放器。( 3 ) 串入并出(SIPO)移位存放器。2 EDA、VHDL簡介2.1 EDA簡介EDA是電子設(shè)計自動化Electronic Des

9、ign Automation的縮寫,在20世紀(jì)90年代初從計算機輔助設(shè)計CAD、計算機輔助制造CAM、計算機輔助測試CAT和計算機輔助工程CAE的概念開展而來的。EDA技術(shù)就是以計算機為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計的效率和可*性,減輕了設(shè)計者的勞動強度。2.2VHDLVHDL的簡介VHDL(Very-High-Speed Integrated Circuit HardwareDescrip

10、tion Language),翻譯成中文就是超高速集成電路硬件描述語言。因此它的應(yīng)用主要是應(yīng)用在數(shù)字電路的設(shè)計中。誕生于1982年。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本,IEEE-1076簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設(shè)計環(huán)境,或宣布自己的設(shè)計工具可以和VHDL接口。此后VHDL在電子設(shè)計領(lǐng)域得到了廣泛的承受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語言。1993年,IEEE對VHDL進展了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本,簡稱93版。現(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件

11、描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。有專家認(rèn)為,在新的世紀(jì)中,VHDL于Verilog語言將承當(dāng)起大局部的數(shù)字系統(tǒng)設(shè)計任務(wù)。 VHDL語言的特點1與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計領(lǐng)域最正確的硬件描述語言。強大的行為描述能力是避開具體的器件構(gòu)造,從邏輯行為上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證。2VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期就能查驗設(shè)計系統(tǒng)的功能可行性,隨時可對設(shè)計進展仿真模擬。3VHDL語句的行為描述能力和程序構(gòu)造決定了他具有支持大規(guī)模設(shè)計的分解和已有設(shè)計的再利用功能

12、。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。4對于用VHDL完成的一個確定的設(shè)計,可以利用EDA工具進展邏輯綜合和優(yōu)化,并自動的把VHDL描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。5VHDL對設(shè)計的描述具有相對獨立性,設(shè)計者可以不懂硬件的構(gòu)造,也不必管理最終設(shè)計實現(xiàn)的目標(biāo)器件是什么,而進展獨立的設(shè)計。 VHDL的設(shè)計流程1.設(shè)計規(guī)*的定義明確設(shè)計的目的,進展設(shè)計的總體規(guī)劃。分析設(shè)計要求,以及自己要到達的設(shè)計目的和目標(biāo)。2. 采用VHDL進展設(shè)計描述這局部包括設(shè)計規(guī)劃和程序的編寫。設(shè)計規(guī)劃主要包括設(shè)計方式的選擇及是否進展模塊劃分。設(shè)計方式一般包括直接設(shè)計,自頂向下和自底

13、向下設(shè)計。3. VHDL程序仿真對于*些人而言,仿真這一步似乎是可有可無的。但是對于一個可靠的設(shè)計而言,任何設(shè)計最好都進展仿真,以保證設(shè)計的可靠性。另外,對于作為一個獨立的設(shè)計工程而言,仿真文件的提供足可以證明你設(shè)計的完整性。4. 綜合、優(yōu)化和布局布線綜合指的是將設(shè)計描述轉(zhuǎn)化成底層電路的表示形式,其結(jié)果是一個網(wǎng)表或者是一組邏輯方程;優(yōu)化,這個主要是為了提高程序的執(zhí)行效率及減少資源的利用;布局布線,指的是將邏輯關(guān)系轉(zhuǎn)化成電路連接的方式。5仿真這一步主要是為了確定你的設(shè)計在經(jīng)過布局布線之后,是不是還滿足你的設(shè)計要求。3 移位存放器設(shè)計過程3.1設(shè)計規(guī)劃本設(shè)計是基于VHDL語言設(shè)計的移位存放器,由于

14、移位存放器是計算機中非常重要的部件,所以本設(shè)計采用了不同的方法來實現(xiàn)存放器的移位功能,具體設(shè)計的移位存放器有:雙向移位存放器、串入串出SISO移位存放器、串入并出SIPO移位存放器。由于涉及內(nèi)容比擬根底,所以設(shè)計比擬簡單。3.2 各模塊工作原理及設(shè)計移位存放器的工作原理用VHDL語言描述任意分頻數(shù)的分頻器,并實現(xiàn)占空比任意設(shè)置.每當(dāng)系統(tǒng)時鐘上升沿到來時,計數(shù)器就加計數(shù)一位(可任意設(shè)置為N位),當(dāng)計數(shù)值到達預(yù)定值時就對分頻時鐘翻轉(zhuǎn).這樣就會得到一個連續(xù)的時鐘脈沖.當(dāng)移位信號到來時,移位存放器就對存儲的二進制進展移位操作.移位存放方式可自行設(shè)置(可左移,右移,一位移,多位移位存放)。雙向移位存放器

15、的設(shè)計電路符號:雙向移位存放器工作原理框圖。如圖3.1所示。 TDIRREGCLK OPLDIN OPRDIR 圖3.1 雙向移位存放器原理框圖雙向移位存放器由VHDL程序?qū)崿F(xiàn),下面是其中的一段VHDL代碼:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity tdirreg is port (clk: in std_logic; din: in std_logic; dir : in std_logic; op_l: out st

16、d_logic; op_r: out std_logic);end tdirreg;architecture a of tdirreg is signal q: std_logic_vector(7 downto 0);begin process(clk) begin if clkevent and clk= 1then if dir = 0 then q(0) = din; for i in 1 to 7 loop q(i) = q(i-1); end loop ; else q(7) = din; for i in 7 downto 1 loop q(i-1) =q(i); end loo

17、p ; end if; end if; end process ; op_l = q(7); op_r = q(0);end a;串入串出SISO移位存放器的設(shè)計電路符號:串入串出SISO移位存放器工作原理框圖。如圖3.2所示。 SISODATA_IN DATA_OUTCLK圖3.2 串入串出SISO移位存放器圖元符號串入串出SISO移位存放器由VHDL程序?qū)崿F(xiàn)。下面是其中的局部代碼:library ieee;use ieee.std_logic_1164.all;entity siso is port(data_in : in std_logic; clk : in std_logic; d

18、ata_out : out std_logic);end siso;architecture a of siso is signal q : std_logic_vector(3 downto 0);begin process(clk) begin if clk event and clk = 1 then q(0)=data_in; for i in 1 to 3 loop q(i)=q(i-1); end loop; end if; end process; data_out=q(3);end a;串入并出SIPO移位存放器的設(shè)計電路符號:串入并出SIPO移位存放器工作原理框圖。如圖3.3

19、所示。 SIPOD_IN D_OUT30CLK 圖3.3 串入并出SIPO移位存放器工作框圖串入并出SIPO移位存放器由VHDL程序?qū)崿F(xiàn)。下面是其中的局部代碼:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity sipo is port(d_in : in std_logic; clk : in std_logic; d_out : out std_logic_vector(3 downto 0);end sipo;archite

20、cture a of sipo is signal q : std_logic_vector(3 downto 0);begin process(clk) begin if clk event and clk = 1 then q(0)=d_in; for i in 1 to 3 loop q(i)=q(i-1); end loop; end if; end process; d_out=q;end a;4 系統(tǒng)仿真4.1雙向移位存放器仿真圖分析雙向移位存放器的仿真圖,如圖4.1所示。圖 4.1 雙向移位存放器仿真圖對其仿真圖進展仿真分析:dir為一個控制信號,clk為時鐘控制信號,din為輸

21、入信號,表示要存入的數(shù)據(jù),op_r表示右移從高位到低位后得到的結(jié)果,op_l表示左移從低位到高位后得到的結(jié)果。如下圖:當(dāng)dir為0時,op_r輸出的是右移的結(jié)果,遇到一個clk的下降沿時,輸入數(shù)據(jù)右移一位。op_l輸出的是左移的結(jié)果,遇到一個clk的下降沿時,輸入數(shù)據(jù)左移一位。當(dāng)dir為1時,op_r與op_l與上述相反。4.2串入串出SISO移位存放器仿真圖分析串入串出SISO移位存放器的仿真圖,如圖4.2所示。圖4.2串入串出SISO移位存放器的仿真圖對其仿真圖進展仿真分析:clk為時鐘控制信號,data_in為輸入信號,表示要存入的數(shù)據(jù)。data_out為輸出信號,表示輸出的數(shù)據(jù)。如下圖

22、:當(dāng)data_in串行輸入數(shù)據(jù)時,遇到一個時鐘信號clk,輸入數(shù)據(jù)向右移位,并串行輸出數(shù)據(jù)。4.3串入并出SIPO移位存放器仿真圖分析串入并出SIPO移位存放器的仿真圖,如圖4.3所示。圖4.3 串入并出SIPO移位存放器仿真圖對其仿真圖進展仿真分析:clk為時鐘控制信號,d_in為串行輸入信號,d_out為四位并行輸出信號,串行輸入信號四位為一組,該信號一位一位的按順序存入存放器。如下圖:當(dāng)串行輸入四位數(shù)據(jù)時,輸出一次性并行輸出。完畢語經(jīng)過了兩周的學(xué)習(xí)和工作,我終于完成了移位存放器的設(shè)計和實現(xiàn)及相關(guān)論文。從開場接到課程設(shè)計題目到系統(tǒng)的實現(xiàn),再到論文文章的完成,每走一步對我來說都是新的嘗試與挑

23、戰(zhàn),這也是我在大學(xué)期間獨立完成的一項比擬大的工程。在這段時間里,我學(xué)到了很多知識也有很多感受,從課程設(shè)計,EDA,VHDL等相關(guān)知識很不了解的狀態(tài),我開場了獨立的學(xué)習(xí)和試驗,查看相關(guān)的資料和書籍,讓自己頭腦中模糊的概念逐漸清晰,使自己非常稚嫩作品一步步完善起來,每一次改良都是我學(xué)習(xí)的收獲,每一次試驗的成功都會讓我興奮好一段時間。 雖然我的論文作品不是很成熟,還有很多缺乏之處,但我可以自豪的說,這里面的每一段代碼,都有我的勞動。當(dāng)看著自己的程序,自己成天相伴的系統(tǒng)能夠安康的運行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最終都會化為甜美的甘泉。 這次做論文的經(jīng)歷也會使我受益匪淺,我感受到做論文是

24、要真真正正用心去做的一件事情,是真正的自己學(xué)習(xí)的過程和研究的過程,沒有學(xué)習(xí)就不可能有研究的能力,沒有自己的研究,就不會有所突破,那也就不叫論文了。希望這次的經(jīng)歷能讓我在以后學(xué)習(xí)中鼓勵我繼續(xù)進步。致 謝本設(shè)計在肖曉麗教師的悉心指導(dǎo)和嚴(yán)格要求下業(yè)已完成,從課題選擇、方案論證到具體設(shè)計和調(diào)試,無不凝聚著肖教師的心血和汗水,由于肖教師是我們操作系統(tǒng)的教師,大家都認(rèn)識,所以在課程設(shè)計過程中始終感受著陽教師的精心指導(dǎo)和無私的關(guān)心,我受益匪淺。在此向肖曉麗教師表示深深的感謝和崇高的敬意。 不積跬步何以至千里,本設(shè)計能夠順利的完成,也歸功于肖教師的認(rèn)真負(fù)責(zé),使我能夠很好的掌握和運用專業(yè)知識,并在設(shè)計中得以表達

25、。正是有了她的悉心幫助和支持,才使我的課程設(shè)計工作順利完成。參考文獻1潘松.VHDL實用教程M.*:電子科技大學(xué),20002 侯伯亨,顧新.VHDL硬件描述語言及數(shù)字邏輯電路設(shè)計.*:*電子科技大,20033 甘登岱.EDA培訓(xùn)教程.:機械工業(yè),2005 4 Jayaram.Bhaker.VHDL教程.:機械工業(yè),2006-. z.-. z.附錄程序名:tdirreg.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity td

26、irreg is port (clk: in std_logic; din: in std_logic; dir : in std_logic; op_l: out std_logic; op_r: out std_logic);end tdirreg;architecture a of tdirreg is signal q: std_logic_vector(7 downto 0);begin process(clk) begin if clkevent and clk= 1then if dir = 0 then q(0) = din; for i in 1 to 7 loop q(i) = q(i-1); end loop ; else q(7) = din; for i in 7 downto 1 loop q(i-1) =q(i); end loop

溫馨提示

  • 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

提交評論