版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 目錄</b></p><p> 一、EDA、VHDL的簡介·························
2、183;······················1</p><p> 1、EDA技術·········
3、;····································
4、83;······1</p><p> 2、硬件描述語言——VHDL························
5、;················1</p><p> 二、摘要················
6、;····································
7、83;······2</p><p><b> 三、設計任務</b></p><p> 1、課程設計內容·················
8、;·······························2</p><p> 2、課程設計要求&
9、#183;····································
10、;···········2</p><p><b> 四、設計過程</b></p><p> 1、設計規(guī)劃流程圖············
11、····································5<
12、;/p><p> 2、各模塊的原理及其程序·······························
13、183;··········4</p><p> ?。?)十位進制計數(shù)模塊····················&
14、#183;························5</p><p> ?。?)閘門控制模塊······
15、183;····································
16、·····5</p><p> (3)可自動換擋基準時鐘模塊·························
17、183;·············6</p><p> (4)2—4譯碼器模塊·················&
18、#183;····························7</p><p> (5)4選1選擇器模塊··
19、····································
20、3;·······7</p><p> (6)LED燈模塊························
21、;···························8</p><p> (7)譯碼顯示模塊····
22、····································
23、3;········8</p><p> (8)4進制計數(shù)器模塊······················
24、83;······················9五、器件編程與硬件下············
25、183;································10</p><p>
26、 六、參考文獻···································
27、83;·················11</p><p> 七、心得體會··············
28、····································
29、3;··11</p><p> EDA、VHDL的簡介</p><p><b> EDA技術</b></p><p> EDA是指以計算機為工作平臺,融合了應用電子技術、計算機技術、智能化技術的最新成果而開發(fā)出的電子CAD通用軟件包,它根據(jù)硬件描述語言HDL完成的設計文件,自動完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局
30、布線及仿真,直至完成對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。目前EDA主要輔助進行三個方面的設計工作:IC設計、電子電路設計和PCB設計。沒有EDA技術的支持,想要完成超大規(guī)模集成電路的設計制造是不可想象的;反過來,生產(chǎn)制造技術的不斷進步又必將對EDA技術提出新的要求。</p><p> 硬件描述語言——VHDL</p><p><b> VHDL簡介</
31、b></p><p> VHDL語言是一種用于電路設計的高級語言。它在80年代的后期出現(xiàn)。最初是由美國國防部開發(fā)出來供美軍用來提高設計的可靠性和縮減開發(fā)周期的一種使用范圍較小的設計語言 。但是,由于它在一定程度上滿足了當時的設計需求,于是他在1987年成為A I/IEEE的標準(IEEE STD 1076-1987)。1993年更進一步修訂,變得更加完備,成為A I/IEEE的A I/IEEE STD 1
32、076-1993標準。目前,大多數(shù)的CAD廠商出品的EDA軟件都兼容了這種標準。自IEEE公布了VHDL的標準版本,IEEE-1076(簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設計環(huán)境,或宣布自己的設計工具可以和VHDL接口。此后VHDL在電子設計領域得到了廣泛的接受,并逐步取代了原有的非標準的硬件描述語言。1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內容,公布了新版本的VHDL
33、,即IEEE標準的1076-1993版本,(簡稱93版)?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標準硬件描述語言,又得到眾多EDA公司的支持,在電子工程領域,已成為事</p><p> VHDL的語言的特點</p><p> VHDL的程序結構特點是將一項工程設計,關于用VHDL和原理圖輸入進行CPLD/FPGA設計的粗略比較:在設計中,如果采用原理圖輸入的設計方式是比較直觀
34、的。你要設計的是什么,你就直接從庫中調出來用就行了。這樣比較符合人們的習慣。在對一個設計實體定義了外部界面后,一旦其內部開發(fā)完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL系統(tǒng)設計的基本點。應用VHDL進行工程設計的優(yōu)點是多方面的。 </p><p> ?。?)與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為 系統(tǒng)設計領域最佳的硬件描述語言。強大的行
35、為描述能力是避開具體的器件結構,從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證。 </p><p> ?。?)VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設計早期就能查驗設計系統(tǒng) 的功能可行性,隨時可對設計進行仿真模擬。</p><p> ?。?)VHDL語句的行為描述能力和程序結構決定了他具有支持大規(guī)模設計的分解和已有</p><p> 設計的再利用功能
36、。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。 </p><p> ?。?)對于用VHDL完成的一個確定的設計,可以利用EDA工具進行邏輯綜合和優(yōu)化,并</p><p> 自動的把VHDL描述設計轉變成門級網(wǎng)表。 </p><p> ?。?)VHDL對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,
37、也不必管理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計。</p><p><b> 二、摘要</b></p><p> 在科技高速發(fā)展的今天,集成電路和計算機應用得到了高速發(fā)展。尤其是計算機應用的發(fā)展。它在人們日常生活已逐漸嶄露頭角。大多數(shù)電子產(chǎn)品多是由計算機電路組成, 如:手機、平板等。將來的不久他們的身影將會更頻繁的出現(xiàn)在我們身邊。各種家用電器多會
38、實現(xiàn)微電腦技術。電腦各部分在工作時多是一時間為基準的。數(shù)字頻率計主要應用于計算機、通訊設備、音視頻設備等科技領域。它是一種用十進制數(shù)字,顯示被測量信號頻率的數(shù)字測量儀器。它的基本功能是測量正弦信號以及方波信號以及其他各種單位時間內變化的物理量。在進行模擬、數(shù)字電路的設計、安裝、調試的過程中,由于其使用十進制數(shù)顯示,測量迅速,精度高顯示直觀,所以經(jīng)常使用</p><p> 關鍵詞:EDA技術、VHDL語言、計時器
39、、數(shù)碼管</p><p><b> 設計任務</b></p><p><b> 課程設計內容</b></p><p> 選用合適的可編程邏輯器件及外圍電子元器件,設計一個數(shù)字頻率計,利用EDA軟件(QUARTUS Ⅱ)進行編譯及仿真,設計輸入可采用VHDL硬件描述語言輸入法和原理圖輸入法,并下載到EDA實驗開發(fā)系統(tǒng),
40、連接外圍電路,完成實際測試。</p><p><b> 課程設計要求</b></p><p> ?。?) 頻率計的測量范圍為0-999kHz,量程分10kHz、100kHz和1000kHz三檔(最大讀數(shù)分別為9.99kHz、99.9kHz、999kHz)。</p><p> ?。?) 要求量程可根據(jù)被測量的大小自動轉換,即當計數(shù)器溢出時,產(chǎn)生
41、一個換擋信號,讓整個計數(shù)時間減少為原來的十分之一,從而實現(xiàn)換擋功能。</p><p> ?。?) 要求實現(xiàn)溢出報警功能,即當頻率高于999kHz時,產(chǎn)生一個報警信號,點亮LED燈,從而實現(xiàn)溢出報警功能。</p><p><b> 設計過程</b></p><p><b> 設計規(guī)劃流程圖</b></p>
42、<p><b> 系統(tǒng)組成框圖</b></p><p><b> 各模塊的原理及程序</b></p><p> 系統(tǒng)的整體組裝設計原理圖</p><p> (1)十位進制計數(shù)器代碼: </p><p> library ieee;</p><p>
43、 use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity cnt10v is</p><p> port(clr:in std_logic;</p><p> clk:in std_logic;</p>
44、<p> cout:out std_logic;</p><p> en:in std_logic;</p><p> cq:out std_logic_vector(3 downto 0));</p><p> end cnt10v;</p><p> architecture example1 of cnt10v is
45、</p><p><b> begin</b></p><p> process(clr,clk,en)</p><p> variable cqi:std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p&g
46、t; if clr=’1’ then cqi:=(others=>’0’);</p><p> elsif clk’event and clk=’1’then</p><p> if en=’1’ then</p><p> if cqi<9 then cqi:=cqi+1;</p><p> else cqi:=(ot
47、hers=>’0’);</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> if cqi=9 then cout<=’1’;</p>
48、;<p> else cout<=’0’;</p><p><b> end if;</b></p><p><b> cq<=cqi;</b></p><p> end process;</p><p><b> end;</b></
49、p><p> (2)閘門控制模塊代碼:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity testctl is</p><p> port(clk:in std_logic;</p><p&
50、gt; clr_cnt:out std_logic;</p><p> tsten:out std_logic;</p><p> load:out std_logic);</p><p><b> end;</b></p><p> architecture example4 of testctl is<
51、;/p><p> signal a:std_logic;</p><p><b> begin</b></p><p> process(clk)</p><p><b> begin</b></p><p> if clk’event and clk=’1’ then
52、</p><p><b> a<=not a;</b></p><p><b> end if;</b></p><p> end process;</p><p> process(clk,a)</p><p><b> begin</b&g
53、t;</p><p> if a=’0’and clk=’0’ then</p><p> clr_cnt<=’1’;</p><p> else clr_cnt<=’0’;</p><p><b> end if;</b></p><p> end process;<
54、/p><p> load<=not a;</p><p><b> tsten<=a;</b></p><p><b> end;</b></p><p> 可自動換擋模塊代碼:</p><p> LIBRARY IEEE;</p><p
55、> USE IEEE.STD_LOGIC_1164.ALL;</p><p> ENTITY mux3 IS</p><p> PORT(a:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> y:OUT STD_LOGIC;</p><p> o:OUT STD_LOGIC;</p>
56、;<p> input0:in STD_LOGIC;</p><p> input1:in STD_LOGIC;</p><p> INPUT2:in STD_LOGIC);</p><p><b> END mux3;</b></p><p> ARCHITECTURE example5 OF
57、mux3 IS</p><p><b> BEGIN</b></p><p> PROCESS(input0,input1,input2,a)</p><p><b> BEGIN</b></p><p><b> CASE a IS</b></p>&l
58、t;p> WHEN”0000”=>y<=input0;</p><p> WHEN”0001”=>y<=input1;</p><p> WHEN”0010”=>y<=input2;</p><p> WHEN OTHERS=>y<=’0’;o<=’1’;</p><p>&
59、lt;b> END CASE;</b></p><p> END PROCESS;</p><p><b> END;</b></p><p> (4)2-4譯碼器模塊代碼:</p><p> library ieee;</p><p> use ieee.std_l
60、ogic_1164.all;</p><p> entity choose_decoder is</p><p> port(sel: in std_logic_vector(1 downto 0);</p><p> choose: out std_logic_vector(3 downto 0));</p><p> end c
61、hoose_decoder;</p><p> architecture rtl of choose_decoder is</p><p><b> begin</b></p><p> process(sel)</p><p><b> begin</b></p><p
62、> case sel is</p><p> when”00”=>choose<=”0001”;</p><p> when”01”=>choose<=”0010”;</p><p> when”10”=>choose<=”0100”;</p><p> when”11”=>choos
63、e<=”1000”;</p><p> when others=>choose<=”ZZZZ”;</p><p><b> end case;</b></p><p> end process;</p><p><b> end rtl;</b></p>&l
64、t;p> ?。?)4選1選擇器代碼:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity mux41a is</p><p> port(datain0,datain1,datain2,datain3:in std_logic_
65、vector(3 downto 0);</p><p> s:in std_logic_vector(1 downto 0);</p><p> y:out std_logic_vector(3 downto 0));</p><p> end entity mux41a;</p><p> architecture bhv of m
66、ux41a is</p><p><b> begin</b></p><p> process(s)</p><p><b> begin</b></p><p> case (s) is</p><p> when “00” =>y<=datain0
67、;</p><p> when “01” =>y<=datain1;</p><p> when “10” =>y<=datain2;</p><p> when “11” =>y<=datain3;</p><p><b> end case;</b></p>
68、<p> end process;</p><p> end architecture bhv ;</p><p><b> LED燈模塊代碼:</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p>&l
69、t;p> ENTITY dec7s IS</p><p> PORT(din:IN BIT_VECTOR(3 DOWNTO 0);</p><p> dout: OUT BIT_VECTOR(6 DOWNTO 0));</p><p><b> END;</b></p><p> ARCHITECTURE
70、 example2 OF dec7s IS</p><p><b> BEGIN</b></p><p> PROCESS(din)</p><p><b> BEGIN</b></p><p> CASE din IS</p><p> WHEN”0000”=&g
71、t; dout <=”0111111”;</p><p> WHEN”0001”=> dout <=”0000110”;</p><p> WHEN”0010”=> dout <=”1011011”;</p><p> WHEN”0011”=> dout <=”1001111”;</p><p>
72、; WHEN”0100”=> dout <=”1100110”;</p><p> WHEN”0101”=> dout <=”1111101”;</p><p> WHEN”0110”=> dout <=”0111111”;</p><p> WHEN”0111”=> dout <=”0000111”;<
73、/p><p> WHEN”1000”=> dout <=”1111111”;</p><p> WHEN”1001”=> dout <=”1101111”;</p><p> WHEN”1010”=> dout <=”1110111”;</p><p> WHEN”1011”=> dout <
74、;=”1111100”;</p><p> WHEN”1100”=> dout <=”0111001”;</p><p> WHEN”1101”=> dout <=”1011110”;</p><p> WHEN”1110”=> dout <=”1111001”;</p><p> WHEN”111
75、1”=> dout <=”1100001”;</p><p> WHEN OTHERS=> NULL;</p><p><b> END CASE;</b></p><p> END PROCESS;</p><p> END example2;</p><p><
76、b> 譯碼顯示模塊代碼:</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> ENTITY REG16 IS</p><p> PORT(DIN0:IN STD_LOGIC_VECTOR(3 DOWNTO 0);<
77、/p><p> DIN1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> DIN2:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> LOAD:IN STD_LOGIC;</p><p> DOUT0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);&
78、lt;/p><p> DOUT1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> DOUT2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> DOUT3:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p> END REG16;&
79、lt;/p><p> ARCHITECTURE example OF REG16 IS</p><p><b> BEGIN</b></p><p> PROCESS(LOAD)</p><p><b> BEGIN</b></p><p> IF LOAD’event
80、 and LOAD=’1’THEN</p><p> DOUT0<=DIN0;</p><p> DOUT1<=DIN1;</p><p> DOUT2<=DIN2;</p><p> DOUT3<=DIN3;</p><p><b> END IF;</b>&l
81、t;/p><p> END PROCESS;</p><p> END example;</p><p> (8)4進制計數(shù)器模塊代碼:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use i
82、eee.std_logic_unsigned.all;</p><p> entity count4 is</p><p> port(clk:in std_logic;</p><p> s:out std_logic_vector(1 downto 0));</p><p> end count4;</p><
83、p> architecture rt1 of count4 is</p><p> signal sel_tmp: std_logic_vector(1 downto 0);</p><p><b> begin</b></p><p> process(clk)</p><p><b> be
84、gin</b></p><p> if (clk’event and clk= ‘1’) then</p><p> if(sel_tmp= “11”) then</p><p> sel_tmp<=(others=>’0’);</p><p><b> else</b></p>
85、;<p> sel_tmp<=sel_tmp+1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> s<=sel_tmp;</p><p> end process;</p>&l
86、t;p><b> end rt1;</b></p><p> 五、器件編程與硬件下載</p><p> 1.在Quartus軟件中為頂層文件選擇好芯片類型,選擇引腳后進行編譯。 </p><p> 將實驗箱端口與計算機相應端口連接,檢測試驗箱是否可以使用,經(jīng)檢測無誤后,關閉試驗箱,將主芯片標號對應頂層文件相應引腳標號連線到相應器
87、件處。即輸入時鐘信號端接試驗箱時鐘發(fā)生電路CLK輸出端(用1024MHz信號)按照模式電路模5進行引腳鎖定,進行下載。</p><p> 進行引腳鎖定,進行下載</p><p><b> 六、參考文獻</b></p><p> 【1】潘松,黃繼業(yè),潘明,EDA技術實用教程,第4版,北京:科學出版社,2010</p><
88、p> 【2】詹仙寧,田耘。VHDL開放精解與實例剖析。北京:電子工業(yè)出版社,2009</p><p> 【3】潘松,王國棟。VHDL實用教程(修訂版)。成都:成都電子科技大學出版社,2001</p><p><b> 七、心得體會</b></p><p> 經(jīng)過兩周時間的EDA課程設計,我收獲很多。它不僅增進了我對EDA課程設計的
89、了解,更讓我熟悉了從開始的論證分析到軟件程序的調試、仿真,再到下載程序、調試硬件、實現(xiàn)產(chǎn)品功能這一設計流程。雖然其中困難重重,但是還是錯過了。心得體會如下: </p><p> 這次EDA課程設計,可以說是苦多于甜,但是可以學的到很多很多的東西,同時不僅可以鞏固以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。讓我明白理論的東西與實際操作還是有一段距離,之前看過實驗操作,可是到了自己操作時才
90、發(fā)現(xiàn)并不是所有的東西和自己想的一樣。</p><p> 在程序編寫時,先要在心中規(guī)劃一個大概流程,然后編寫,經(jīng)過與其他同學多次合作,在進行編譯時出現(xiàn)了許多問題,大部分問題是代碼輸入有無導致編譯出錯,經(jīng)過反復對比查找程序,進行修正,有問題通過老師幫助下才順利解決。</p><p> 通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐
91、相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。</p><p> 綜合而言,這次課程設計還是比較成功的,在設計中遇到的困難在老師和全組同學的努力下也都迎刃而解。覺得平時所學的知識有了實際
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設計--數(shù)字頻率計
- eda課程設計---數(shù)字頻率計
- 課程設計---eda數(shù)字頻率計
- eda課程設計---數(shù)字頻率計
- eda課程設計---數(shù)字頻率計
- eda課程設計---數(shù)字頻率計
- eda課程設計-數(shù)字頻率計的設計
- eda課程設計數(shù)字頻率計
- eda技術課程設計 ---eda數(shù)字頻率計
- eda技術課程設計----數(shù)字頻率計
- 數(shù)字頻率計課程設計
- 數(shù)字頻率計課程設計
- 課程設計--數(shù)字頻率計
- 課程設計——數(shù)字頻率計
- 數(shù)字頻率計課程設計
- 課程設計-數(shù)字頻率計
- 課程設計--數(shù)字頻率計
- 課程設計--數(shù)字頻率計
- 數(shù)字頻率計課程設計
- 數(shù)字頻率計課程設計
評論
0/150
提交評論