版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本 科 畢 業(yè) 論 文基于FPGA的數字跑表設計Digital stopwatch design based on FPGA 學院名稱: 電子信息與電氣工程學院 專業(yè)班級: 電子信息工程(專升本)2013級 2015年5月畢業(yè)設計(論文)原創(chuàng)性聲明和使用授權說明原創(chuàng)性聲明 本人鄭重承諾:所呈交的畢業(yè)設計(論文),是我個人在指導教師的指導下進行的研究工作及取得的成果。盡我所知,除文中特別加以標注和致謝的地方外,不包含其他人或組織已經發(fā)表或公布過的研究成果,也不包含我為獲得安陽工學院及其它教育機構的學位或學歷而使用過的材料。對本研究提供過幫助和做出過貢獻的個人或集體,均已在文中作了明確的說明并表示
2、了謝意。作 者 簽 名: 日 期: 指導教師簽名: 日期: 使用授權說明本人完全了解安陽工學院關于收集、保存、使用畢業(yè)設計(論文)的規(guī)定,即:按照學校要求提交畢業(yè)設計(論文)的印刷本和電子版本;學校有權保存畢業(yè)設計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務;學??梢圆捎糜坝 ⒖s印、數字化或其它復制手段保存論文;在不以贏利為目的前提下,學??梢怨颊撐牡牟糠只蛉績热?。作者簽名: 日 期: 目 錄摘 要IAbstractII引 言1第一章 緒 論11.1 設計背景與意義11.2 跑表的發(fā)展趨勢2第二章 實驗的軟件環(huán)境22.1 MAX+plus軟件22.2 VHDL語言3第三章 跑表的設計
3、53.1跑表的方案選擇53.2跑表的程序流程圖63.3頂層設計與VHDL源代碼73.3.1頂層實體設計及VHDL源代碼73.3.2頂層結構體的設計83.4跑表的各個模塊分析93.4.1鍵輸入模塊93.4.2時鐘分頻模塊113.4.3控制模塊133.4.4跑表計時模塊143.4.5跑表顯示模塊173.5仿真結果20結 語22致 謝23參考文獻24附錄A 管腳引用表25附錄B 跑表的程序代碼26基于FPGA的數字跑表設計摘要:本數字跑表用于檢測需要準確計時或計時場合較為精確且比較精密的環(huán)境中。在現在的競賽、科研、測驗的環(huán)境中,跑表依然扮演著十分重要的角色。隨著電子技術的發(fā)展,它有著更加廣闊的發(fā)展空
4、間、也有著更加廣泛的應用。本論文對數字跑表進行了電路設計與程序設計,并劃分為五個模塊:鍵輸入模塊、分頻模塊、控制模塊、計時模塊和顯示模塊。各個模塊通過合理的配合來實現跑表的功能,所有功能語言都用VHDL來完成描述。本實驗主要借助Altera公司開發(fā)的EDA工具MAX+plus 軟件作為編譯和仿真的實驗環(huán)境,主要利用EPF10K10LC84-4器件在FPGA的實驗箱上來完成數字跑表的設計。關鍵詞:跑表;VHDL語言;MAX+plus ;FPGADigital stopwatch design based on FPGAABSTRACT:The digital stopwatch for dete
5、ction requires accurate timing or timing occasions more accurate and more sophisticated environment. In the current competition, scientific research, test environment, stopwatch still plays a very important role. With the development of electronic technology, it has a more broad development space, a
6、lso has a more extensive application. In this paper, the digital stopwatch were hardware circuit design and software design, and is divided into five modules: key input module, frequency module, control module, timing module and display module. Each module is realized by the stopwatch with reasonabl
7、e, all functions are accomplished with VHDL description language. This experiment mainly by Altera corporation development of EDA tools MAX + PLUS II software as compilation and simulation experiment environment, the main use of epf10k10lc84-4 device in FPGA experimental box completed the design of
8、digital stopwatch.Keywords: Stopwatch; VHDL language; MAX + plus ; FPGAI引 言本跑表無機械裝置,是用電子設備來完成數字跑表的設計,它具有更長的使用壽命和更加精確的計時裝置,因此才得到了廣泛的應用。通過跑表的制作使我進一步的了解了各種中小規(guī)模集成電路的作用及特點,使我進一步的學習與掌握了各種組合邏輯電路與時序電路的原理和使用方法。 人生苦短,日月如梭。時間是人生中最珍貴的東西,但當事情不怎么重要的時候,這種遺忘倒不會出什么事。但一旦遇到了重要事情,一時的遺忘就會釀成大禍。例如:在醫(yī)院中,病體發(fā)作時間頻率值、手術的時間間隔、麻
9、藥的藥效長短等高危手術中,計時就顯得尤為重要;在科研中,火箭的發(fā)射、飛機的起飛、導彈的攻擊、航母的運行、空間站的對接等高科技產品中,一秒鐘的誤差就會產生極其嚴重的后果;在競賽中,即使是相差0.01s那也會有一個先后,分秒必爭的理念就變得尤為的突出;在工程的測試中;在萬物生長中等等觀測結果的情況下,這種對時間的精確度要求就變的非常高了,這時對于數字跑表的研究就變得尤為突出的重要。所以,制作一個精確計時的跑表系統(tǒng)是多么明智的選擇。第一章 緒 論1.1設計背景與意義現在電子產品已經融入了我們身邊的每個角落,它使我們的生活變的更加的美滿和和諧,同時也使電子產品的性能進一步提高、功能進一步強大,其中帶給
10、我們最大的紅利就是便捷?,F在的電子時鐘也已經布滿我們的生活里,如手機、電腦、手表、鐘表以及各大中小地點的公共場所里都有時鐘的出現。然而數字跑表的功能和用途有許多是電子鐘無法用精確性和準確性來取代的,跑表有著這些獨特的特點,也有著不可被取代的趨勢。電子產品朝著高精度高準確度的方向發(fā)展,跑表依然如此。因此本設計不采用單片機、不采用機械設備、而采用基于FPGA來完成數字跑表的設計。隨著現場可編程門陣列的發(fā)展,電子系統(tǒng)向著集成化、大規(guī)模和高速度等方向升級的趨勢也愈加明顯,所以設計本跑表為打開FPGA領域而研究FPGA數字跑表具有里程碑式的意義。1.2跑表的發(fā)展趨勢數字跑表已經成為了人類在科技、競賽和檢
11、測中的一種十分必要的計時裝置,給人們的生活、學習、工作、娛樂帶來極大的方便。數字跑表的發(fā)展方向將會為以后的航空航天、航空母艦、高鐵磁懸浮列車等科技方面做出更加可靠的計時參考和更加精確的依據,也會為競技競賽、公平競爭等項目比賽提供更加公平公正的參考。第二章 實驗的軟件環(huán)境2.1 MAX+plus軟件本軟件主要由層次顯示器、信息處理器、輸入編輯器、設計編譯器、設計校驗器和器件編程器一起構成了一個完整獨立的EDA設計平臺。 當程序編譯完畢并能產生MAX+plus或第3方EDA工具的一系列文件和報告,如圖2.1所示。MAX+plus編譯器第三方EDA設計文件(.edf,.sch,.xnf)映射文件(.
12、imf)MAX+plus設計文件(.gdf,.tdf,).vhd)指定和配置信息 (.acf)第三方EDA仿真和定時文件(.edo,vo,vho,sdo)功能仿真(.snf)定時仿真(.snf)編程文件(.pof.sof.jed)圖2.1 MAX+plus編譯器定時分析器,有這樣的分析模式:時序邏輯電路性能分析模式。分析時序電路的性能,包括限制性能上有限制的延遲,還有最小的時鐘周期和最高的電路工作頻率。MAX+plus的設計流程主要由設計輸入、設計編譯、功能仿真、時序仿真、器件編程等步驟來完成。2.2 VHDL語言經過多年的檢測與使用,最終工程師們吧定為標準硬件描述語言。VHDL語言的主要優(yōu)點
13、是:(1)有良好的可讀性,容易被讀者理解。(2) VHDL是通用硬件描述語言。(3)用它從事設計工作,不用考慮線路布局問題,降低了設計的復雜度。(4)接近于算法的推演,不必關心如何用邏輯電路實現這種算法的過程。VHDL語言結構體的完整格式如下:ARCHITECTURE 結構體OF實體名IS定義語句BEGIN并行語句1;并行語句2;END ARCHITECTURE 結構體名 ;VHDL中實體的完整格式如下:ENTITY 實體名 IS GENERIC (類屬表); PORT (端口表); BEGIN 實體語句部分;END ENTITY 實體名; 它描述了一個系統(tǒng)或者電路的外觀圖。實體中的類屬和端口
14、用來說明所設計的系統(tǒng)或者電路與其它模塊通信的對象。實體語句部分定義實體接口中的公共信息。第三章 跑表的設計3.1跑表的方案選擇 方案一:設計一款基于單片機的數字跑表。1. 核心用一塊AT89C51和555定時器結合來完成;2. 硬件準備好后,編輯程序下載、調試、試運行;3. 試驗成功后將其包裝。 方案二:設計一款基于FPGA的數字跑表。 1.核心用FPGA開發(fā)平臺和Max+plusII操作平臺來完成; 2.程序編輯好后,用軟件仿真運行;3.實驗成功后將其展示。 方案比較: 相同點:這兩種方案的原理相似都分別由計數部分、顯示部分組成。都能按照設計要求完成有百分秒計時功能的數字跑表。不同點:方案一
15、主要是單片機來完成跑表,應用范圍略廣,但考慮到單片機本身的特點,不適合結合比較高端的設備。方案二應用領域比較廣泛,能結合許多設備,能夠更好、更精確的實現計時功能。 方案采用:根據以上方案分析和研究的可行性、價值性和意義性分析,數字跑表的設計采用方案二。方案二設計主要由五個主要模塊組成:鍵輸入模塊(主要是消除抖動之類的);時鐘分頻模塊(輸出為100Hz用于計時、1kHz用于數碼管動態(tài)掃描);使能控制模塊(實現開始及暫停功能);計數器模塊(由模十計數器和模六計數器級聯);顯示控制模塊(包括數據選擇和顯示譯碼)。它是采用VHDL語言來設計的跑表系統(tǒng),能通過計算機來完成,從而縮短了系統(tǒng)的開發(fā)時間,提高
16、了系統(tǒng)的工作效率。其主要特點描述如下:(1)啟/停功能。在任何情況下只要按復位開關,跑表都會無條件地執(zhí)行復位操作。(2)計時精度高于0.01秒,內部定時時鐘信號頻率采用1000Hz的時鐘輸入信號,以24h為最長計時周期。(3)對跑表進行更換電源操作是由系統(tǒng)電源復位電路提供給跑表的電源復位信號來控制跑表的復位操作。圖3.1 跑表系統(tǒng)的結構框圖3.2 開始跑表的程序流程圖清零顯示CLR=1Y NY SL=9 NSL=0 NYSH=5? SH=SH+1MH=0,CN2=1 結束圖3.2 秒計數進程程序流程圖 開始YCLR=1?清零顯示 NYSL=9? NML=0 YSH=5? NMH=MH+1MH=
17、0 結束圖3.3 分計數進程程序流程圖3.3頂層設計與VHDL源代碼3.3.1頂層實體設計及VHDL源代碼在自頂向下的VHDL語言設計描述中,第一個應該考慮的是描述頂層信號接口,如圖3.4所示。圖3.4 跑表各個模塊的連接關系VHDL的系統(tǒng)接口是由實體說明來描述的。下面是跑表頂層實體說明的VHDL源代碼。源代碼1library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity stopwatch isport ( reset1 : in std
18、_logic; on_off : in std_logic; sysreset : in std_logic; clk : in std_logic; choose : out std_logic_vector(7 downto 0); segment : out std_logic_vector(6 downto 0);end stopwatch;3.3.2頂層結構體的設計因我們通常用的跑表大部分都由按鍵產生的,但這種操作會產生一定的誤差,因為當需要計時的時候你的手按下的速度,和按鍵接觸的速度以及彈簧反應的速度都直接影響計時的精度,因此設計一款消抖同步電路就顯的十分重要。根據大部分資料的情況
19、,本文采用了最普遍使用的一種消抖同步電路,結構圖如3.5所示。圖3.5 常用消抖同步電路根據圖3.4所示的各個模塊。將各個模塊描述如下:(1) 鍵輸入模塊復位鍵和開關鍵屬于鍵輸入模塊。這些都是跑表基本的輸入功能按鍵。(2) 時鐘分頻模塊根據跑表要求的情況,用時鐘分頻模塊來進行分頻,已達到各種功能模塊的需求。(3) 控制模塊控制模塊是由鍵輸入模塊導入信號,再由相應的程序功能分配相應的操作,從而執(zhí)行相應的動作,已完成所要控制的對象。(4) 跑表計時模塊由輸入的控制鍵和時鐘分頻模塊的參考,跑表就根據分頻數據在鍵輸入的命令下開始計時。(5) 跑表顯示模塊由了跑表計時模塊的數據,數碼管就可以根據提供的內
20、容,將其展現八個LED七段數碼管顯示上。3.4跑表的各個模塊分析3.4.1鍵輸入模塊因為有抖動的緣故,會產生持續(xù)時間長短和不穩(wěn)定的情況。因此才要在跑表電路中加上一個鍵輸入模塊來減少誤差和抖動現象。鍵輸入模塊的作用就是保證系統(tǒng)能夠撲捉到精確的脈沖,保證每一個脈沖都能夠準確無誤的被記錄下來,從而能使它產生一個寬度為時鐘周期模塊的脈沖,保證時鐘周期模塊的正常讀取。如圖3-6所示它反映了開關脈沖on_off0的定時關系。圖3.6 鍵輸入模塊中輸入和輸出信號的關系從圖3.6 能看出:狀態(tài)控制信號on_off_tmp1是開關信號on_off在時鐘信號clk1的下降沿進行鎖存的鎖存信號;而狀態(tài)控制信號tmp
21、2是tmp1在時鐘信號clk1的下降沿進行的鎖存信號;控制信號on_off_tmp3是狀態(tài)控制信號on_off_tmp2的反相信號;開關脈沖就是時鐘信號clk1、控制信號on_off_tmp1、控制信號on_off_tmp3的邏輯與。根據圖3.6 所示的定時關系對該鍵輸入模塊進行VHDL描述,功能描述如下面源代碼所示。源代碼2library ieee;use ieee.std_logic_1164.all;entity keyin is port ( reset : in std_logic;on_off : in std_logic;clk : in std_logic;clk1 : in
22、std_logic;reset0 : out std_logic;on_off0 : out std_logic);end keyin;architecture rtl of keyin issignal on_off_tmp1 :std_logic;signal on_off_tmp2 :std_logic;signal on_off_tmp3 :std_logic;begin process(clk1) begin if ( clk1event and clk1 =0) then on_off_tmp2 <= on_off_tmp1; on_off_tmp1 <= on_off
23、; on_off_tmp3 <= not on_off_tmp2; end if; end process; process(clk) begin if ( clkevent and clk =0) then on_off0 <= clk1 and on_off_tmp1 and on_off_tmp3; end if; end process;reset0 <= reset; end rtl;圖3.7 鍵入模塊仿真波形3.4.2時鐘分頻模塊分頻模塊的功能就是講一個整的時鐘信號進行分割,分割成時鐘需要的那種頻率。如消除抖動時鐘信號為25Hz那么就要對時鐘進行分配,分配給消除抖
24、動電路一個25Hz的頻率。跑表內部也需要定時信號,因此,也要將時鐘信號分配為一個是100Hz的時鐘信號那么就可以對一個1000Hz的時鐘進行10分頻后得到100Hz,再將100Hz進行4分頻就得到了25Hz了。在本設計中clk0是100Hz的時鐘信號頻率,clk1是一個25Hz的時鐘頻率。下面用語言來描述10分頻電路和4分頻電路。源代碼3library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity clk_div10 is port ( c
25、lk : in std_logic; reset : in std_logic;clk_div : out std_logic);end clk_div10;architecture rtl of clk_div10 is signal count :std_logic_vector (3 downto 0); begin process (clk) begin if ( clkevent and clk =1) then if ( reset = 1) then count <= (others => 0); elsif ( count = “1001”) then count
26、<= ( others => 0); else count <= count +1; end if; end if; end process; process (clk) begin if ( clkevent and clk =1) then if ( count = “1001”) then clk_div <= 1 ; else clk_div <= 0 ; end if; end if; end process; end rtl;在上面的源代碼中,第一步是將時鐘信號進行了10分頻,第二步將時鐘信號進行了4分頻。這里得到的4分頻信號clk1與clk0相與,所
27、以就得到了一個有效的脈沖為1ms的時鐘信號。圖3.8 分頻模塊仿真波形3.4.3控制模塊控制模塊主要就是控制跑表的開始、暫停與停止,以及清零和復位,還有加減鍵的控制??刂颇K主要的功能就是產生跑表的允許信號,這個模塊的輸入信號就是去除抖動后的信號,它還有啟停信號、電源開關信號、內部計時信號。信號的時序關系如圖3.9所示。圖3.9 輸入和輸出信號的關系 根據上面的時序關系,不難寫出控制模塊的VHDL描述??刂颇K的功能描述如源代碼4所示。源代碼4library ieee;use ieee.std_logic_1164.all;entity control is port ( sysreset :
28、 in std_logic; reset0 : in std_logic; on_off0 : in std_logic; clk0 : in std_logic; enable : out std_logic);end control;architecture rtl of control is signal strobe : std_logic;begin process (sysreset,reset0,on_off0) begin if (sysreset=1 or reset0 = 1) then strobe <= 0; elsif (on_off0event and on_
29、off0 = 1 ) then strobe <= not strobe; end if; end process; enable <= strobe;end rtl;圖3.10 控制模塊仿真波形3.4.4跑表計時模塊跑表計時模塊主要就是面對跑表的計時工作,由系統(tǒng)分頻來支配計時的工作,由控制電路的信號來安排跑表。計時模塊有八個部分組成,它們分別是:小時十位信號、小時各位信號、分十位、分個位、秒十位、秒個位、秒0.1、秒0.01信號組成的。它是講1個三進制計數器、5個十進制和2個六進制的計數器串連在一起的,從而來實現這個跑表計時模塊的功能效果。由以上條件和功能形成的跑表的計時模塊的結
30、構框圖如3.4所示。下面我們就要用源代碼來描述一下三進制的、六進制的和十進制的計數器。源代碼5library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity count10 is port ( reset : in std_logic; enable : in std_logic; clk : in std_logic; cout : out std_logic; q : out std_logic_vector(3 downto 0);en
31、d count10;architecture rtl of count10 is signal q_tmp : std_logic_vector(3 downto 0);begin process(clk) begin if (clkevent and clk =1) then if (reset = 1) then q_tmp <= (others => 0); elsif (enable =1) then if (q_tmp =”1001”) then q_tmp <= (others => 0); else q_tmp <= q_tmp+1; end if;
32、 end if; end if; q <= q_tmp; end process; cout <= 1 when q_tmp =”1001” and enable =1 else 0;end rtl;圖3.11 跑表計時模塊的結構框圖 在這些計時的VHDL語言描述中,用元件形式調用計數器。但跑表的計時模塊的VHDL源代碼如下所示圖3.12 計時模塊仿真波形3.4.5跑表顯示模塊 跑表的理論上已經成立了,但要想供大家觀測吸入信息,所以還是需要八個七段的LED顯示數碼管來展現給大家信息。跑表顯示模塊的結構框圖如圖3.13所示。圖3.13 跑表顯示模塊的結構框圖跑表的顯示模塊由count
33、8、位選擇電路、譯碼電路、位選擇譯碼四個電路部分組成。下面就來描述一下顯示模塊的電路。首先描述的是八進制計數器count8,這個八進制計數器沒有使能端口enable和進位輸出端口cout,它的結構與計數器的結構基本上是相同的。它的電路VHDL語言的描述如源代碼6所示。源代碼6library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity count8 is port ( reset : in std_logic;clk : in std_lo
34、gic;sel : out std_logic_vector(2 downto 0);end count8;architecture rtl of count8 is signal sel_tmp : std_logic_vector(2 downto 0);begin process(clk) begin if (clkevent and clk =1) then if (reset = 1) then sel_tmp <= (others => 0); elsif (sel_tmp =”111”) then sel_tmp <= (others => 0); els
35、e sel_tmp <= sel_tmp+1; end if; end if; sel <= sel_tmp; end process;end rtl; 顯示位選的電路功能是根據count8的輸出來表示的,可將他的信號傳輸到一個七段顯示數碼管的choose信號上。當輸出為000時,這里的選通信號就被翻譯成了00000001了。具體的顯示位選的譯碼電路的VHDL的描述如下所示。計時位選電路的輸出端口的計時數據的位數三種。分別是2位的、3位和4位的計時數據。圖3.14 segment信號與數碼管的關系 上面對的是數碼管其中一位的顯示模塊,它由七個塊組成的,每個位置都代表著一個信號由0、
36、1、2、3、4、5、6來組成的信號體。 七段顯示譯碼電路VHDL描述如源代碼7所示。源代碼7library ieee;use ieee.std_logic_1164.all;entity seg7 is port(q : in std_logic_vector(3 downto 0); segment : out std_logic_vector(6 downto 0);end seg7;architecture rtl of seg7 isbegin process(q) begin case q is when “0000” => segment <= “0111111”; w
37、hen “0001” => segment <= “0000110”; when “0010” => segment <= “1011011”; when “0011” => segment <= “1001111”; when “0100” => segment <= “1100110”; when “0101” => segment <= “1101101”; when “0110” => segment <= “1111101”; when “0111” => segment <= “0100111”;
38、when “1000” => segment <= “1111111”; when “1001” => segment <= “1101111”; when others => segment <= “00000000”; end case; end process;end rtl;對跑表顯示模塊中的四個子電路描述以后,就可以進行跑表顯示模塊的總體功能描述了。圖3.15 顯示模塊仿真波形3.5仿真結果仿真步驟:(1) 建立一個波形編輯文件:File-NEW-Waveform Editor file;(2)鼠標指到左邊區(qū)域,左鍵右鍵,選中;(3) List-移
39、動管腳-OK,把仿真用的管腳調出來;(4)設定參數:Options-Grid size;File-End Time;View-Time range;(5)給定輸入信號;(6)保存.scf文件;(7)MAX+Plus-simulator。仿真波形圖如圖3.16所示。3.16 跑表的仿真波形結 語畢業(yè)設計就要結束了,在整個研究設計的過程中,我收獲了許多許多。剛開始做畢業(yè)設計的時候是激情澎湃,把畢業(yè)設計想的很簡單,以為跟以往的課程設計一樣,隨便寫寫就完事了,還準備速戰(zhàn)速決解決掉論文。但是,剛開始做的時候就發(fā)現原來搞一項研究并不像想象的那樣簡單。剛開始做的時候就發(fā)現自己的知識漏洞好多,僅僅靠專業(yè)課本知
40、識解決不了問題的,在著手之前還必須學習相關的知識。在硬件調試過程中,總是出現大量莫名其妙的錯誤和警告,有的要花費好長時間才能分析出來問題所在,還要去結合相關的知識去調試修改。當然,當看到自己所設計的跑表在精確地計時的時候還是很有成就感還是很欣慰的。 總之,本次畢業(yè)設計后讓我真正體驗到了科學研究中那種一絲不茍的嚴謹工作態(tài)度,使我掌握了對VHDL硬件描述語言的熟練運用,培養(yǎng)了我采用理論聯系實際的策略方法,提高了分析、解決計算機技術的實際問題的獨立工作能力,能對數字跑表進行擴展,了解了科學研究與系統(tǒng)開發(fā)的整體分析的步驟,并能更熟練地運用MAX+plus 平臺對設計進行編譯、仿真,以及選用器件,完成系
41、統(tǒng)的功能。通過本次設計,也使我的專業(yè)知識得到拓展,科研的素質得到提升,這些都將對我以后的學習和工作以及研究有很大的幫助。致 謝 畢業(yè)設計任務已經接近了尾聲,這也標志著大學生活將要畫上了句號。在這段時間里,我一直在老師的指導下從事畢業(yè)設計的學習和研究。經過一學期的辛勤努力,此次的畢業(yè)設計也到了收尾的階段,畢業(yè)設計的成果是用來檢驗一個本科生的大學期間學習到的知識水平,由于經驗的不足,在做畢業(yè)設計的時候總會有一些考慮不到的地方,所以如果沒有指導老師的指點和傳授經驗,以及在同一時間做設計的同學們的幫助,想去很好的完成本次畢業(yè)設計是困難的。 在這里首先要感謝趙老師。雖然老師代的課程較多,工作較忙,但作為
42、我的指導老師在做設計的過程中,包括從最開始查閱什么參考資料,到開始擬定畢業(yè)設計題目,然后編寫開題報告和論文草稿的確定,以及后期詳細設計過程等丁老師都給予了我嚴謹細心的指點。并且在設計中有我不太懂不太會的地方,丁老師都會不厭其煩的指導我學習,認真糾正其中每個不該有的錯誤。 其次還要感激在學校學習期間所有教導老師,認真負責的教導我們,讓我們打下堅實的專業(yè)知識基礎。同時還要感謝身邊互幫互助一起努力的同學,正是你們的鼓勵才能讓我在繁雜的設計上堅持到底,并且最終順利的做完本次畢業(yè)設計。 還要感謝在大學里的各位傳道授業(yè)解惑的老師們,使我掌握了扎實的基礎知識和技能,這為畢業(yè)設計的完成奠定了堅實的理論基礎。感
43、謝本次和我一起認真做畢業(yè)設計的同學們,與他們的交流,不僅讓我學到了有關專業(yè)方面的許多知識,而且也從他們身上學到了許多優(yōu)秀的品質。感謝和我一起生活的室友,正是因為有了他們的支持和鼓勵,才讓我的生活充滿快樂與溫馨。再次向身邊所有的同學、朋友、老師表示衷心的感謝!最后感謝我的母校安陽工學院這兩年來的全力培養(yǎng)。參考文獻1姜立東 編著. VHDL語言程序設計及應用. 北京:郵電大學出版社,2010.2王志鵬 編著.可編程邏輯器件開發(fā)器件MAX+plus. 北京:國防工業(yè)出版社,2009.3姜雪松,吳鈺淳,王鷹 編著. VHDL設計實例與仿真. 北京:機械工業(yè)出版社,2012.4廖裕評 編著.使用MAX+
44、plus入門篇. 天津:天津大學出版社,2008.5孟慶海,張洲 編著. VHDL基礎及經典實例開發(fā). 西安:西安交通大學出版社,2008.6潘松,黃繼業(yè) 編著.EDA技術與VHDL. 北京:清華大學出版社,2011.7楊恒 編著. FPGACPLD最新實用技術指南. 北京:清華大學出版社,2011.8朱如琪. FPGA設計實踐教程M.北京:科學出版社,2011. 9黃智偉. FPGA系統(tǒng)設計與實踐M. 北京:電子工業(yè)出版社,2012. 10李宥謀.基于Verilog的FPGA設計基礎M.西安:西安電子科技大學出版社,2013 .11黃焱 FPGA應用開發(fā)入門與經典實例,人民郵電出版社出版,2
45、012年7月12陳賾 FPGA/CPLD與ASIC設計實踐教程科學出版社, 2010年9月13張 強.基FPGA的多功能數字鐘的設計與實現 J .儀器表用戶,2010,14葛澎. FPGA時鐘設計J. 現代電子技術, 2011.915劉明章基于FPGA的嵌入式系統(tǒng)設計北京:國防工業(yè)出版社,2010.9 16朱正偉EDA技術及應用北京:清華大學出版社,2013.10 17袁茵低廉的FPGA解決方案.電子技術(上海).2010,18吳超英基于FPGA/CPLD技術的數字系統(tǒng)設計安徽:安徽工業(yè)大學學報.2011,19楊曉慧基于FPGA的EDA/SOPC技術與VHDL北京國防工業(yè)出
46、版社,2011.7 20 Song Kezhu. FPGA based digital clock DesignJ.Nuclear Electronics & Detect ion Technology. 2012附錄A 管腳引用表變量管腳號硬件連線CLK86CLOCK15CLK189CLOCKH0CLR87SW15PAUSE88SW16decodeout094Adecodeout195Bdecodeout296Cdecodeout397Ddecodeout499Edecodeout5100Fdecodeout637Gdecodeout7160Hss090SS0ss192SS
47、1ss293SS2附錄B 跑表的程序代碼architecture structure of stopwatch is component keyin port ( reset : in std_logic; on_off : in std_logic; clk : in std_logic; clk1 : in std_logic; reset0 : out std_logic;on_off0 : out std_logic);end component;component clk_div port ( sysreset : in std_logic; clk : in std_logic;
48、clk0 :out std_logic; clk1 : out std_logic); end component; component control port ( sysreset : in std_logic; reset0 : in std_logic; on_off0 : in std_logic; clk0 : in std_logic; enable : out std_logic); end component; component time_counter port ( sysreset : in std_logic; reset0 : in std_logic; enable : in std_logic; clk0 : in std_logic; hr10 : out std_logic_vector(1 downto 0); hr : out std_logic_vector(3 downto 0); min10 : out std_logic_vector(2 downto 0); min : out std_logic_vector(3 downto 0); sec10 : out std_logic_vector(2 downto 0); sec : out std_logic_vector(3 down
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年商標保護義務協(xié)議
- 2025年健身房特選設備訓練服務協(xié)議
- 2025年基層金融質押協(xié)議
- 2025年連帶責任保證合同(借款)
- 中小企業(yè)2024年期限勞動合同3篇
- 正規(guī)2025年度藝人經紀合同3篇
- 二零二五年度足療技師外出服務安全協(xié)議范本
- 2025年度度假酒店委托運營管理服務合同
- 二零二五年度汽車牌照租賃與車輛抵押貸款服務協(xié)議
- 2025年度門窗行業(yè)產品召回與質量追溯合同電子版
- 江蘇省南京市協(xié)同體七校2024-2025學年高三上學期期中聯合考試英語試題答案
- 青島版二年級下冊三位數加減三位數豎式計算題200道及答案
- GB/T 12723-2024單位產品能源消耗限額編制通則
- GB/T 16288-2024塑料制品的標志
- 麻風病防治知識課件
- 干部職級晉升積分制管理辦法
- TSG ZF003-2011《爆破片裝置安全技術監(jiān)察規(guī)程》
- 2024年代理記賬工作總結6篇
- 電氣工程預算實例:清單與計價樣本
- VOC廢氣治理工程中電化學氧化技術的研究與應用
- 煤礦機電設備培訓課件
評論
0/150
提交評論