歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

eda課程設計 秒表計時器 王斯

  • 資源ID:111813662       資源大小:687KB        全文頁數(shù):18頁
  • 資源格式: DOC        下載積分:16積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要16積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

eda課程設計 秒表計時器 王斯

目錄1 引言11.1 課程設計的目的21.2 課程設計的內(nèi)容22 EDA、VHDL簡介22.1 EDA技術(shù)22.2 硬件描述語言VHDL32.2.1 VHDL的簡介3 VHDL語言的特點32.2.3 VHDL的設計流程43設計過程53.1 設計規(guī)劃53.2 頂層模塊設計63.3 底層模塊設計64 系統(tǒng)仿真135 結(jié)束語166參考文獻171 引言在科技高度開展的今天,集成電路和計算機應用得到了高速開展。尤其是計算機應用的開展。它在人們?nèi)粘I钜阎饾u嶄露頭角。大多數(shù)電子產(chǎn)品多是由計算機電路組成,如: 、mp3等。而且將來的不久他們的身影將會更頻繁的出現(xiàn)在我們身邊。各種家用電器多會實現(xiàn)微電腦技術(shù)。電腦各局部在工作時多是一時間為基準的。本文就是基于計算機電路的時鐘脈沖信號、狀態(tài)控制等原理設計出的數(shù)字秒表。秒表在很多領域充當一個重要的角色。在各種比賽中對秒表的精確度要求很高,尤其是一些科學實驗。他們對時間精確度到達了幾納秒級別。1.1 課程設計的目的本次設計的目的就是在掌握EDA實驗開發(fā)系統(tǒng)的初步使用根底上,了解EDA技術(shù),對計算機系統(tǒng)中時鐘控制系統(tǒng)進一步了解,掌握狀態(tài)機工作原理,同時了解計算機時鐘脈沖是怎么產(chǎn)生和工作的。在掌握所學的計算機組成與結(jié)構(gòu)課程理論知識時。通過對數(shù)字秒表的設計,進行理論與實際的結(jié)合,提高與計算機有關設計能力,提高分析、解決計算機技術(shù)實際問題的能力。通過課程設計深入理解計算機結(jié)構(gòu)與控制實現(xiàn)的技術(shù),到達課程設計的目標。1.2 課程設計的內(nèi)容利用VHDL語言設計基于計算機電路中時鐘脈沖原理的數(shù)字秒表。該數(shù)字秒表能對0秒59分59.99秒范圍進行計時,顯示最長時間是59分59秒。計時精度到達10ms。設計了復位開關和啟停開關。復位開關可以在任何情況下使用,使用以后計時器清零,并做好下一次計時的準備。2 EDA、VHDL簡介2.1 EDA技術(shù)EDA是指以計算機為工作平臺,融合了應用電子技術(shù)、計算機技術(shù)、智能化技術(shù)的最新成果而開發(fā)出的電子CAD通用軟件包,它根據(jù)硬件描述語言HDL完成的設計文件,自動完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局布線及仿真,直至完成對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。目前EDA主要輔助進行三個方面的設計工作:IC設計、電子電路設計和PCB設計。沒有EDA技術(shù)的支持,想要完成超大規(guī)模集成電路的設計制造是不可想象的;反過來,生產(chǎn)制造技術(shù)的不斷進步又必將對EDA技術(shù)提出新的要求。2.2 硬件描述語言VHDL VHDL的簡介VHDL語言是一種用于電路設計的高級語言。它在80年代的后期出現(xiàn)。最初是由美國國防部開發(fā)出來供美軍用來提高設計的可靠性和縮減開發(fā)周期的一種使用范圍較小的設計語言 。但是,由于它在一定程度上滿足了當時的設計需求,于是他在1987年成為A I/IEEE的標準IEEE STD 1076-1987。1993年更進一步修訂,變得更加完備,成為A I/IEEE的A I/IEEE STD 1076-1993標準。目前,大多數(shù)的CAD廠商出品的EDA軟件都兼容了這種標準。自IEEE公布了VHDL的標準版本,IEEE-1076簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設計環(huán)境,或宣布自己的設計工具可以和VHDL接口。此后VHDL在電子設計領域得到了廣泛的接受,并逐步取代了原有的非標準的硬件描述語言。1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標準的1076-1993版本,簡稱93版?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標準硬件描述語言,又得到眾多EDA公司的支持,在電子工程領域,已成為事實上的通用硬件描述語言。有專家認為,在新的世紀中,VHDL于Verilog語言將承擔起大局部的數(shù)字系統(tǒng)設計任務。 VHDL語言的特點VHDL的程序結(jié)構(gòu)特點是將一項工程設計,關于用VHDL和原理圖輸入進行CPLD/FPGA設計的粗略比較:在設計中,如果采用原理圖輸入的設計方式是比較直觀的。你要設計的是什么,你就直接從庫中調(diào)出來用就行了。這樣比較符合人們的習慣。在對一個設計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設計就可以直接調(diào)用這個實體。這種將設計實體分成內(nèi)外局部的概念是VHDL系統(tǒng)設計的根本點。應用VHDL進行工程設計的優(yōu)點是多方面的。1與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為系統(tǒng)設計領域最正確的硬件描述語言。強大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證。2VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設計早期就能查驗設計系統(tǒng)的功能可行性,隨時可對設計進行仿真模擬。3VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設計的分解和已有設計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。4對于用VHDL完成的一個確定的設計,可以利用EDA工具進行邏輯綜合和優(yōu)化,并自動的把VHDL描述設計轉(zhuǎn)變成門級網(wǎng)表。5VHDL對設計的描述具有相對獨立性,設計者可以不懂硬件的結(jié)構(gòu),也不必管理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計。2.2.3 VHDL的設計流程它主要包括以下幾個步驟:1.文本編輯:2.功能仿真:將文件調(diào)入HDL仿真軟件進行功能仿真,檢查邏輯功能是否正確也叫前仿真,對簡單的設計可以跳過這一步,只在布線完成以后,進行時序仿真3.邏輯綜合:將源文件調(diào)入邏輯綜合軟件進行綜合,即把語言綜合成最簡的布爾表達式。邏輯綜合軟件會生成.edf或.edif 的EDA工業(yè)標準文件。4.布局布線:將.edf文件調(diào)入PLD廠家提供的軟件中進行布線,即把設計好的邏輯安放PLD/FPGA內(nèi)。5.時序仿真:需要利用在布局布線中獲得的精確參數(shù),用仿真軟件驗證電路的時序。也叫后仿真 通常以上過程可以都在PLD/FPGA廠家提供的開發(fā)工具。6.器件編程3設計過程 設計規(guī)劃根據(jù)系統(tǒng)設計要求,系統(tǒng)的組成框圖如圖31所示。數(shù)字秒表計時控制電路計時電路顯示電路控制模塊時基分頻電路計數(shù)器掃描電路譯碼器六進制計數(shù)器十進制計數(shù)器圖31 系統(tǒng)組成框圖系統(tǒng)設計采用自頂向下的設計方法,它主要是由控制模塊、時基分頻模塊、計時模塊和顯示模塊四局部組成。1控制模塊 計時控制模塊的作用是對計時過程進行控制。計時控制模塊可用兩個按鈕開關來完成秒表的啟動、停止和復位。2計時模塊 計時模塊執(zhí)行計時功能,計時的方法是對標準時鐘脈沖計數(shù)。由于計時范圍是0秒59分59.59秒,所以計時器可以由兩個60進制計數(shù)器和一個100進制計數(shù)器構(gòu)成,其中分和秒采用60進制計數(shù)器,毫秒采用100進制計數(shù)器。3顯示模塊計時顯示電路的作用是將計時值在LED七段譯碼數(shù)碼管上顯示出來。計時電路產(chǎn)生的計時值經(jīng)過BCD七段譯碼后,驅(qū)動LED數(shù)碼管。3.2 頂層模塊設計以上所描述的模塊的程序編寫均在同一工程下,由程序生成的元件也在該工程下,所以可以在該工程下再建一原理圖作為頂層,將所需要的元件按照要求進行連線,參加輸入輸出處端口并改名。包層原理圖,并將原理圖置為頂層文件。如以下圖:3.3 底層模塊設計 底層單元模塊共有七個,全部用VHDL語言描述。它主要是由計時電路、計時控制電路及顯示電路組成。.1 計時模塊計時電路執(zhí)行計時功能,主要是由時基分頻器、計數(shù)器組成。計時方法是對標準時鐘脈沖計數(shù),計數(shù)器是由一個100進制計數(shù)器和兩個60進制計數(shù)器構(gòu)成,其中毫秒位采用100進制計數(shù)器,秒位和分位采用60進制計數(shù)器。100進制計數(shù)器的源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt100 is port(cs,clk:in std_logic; co:buffer std_logic; s_10ms,s_100ms:buffer std_logic_vector(3 downto 0); clear:in std_logic);end ;architecture behave of cnt100 issignal clock:std_logic;beginprocess(clk) variable count1:integer range 0 to 5;begin if clk'event and clk='1' then if count1<5 then count1:=count1+1; else clock<=not clock; count1:=0; end if; end if;end process;process(clock,cs,clear)begin if clear='0' then if cs='1' then if clock'event and clock='1' then co<='0' if s_10ms=9 then s_10ms<=(others=>'0'); if s_100ms=9 then s_100ms<=(others=>'0');co<=not co; else s_100ms<=s_100ms+1; end if; else s_10ms<=s_10ms+1; end if; end if; else s_10ms<=s_10ms;s_100ms<=s_100ms; end if;else s_10ms<=(others=>'0');s_100ms<=(others=>'0');end if;end process;end behave;60秒進制計數(shù)器源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60s is port(clk:in std_logic; co:buffer std_logic; s_1s,s_10s:buffer std_logic_vector(3 downto 0); clear:in std_logic);end ;architecture behave of cnt60s isbegin process(clk)begin if clear='0' then if clk'event and clk='1' then co<='0' if s_1s=9 then s_1s<=(others=>'0'); if s_10s=5 then s_10s<=(others=>'0');co<=not co; else s_10s<= s_10s+1; end if; else s_1s<= s_1s+1; end if; end if;else s_1s<=(others=>'0');s_10s<=(others=>'0');end if;end process;end behave;60分進制源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60m is port(clk:in std_logic; s_1min,s_10min:buffer std_logic_vector(3 downto 0); clear:in std_logic);end ;architecture behave of cnt60m isbegin process(clk)begin if clear='0' then if clk'event and clk='1' then if s_1min=9 then s_1min<=(others=>'0'); if s_10min=5 then s_10min<=(others=>'0'); else s_10min<= s_10min+1; end if; else s_1min<= s_1min+1; end if; end if; else s_1min<=(others=>'0');s_10min<=(others=>'0');end if;end process;end behave;3.3.2 分頻模塊分頻模塊的作用把輸入時鐘信號變?yōu)榉诸l輸出信號。源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fenpin is port (clk:in std_logic; ft:out std_logic);end fenpin;architecture a of fenpin issignal fm:std_logic;beginprocess(clk)variable num:integer range 0 to 100;beginif clk'event and clk='1' then if num<50 then num:=num+1; else num:=1; fm<=not fm; end if ;end if;ft<=fm;end process;end a;3.3.3 顯示模塊計時顯示電路的作用是將計時值在LED數(shù)碼管上顯示出來。計時電路產(chǎn)生的值經(jīng)過BCD七段譯碼后,驅(qū)動LED數(shù)碼管。BCD七段譯碼器源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY BCD IS PORT( BCD:IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); END BCD;ARCHITECTURE ART OF BCD ISBEGINLED<="1111110"WHEN BCD ="0000" ELSE"0110000"WHEN BCD ="0001" ELSE"1101101"WHEN BCD ="0010" ELSE"1111001"WHEN BCD ="0011" ELSE"0110011"WHEN BCD ="0100" ELSE"1011011"WHEN BCD ="0101" ELSE"1011111"WHEN BCD ="0110" ELSE"1110000"WHEN BCD ="0111" ELSE"1111111"WHEN BCD ="1000" ELSE"1111011"WHEN BCD ="1001" ELSE"0000000"END ART;3.3.4 控制模塊計時模塊的作用是針對計時過程進行控制。計時控制模塊可用倆個按鈕來完成秒表的啟動、停止和復位??刂颇K源程序:library ieee;use ieee.std_logic_1164.all;entity control is port(s_10ms,s_100ms,s_1s,s_10s,s_1min,s_10min:in std_logic_vector(3 downto 0); choose:in std_logic_vector(2 downto 0); y:out std_logic_vector(3 downto 0); end ;architecture behave of control is begin process(choose) begincase choose is when "000"=>y<=s_10ms; when "001"=>y<=s_100ms; when "010"=>y<=s_1s; when "011"=>y<=s_10s; when "100"=>y<=s_1min; when "101"=>y<=s_1min; when others=>null; end case;end process;end behave;4 系統(tǒng)仿真(1) 分頻模塊的仿真如圖 4-1所示圖 4-1 分頻器仿真圖clk為時鐘輸入信號,ft為分頻輸出信號。(2) 計時電路模塊的仿真如圖 4-2圖4-4所示 六十秒進制計數(shù)器的仿真如圖4-2所示 六十分進制計數(shù)器的方針如圖4-3所示 一百進制計數(shù)器的仿真如圖4-4所示圖4-2 六十秒進制計數(shù)器的仿真圖圖4-3六十分進制計數(shù)器的仿真圖圖 4-4一百進制計數(shù)器的仿真圖(3) 顯示電路模塊的仿真如圖45所示 BCD七段譯碼器驅(qū)動器的仿真如圖 4-5所示圖4-5 BCD七段譯碼器的仿真圖5 結(jié)束語開始做設計時總是會犯一些錯誤,只有經(jīng)過不停的改錯不停的編譯得到正確的程序說明了作為軟件編程人員是不能粗心大意的,一個程序的質(zhì)量的上下與你細心與否有著一定的聯(lián)系。在編程時,我充分使用了結(jié)構(gòu)化的思想,這樣程序檢查起來也比較方便,調(diào)試時也給了我很大方便,只要一個模塊一個模塊的進行調(diào)就可以了,充分表達了結(jié)構(gòu)化編程的優(yōu)勢。在設計中要求我要有耐心和毅力,還要細心,稍有不慎,一個小小的錯誤就會導致結(jié)果的不正確,而對錯誤的檢查要求我要有足夠的耐心,通過這次設計和設計中遇到的問題,也積累了一定的經(jīng)驗,對以后從事集成電路設計工作會有一定的幫助。在應用VHDL的過程中讓我真正領會到了其并行運行與其他軟件順序執(zhí)行的差異及其在電路設計上的優(yōu)越性。用VHDL硬件描述語言的形式來進行數(shù)字系統(tǒng)的設計方便靈活,利用EDA軟件進行編譯優(yōu)化仿真極大地減少了電路設計時間和可能發(fā)生的錯誤,降低了開發(fā)本錢,這種設計方法在數(shù)字系統(tǒng)設計中發(fā)揮越來越重要的作用。 6參考文獻1

注意事項

本文(eda課程設計 秒表計時器 王斯)為本站會員(e****s)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!