久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

基于EDA技術的數字時鐘設計 最終版范文

時間:2019-05-12 07:07:01下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《基于EDA技術的數字時鐘設計 最終版范文》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《基于EDA技術的數字時鐘設計 最終版范文》。

第一篇:基于EDA技術的數字時鐘設計 最終版范文

物理與電子學院

《》 課程考核論文

論文作者姓名:

者 學 號:

學 專 業:

理科

物理方向

課 教 師:

高偉

成 時 間:

2015年6月

基于EDA技術的數字時鐘設計

目錄

摘要··················································································2 一.緒論·············································································3 1.課題的研究背景·································································3 2.數字電子鐘的發展簡況·························································3 二.系統設計········································································4 1.整體規劃·········································································4 2.時基信號產生電路·······························································5 3.調時、調分信號的產生電路····················································5 4.計數顯示電路····································································6 三.基本功能實現···································································6 1.時鐘計數··········································································7 2.校時設置··········································································7 3.清零功能··········································································8 4.定時、報時功能··································································9 四.系統軟件實現···································································9 1.詳細模塊描述·····································································9 2.總體設計及引腳設置·····························································9 五.系統仿真及分析································································10 1.各模塊時序仿真·································································10 2.總體時序仿真····································································11 3.實驗結果·········································································11 六.設計總結········································································12 ·參考文獻···········································································12 附錄:參考程序······································································13

摘要

隨著基于PLD的EDA技術的發展和應用領域的擴大與深入,EDA技術在電子信息、通信、自動控制及計算機應用等領域的重要性日益突出。本文詳細介紹EDA課程設計任務——數字鐘的設計的詳細設計過程及結果,并總結出心得體會。

主體:主要涉及模60與模24計數器、動態顯示控制電路、分頻器主要整點報時電路,這些電路都是以模塊封裝好的,以便其他電路調用。以計數器構成計時部件,通過分頻器分出的1HZ脈沖計時,調用動態顯示電路顯示,通過整點報時電路控制蜂鳴器。在計數器級聯時采用內部同步外部異步的方式,但通過簡單的改變達到了同步的效果而且比同步還可靠。顯示控制時為了節約資源采用動態原理。

關鍵字 多功能數字時鐘

整點報時 EDA技術 VHDL語言

Abstract

This article is based on the QuartusII software and the corresponding experimental platform to complete a multi-function digital timer experiment, so that we clearly understand to us digital table function is how to achieve.Used in the design of the level design thought, function decreases progressively step by step.The experiment mainly includes the mainbody-the basic functions of the circuit of clock.Subject: mainly relates to mode 60and mode 24counter, dynamicdisplay of control circuit, the primary divider the whole point timekeeping circuit, the circuit is in module a good package, so that other circuit calls.To counter through a frequency divider which timing components, from1HZ pulse timing,called dynamic display circuit displays, through the wholepoint timekeeping circuit control buzzer.In counter cascade usesinternal synchronous external asynchronous manner, but bysimplychanging the synchronization effect and is more reliable thansynchronous.Display control in order to save resources by the dynamic principle.Key word: Level design Multifunctional digital clock Synchronization The whole point timekeeping The language of VHDL

一.緒論

1.課題的研究背景

當面對這樣一個信息爆炸的時代,時間變得越來越寶貴,人們無疑需要一個良好的計劃時間表,而這就需要一個系統完善成熟的定時系統來及時提醒人們。然而在這個新技術、新產品不斷涌現,各類產品功能日益強大,這就需要我們帶著戰略性眼光選擇。多功能數字電子鐘無意是人們最好的選擇之一,多功能數字時鐘小巧、價格低廉,外觀造型日益精美、精確度高、功能齊全、使用方便,不僅僅可以顯示鐘表的功能也具備計時、測溫、定鬧鐘、顯示日歷、語音報表等功能,其集成化高而受到廣大人們群眾喜愛。在人們不斷的要求下,多功能數字鐘已經成為現代設計時鐘研究生產的主導方向。

2.數字電子鐘的發展簡況

在國外,公元以前,人們也是主要利用天文現象來計時,比如觀察太陽日出日落、星相的轉移,此后當在德國的亨萊思創造了小型機械鐘開始,國外的鐘表行業逐漸掀起,到了19世紀,鐘表制造業已經成為人們必不可少的一個行業,鐘表制造業也逐漸的實現了工業化生產,在20世紀,隨著電子潮流的飛速發展,鐘表行業也出現了翻天覆地的變化,由單一的機械表轉向多元式的鐘表,有電池驅動鐘、電機械表、指針式電子鐘表、數字式電子鐘表等種類,并且功能不斷的增多如現在出現的多功能數字電子鐘,它采用的是數字電路來顯示分秒,它的作用早已不僅限于計時的功能,它還可以顯示日歷、定鬧、報時、測溫等功能。它人性化的設計給人們的生活帶來了很多的方便,成為人們日常生活的必需品。

二.系統設計

1.整體規劃

數字電子時鐘主干電路系統由秒信號發生器、“時、分、秒”計數器、譯碼器及顯示器、校時電路、整點報時電路組成。將標準秒信號送入“秒計數器”,“秒計數器”采用60進制計數器,每累計60秒發出一個“分脈沖”信號,該信號將作為“分計數器”的時鐘脈沖。“分計數器”也采用60進制計數器,每累計60分鐘,發出一個“時脈沖”信號,該信號將被送到“時計數器”。“時計數器”采用12進制計時器,可實現12小時的累計。通過六個LED顯示器顯示出來。整點報時電路根據計時系統的輸出狀態產生一脈沖信號,然后去觸發一音頻發生器實現報時。校時電路用來對“時”、“分”、“秒”顯示數字進行校對調整。

電子時鐘系統總體規劃如圖1所示:

(1)根據電路特點,用層次設計概念,將此設計任務分成若干模塊,規定每一模塊的功能和各模塊之間的接口,同時加深層次化設計概念。

(2)軟件的元件管理深層含義,以及模塊元件之間的連接概念,對于不同目錄下的同一設計,如何融合。

(3)適配劃分前后的仿真內容有何不同概念,仿真信號對象有何不同,有更深一步了解。

(4)按適配劃分后的引腳鎖定,同相關功能模塊硬件電路的接口連線。(5)所有模塊采用VHDL硬件描述語言設計。

圖1 總體方案框圖

2.時基信號產生電路

數字鐘以其顯示時間的直觀性、走時準確性作為一種計時工具,數字鐘的基本組成部分離不開計數器,在控制邏輯電路的控制下完成預定的各項功能。由晶振產生的頻率非常穩定的脈沖,經整形、穩定電路后,產生一個頻率為1Hz的、非常穩定的計數時鐘脈沖。

3.調時、調分信號的產生電路

由計數器的計數過程可知,正常計數時,當秒計數器(60進制)計數到59 時,再來一個脈沖,則秒計數器清零,重新開始新一輪的計數,而進位則作為分計數器的計數脈沖,使分計數器計數加1。把秒計數器的進位脈沖和一個頻率為2Hz的脈沖信號同時接到一個2選1數據選擇器的兩個數據輸入端,而位選信號則接一個脈沖按鍵開關,當按鍵開關不按下去時(即為0),則數據選擇器將秒計數器的進位脈沖送到分計數器,此時,數字鐘正常工作;當按鍵開關按下去時(即為1),則數據選擇器將另外一個2Hz 的信號作為分計數器的計數脈沖,使其計數頻率加快,當達到正確時間時,松開按鍵開關,從而達到調時的目的。調節小時的時間也一樣的實現。

4.計數顯示電路

由計數部分、數據選擇器、譯碼器組成,是時鐘的關鍵部分。

1、計數部分:由兩個60進制計數器和一個24 進制計數器組成,其中60 進制計數器可用6 進制計數器和10 進制計數器構成;24 進制的小時計數同樣可用6 進制計數器和10 進制計數器得到:當計數器計數到24 時,“2”和“4”同時進行清零,則可實現24 進制計數。

2、數據選擇器:84 輸入14 輸出的多路數據選擇器,因為本實驗用到了8個數碼管(有兩個用來產生隔離符號‘—’)。

3、譯碼器:七段譯碼器。譯碼器必須能譯出‘—’,由實驗二中譯碼器真值表可得:字母F 的8421BCD 碼為“1111”,譯碼后為“1000111”,現在如果只譯出‘—’,即字母F的中間一橫,則譯碼后應為“0000001”,這樣,在數碼管上顯示的就為‘—’。

三.基本功能實現

1.時鐘計數:

首先下載程序進行復位清零操作,電子鐘從00:00:00計時開始。sethour可以調整時鐘的小時部分, setmin可以調整分鐘,步進為1。

由于電子鐘的最小計時單位是1s,因此提供給系統的內部的時鐘頻率應該大于1Hz,這里取100Hz。CLK端連接外部10Hz的時鐘輸入信號clk。對clk進行計

數,當clk=10時,秒加1,當秒加到60時,分加1;當分加到60時,時加1;當時加到24時,全部清0,從新計時。

用6位數碼管分別顯示“時”、“分”、“秒”,通過OUTPUT(6 DOWNTO 0)上的信號來點亮指定的LED七段顯示數碼管。

2.校時設置:

手動調節分鐘、小時,可以對所設計的時鐘任意調時間,這樣使數字鐘真正具有使用功能。我們可以通過實驗板進行任意的調整,因為我們用的時鐘信號均是1HZ的,所以每LED燈變化一次就來一個脈沖,即計數一次。

通過一個開關的兩種電平,來打開個關閉一個二輸入與非門,另一個輸入端接1Hz的信號。因此這個開關實現了1Hz信號是否加入電路的作用,開關打在高電平上,1Hz信號通過與非門,開關打在低電平上,與非門輸出為高電平。把與非門的輸出信號,和時鐘正常走時所需要的時鐘信號,一起通過與門,加給分個位時鐘信號的輸入端即可,這樣分校時開關打在高電平上,分個位以1Hz的頻率跳動起來,分校時開關打在低電平上時,正常走時。同理小時校準與此相同。

3.清零功能:

reset為復位鍵,低電平時實現清零功能,高電平時正常計數。可以根據我們自己任意時間的復位。

清零電路設計的關鍵就是要解決好同步問題,在發出清零信號時,所有計數器的時鐘信號是一致的,而且處于有效的邊沿。為此可以設計當清零信號有效時,很高頻率的信號同時加入個計數器的時鐘端,而當清零信號無效時,各計數器上時鐘端加的是正常走時所需要的時鐘信號。也可以用與門,或門和非門實現上述的功能。當清零信號為低時,清零信號經過一個非門變為高電平信號,將與門打開,高頻信號通過與門,在與秒各位計數器的時鐘端上的信號相或,與其他各位計數器時鐘輸入端上的信號相與。這樣,當清零信號有效時,每一位計數器上的時鐘輸入端實現了同步的功能,實現了同步清零的功能。當清零信號無效時,時鐘正常走時。

4.定時、報時功能:

整點報時電路根據計時系統的輸出狀態產生一脈沖信號,然后去觸發一音頻發生器實現報時。它通過對定時和計時的比較來完成報時,由兩個計數器組成,計數器由兩個開關控制,用來對定時的分鐘和時鐘設定,當開關都打到不送脈沖的狀態,兩個計數器都保持,從而達到存儲的目的。比較電路用來比較定時時間和計時時間,當它們一致時,輸出為1,這樣可以驅動報時模塊。最后,利用顯示電路將定的時間設定輸出。要使定時起到提醒作用,還要有鈴聲,這里用1hz脈沖作為蜂鳴器的信號源。

四.系統軟件實現

1.詳細模塊描述

(1)Second模塊為秒計數模塊。Clk作為秒脈沖,reset復位,setmin用于調整分鐘,接按鍵,enmin是當秒計數記到59后產生分脈沖,秒計數重新從0開始計數。Daout為秒計數。

(2)Minute模塊為分計數模塊。Clk作為分脈沖,接second模塊的enmin,reset用于復位,sethour用于調整小時,接按鍵,enhour是當分計數記到59后產生時脈沖,分計數重新從0開始計數。Daout為分計數。

(3)Hour模塊為時計數模塊,clk為時脈沖,接minute模塊的enhour,reset復位,daout為時計數。

(4)Alert模塊為整點報時模塊。其中clk1用于在其上升沿判斷是否為整點時刻,若是則加clk秒脈沖從speak端口輸出到揚聲器作為聲音信號,報時10秒。Stop為停止報時控制,接按鍵,按動按鍵時若在報時則報時停止。Reset復位端。dainsh和dianm分別接分計數和秒計數,用于判斷整點和報時。

2.總體設計及引腳設置

在軟件中設置后頂層原理圖顯示為

設計思想,利用脈沖時鐘產生一個1Hz的信號來實現一秒鐘的控制,要產生1Hz的信號就要用到分頻器,實驗中用三個百分頻器把1MHz的信號變成1Hz。然后信號進入控制秒的計數器,當 的仿真時間域以便有足夠長的觀察時間。波形文件存盤后運行仿真器,直到出現仿真結果。

24進制的時控制模塊中當clk為上升沿時,hour1輸出由9變為0,并且hour1都是由0到9循環,hour2輸出由2變為0,并且hour2都是由0到2循環。

60進制的分控制模塊中當clk和carry為上升沿時,min1輸出由9變為0,并且min1都是由0到9循環,min2輸出由5變為0,并且min2都是由0到5循環。

60進制的秒控制模塊中當clk和carry為上升沿時,sec1輸出由9變為0,并且sec1都是由0到9循環,sec2輸出由5變為0,并且sec2都是由0到5循環。

仿真波形

3.實驗結果

首先,由石英晶體振蕩器輸出穩定的脈沖信號,經過振蕩器輸出標準的秒脈沖信號,秒計數電路為六十進制計數器,秒計數電路將振蕩器產生的秒脈沖信號作為輸入信號,進行計數,并通過秒顯示器顯示秒;其次,當秒計數器完成60個秒計數后,秒計時電路清零,輸出一個“分計時信號”,分計時電路收到秒計時電路產生的信號后,開始計數并顯示分;再次,當分計時電路完成60個分計數后,分計數器清零,輸出一個“時計時信號”,時計時電路收到分計時電路產生的信號后,開始計數并顯示時;最后,時計時電路完成24個時計數后,清零。完成電子鐘基本功能仿真結果。

六.設計總結

通過畢業論文設計,我進一步加深了對電子設計的認識,進一步熟練了對QuartusII軟件的操作。在編寫程序的過程中,遇到了很多問題,使我發現自己以前學習上存在的不足。通過同學探討和請教老師的方式,終于把問題都解決了。對數字時鐘原理和設計思路的更詳細的了解,掌握了做畢業設計的一般流程,為以后的電路設計積累了一定的經驗。做畢業設計時,我先查閱了相關知識,把原理吃透,確定一個大的設計方向,在按照這個方向分模塊的把要實現的功能用流程圖的形式展示。最后參照每個模塊把輸入和輸出引腳設定,運用我們所學的VHDL語言進行編程。通過這次的設計,我深入了解了EDA技術,收獲很大,對軟件編程、排錯調試、相關儀器設備的使用技能等方面得到較全面的鍛煉和提高。

經過這次的畢業設計我學到的也不止是一些新的理論知識和具體的動手實踐。更重要的是一種思路,大的問提可以轉換成小的問題解決,困難的問題通過轉換成簡單的問題解決。相信這將會對我今后的學習工作帶來幫助。設計論文過程中我認識到我專業知識缺少的還很多,實踐經驗也相當匱乏。因此在今后我還需要不斷的去學習新的知識,不斷的充實自身。

在此,再次感謝梁勇老師的悉心指導,您讓使我學到了很多很多!

·參考文獻

1.EDA技術實用教程----vhdl版(carry:out std_logic);end second;architecture rt1 of second is signal sec1_t,sec2_t:std_logic_vector(3 downto 0);begin process(clk,reset)begin if reset='1'then sec1_t<=“0000”;sec2_t<=“0000”;elsif clk'event and clk='1'then if sec1_t=“1001”then sec1_t<=“0000”;if sec2_t=“0101”then sec2_t<=“0000”;else sec2_t<=sec2_t+1;end if;else sec1_t<=sec1_t+1;end if;if sec1_t=“1001” and sec2_t=“0101”then carry<='1';else carry<='0';end if;end if;end process;sec1<=sec1_t;sec2<=sec2_t;end rt1;

分模塊 程序如下:

library ieee;

use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute is port(clk,reset:in std_logic;min1,min2:out std_logic_vector(3 downto 0);carry:out std_logic);end minute;architecture rt1 of minute is signal min1_t,min2_t:std_logic_vector(3 downto 0);begin process(clk,reset)begin if reset='1'then min1_t<=“0000”;min2_t<=“0000”;elsif clk'event and clk='1'then if min1_t=“1001”then min1_t<=“0000”;if min2_t=“0101”then min2_t<=“0000”;else min2_t<=min2_t+1;end if;else min1_t<=min1_t+1;end if;if min1_t=“1001” and min2_t=“0101”then carry<='1';else carry<='0';end if;end if;end process;min1<=min1_t;min2<=min2_t;end rt1;

時模塊

程序如下:

library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour is port(clk,reset:in std_logic;hour1,hour2:out std_logic_vector(3 downto 0));end hour;architecture rt1 of hour is signal hour1_t,hour2_t:std_logic_vector(3 downto 0);begin process(clk,reset)begin if reset='1'then hour1_t<=“0000”;hour2_t<=“0000”;elsif clk'event and clk='1'then if hour1_t=“0011” and hour2_t=“0010”then hour1_t<=“0000”;hour2_t<=“0000”;else if hour1_t=“1001”then hour1_t<=“0000”;if hour2_t=“0010”then hour2_t<=“0000”;else hour2_t<=hour2_t+1;end if;else hour1_t<=hour1_t+1;end if;end if;end if;end process;hour1<=hour1_t;

hour2<=hour2_t;end rt1;譯碼顯示模塊 程序如下: library ieee;use ieee.std_logic_1164.all;entity segment7 is port(data:in std_logic_vector(3 downto 0);dout:out std_logic_vector(6 downto 0));end segment7;architecture behav of segment7 is begin process(data)begin case data is when “0000”=>dout<=“0111111”;when “0001”=>dout<=“0000110”;when “0010”=>dout<=“1011011”;when “0011”=>dout<=“1001111”;when “0100”=>dout<=“1100110”;when “0101”=>dout<=“1101101”;when “0110”=>dout<=“1111101”;when “0111”=>dout<=“0100111”;when “1000”=>dout<=“1111111”;when “1001”=>dout<=“1101111”;when others=>dout<=“0000000”;end case;end process;end behav;

第二篇:EDA課程設計 數字時鐘

EDA

課程設計報告

一·設計任務

使用硬件描述語言,在CPLD/FPGA上實現一個多功能數字鐘。

二·設計要求

除按鍵、LED、揚聲器、時鐘信號外,整個數字鐘的功能要求在一塊芯片上實現。

a)具有時,分,秒,計數顯示功能,以24小時循環計時; b)具有時間清零功能;

c)具有小時、分鐘和秒鐘調整功能(個位和十位分開調或合起來調)。

d)具有鬧鐘功能,能預設鬧鐘時間,精確到秒。

整個數字鐘只設一個時鐘輸入端口,所需不同頻率信

號在內部分頻實現。(LED掃描頻率設為50Hz以上)。

三·設計方案

設計采用模塊方式,分別為分頻模塊:產生1Hz的脈沖作為秒的輸入,和產生1kHz的脈沖作為數碼管顯示的動態掃描。計時模塊:秒模塊,分模塊,時模塊。鬧鐘模塊,顯示模塊,控制模塊。

四·模塊端口設置

1.分頻模塊

輸入:clkin :

本實驗輸入為50MHz晶振

輸出:clk : 為顯示模塊及始終調節提供1KHz脈沖

clkt: 為計數器模塊提供1Hz脈沖

2.計時模塊

m 是模式按鍵,當m=0 時,進入計時模式,在計時模式下可以進行時間調整。num3,num4 產生加速調整時間,當其值為1 時,可以快速調整時間,該調整時間的頻率由clk 提

供。counta,count1 是手動調節時間。Turn 接按鍵,可以改變當前調節的是小時還是分鐘,長按turn 鍵還可以使秒鐘信號清零。sec1,min1,hour1 輸出的是計時的秒,分,時。

3.鬧鐘模塊

原理:num1,num2 產生加速調整時間,當其值為1 時,可以快速調整時間,該調整時間的

頻率由clk 提供。countb,count2 是手動調節鬧鐘時間。amin,ahour 是輸出的鬧鐘的分鐘和 小時 4.控制模塊

m 是模式按鍵,當m=0 時,指當前輸出的是計時功能;當m=1 時,指當前調整的是

鬧鐘時間;當m=2 時,指當前調整的是計時時間;當m=3 時,此時turn 按鍵可用于跑表的

暫停與開始。change 接按鍵,手動調整時,每按一次,計數器加1;如果長按,則連續快

速加1,用于快速調時和定時;turn 接按鍵,在手動校時功能時,選擇是調整小時,還是分

鐘;若長時間按住該鍵,還可使秒信號清零,用于精確調時。count1,count2,counta,countb 分

別是用來調節計時時間和鬧鐘時間。LD_min,LD_hour,指示當前調節的是分鐘還是小時。5 顯示模塊

輸入:clk--1kHz時鐘,提供高頻掃描

in0、in1…in5--分別為時、分、秒的個位與十位信號

輸出:a、b…g--數碼管輸入

d0、d1…d5--數碼管選通

五.程序。

分頻模塊

module fenpin(clk,clkt,clkin);input clkin;output clk,clkt;reg clk,clkt;reg [31:0]out,t1;

initial t1<=0;initial out<=0;initial clk<=0;initial clkt<=0;

always@(posedge clkin)begin

out<=out+1;

if(out==20000)

begin

out<=0;

clk<=!clk;

end end

always@(posedge clk)

begin

t1<=t1+1;

if(t1==1000)

begin

clkt<=1;

t1<=0;

end

else

clkt<=0;end endmodule

計時模塊 module jishi(clk,clk_1Hz, turn,mode,count1,counta,sec1,min1,hour1,num3,num4);input clk,clkt,turn,num3,num4;input mode;input count1,counta;output [7:0] sec1,min1;output [7:0] hour1;wire clkt,ct1,cta,turn,num3,num4;reg [7:0] sec1=0,min1=0;reg [7:0] hour1=0;reg [1:0] m;wire count1,counta;reg minclk,hclk;always @(posedge mode)//mode 信號控制系統在三種功能間轉換 begin if(m==4)m<=0;else m<=m+1;end /////秒鐘計時模塊////// always @(posedge clkt)

if((sec1==8'h59)|turn&(!m))///////若長時間按住該鍵,還可使秒信號清零,用于精確調時。begin sec1<=0;//按住“turn”按鍵一段時間,秒信號可清零,該功能用于手動精確調時

if(!(turn&(!m)))minclk<=1;///產生進位 end else begin if(sec1[3:0]==4'b1001)begin sec1[3:0]<=4'b0000;sec1[7:4]<=sec1[7:4]+1;end else sec1[3:0]<=sec1[3:0]+1;minclk<=0;end ////////分鐘計時模?/// assign m_clk=minclk||count1;/////m_clk 產生進位或校正改變 assign ct1=(num3&clk)|(!num3&m_clk);//ct1 用于計時、校時中的分鐘計數

always @(posedge ct1)begin if(min1==8'h59)begin min1<=0;hclk<=1;end else begin if(min1[3:0]==9)

begin min1[3:0]<=0;min1[7:4]<=min1[7:4]+1;end else min1[3:0]<=min1[3:0]+1;hclk<=0;end end ////////小時計時模塊/// assign h_clk=hclk||counta;//////h_clk 產生進位或校正改變 assign cta=(num4&clk)|(!num4&h_clk);//cta 用于計時、校時中的小時計數

always @(posedge cta)if(hour1==8'h23)hour1<=0;else if(hour1[3:0]==9)begin hour1[7:4]<=hour1[7:4]+1;hour1[3:0]<=0;end else hour1[3:0]<=hour1[3:0]+1;Endmodule

鬧鐘模塊

module alarm(clk,amin,ahour,num1,num2,count2,countb,LD_alert);input clk,num1,num2,count2,countb;output [7:0] amin;

output [7:0] ahour;output LD_alert;wire LD_alert;reg [7:0] amin=0;reg [7:0] ahour=0;assign ct2=(num1&clk)|(!num1&count2);//ct2 用于定時狀態下調整分鐘信號

assign LD_alert=(ahour|amin)?1:0;//指示是否進行了鬧鈴定時 always @(posedge ct2)if(amin==8'h59)amin<=0;else if(amin[3:0]==9)begin amin[3:0]<=0;amin[7:4]<=amin[7:4]+1;end else amin[3:0]<=amin[3:0]+1;assign ctb=(num2&clk)|(!num2&countb);////ctb 用于定時狀態調節小時信號 always @(posedge ctb)if(ahour==8'h23)ahour<=0;else if(ahour[3:0]==9)begin ahour[3:0]<=0;ahour[7:4]<=ahour[7:4]+1;end else ahour[3:0]<=ahour[3:0]+1;Endmodule 控制模塊

module ctrol(change,turn,count1,count2,counta,countb,pause,LD_min,LD_hour,mode);input change,mode,turn;output count1,count2,counta,countb,pause,LD_min,LD_hour;reg [1:0] m;reg fm=0,count1=0,count2=0,counta=0,countb=0,pause=0,LD_min=0,LD_hour=0;wire mode,turn,change;always @(posedge mode)//mode 信號控制系統在三種功能間轉換 begin if(m==4)m<=0;else m<=m+1;end always @(posedge turn)//////////接按鍵,在手動校時功能時,選擇是調整小時,還是分鐘; begin fm<=~fm;end

always @(m or fm or change)begin case(m)2: begin ////////2:調節時間功能; if(fm)begin count1<=change;{LD_min,LD_hour}<=2;end//////指示當前調整的是分鐘

Else

begin counta<=change;{LD_min,LD_hour}<=1;end/////指示當前調整的是小時 {count2,countb}<=0;end 1: begin //////1:調節鬧鐘功能 if(fm)begin count2<=change;{LD_min,LD_hour}<=2;end/////指示當前調整的是分 else begin countb<=change;{LD_min,LD_hour}<=1;end/////指示當前調整的是小時 {count1,counta}<=0;end

0: begin {count1,count2,counta,countb,LD_min,LD_hour}<=0;end ////0:計時功能 endcase end endmodule 顯示模塊

module show(min1,sec1,amin,hour1,ahour,MSH,MSL,SH,SL,MH,ML,min,sec,hour,mode);input [7:0] min1,sec1,amin;input [7:0] hour1,ahour;input[3:0] MSH,MSL,SH,SL,MH,ML;input mode;output [7:0] min,sec;output [7:0] hour;reg [7:0] min,sec;reg [7:0] hour;reg [1:0] m;always @(posedge mode)//mode 信號控制系統在三種功能間轉換

begin if(m==4)m<=0;else m<=m+1;end always @(min1 or sec1 or amin or hour1 or ahour or m)begin case(m)0: begin hour<=hour1;min<=min1;sec<=sec1;end 1: begin hour<=ahour;min<=amin;sec<=8'hzz;end 2: begin hour<=hour1;min<=min1;sec<=8'hzz;end 3: begin

hour<={SH,SL};

min<={MSH,MSL};sec<={MH,ML};end endcase end Endmodule

實驗分析 七

實驗總結

八、參考資料

1、《EDA技術實用教程》

2、實驗箱使用說明;

第三篇:EDA課程設計——數字時鐘

Hefei University

EDA課程綜述

論文題目: EDA課程綜述

專 業: 09通信(2)班

姓 名: 唐吉祥

學 號: 0905072035 指導老師: 查長軍

隨著基于PLD的EDA技術的發展和應用領域的擴大和深入,EDA技術在電子信息、通信、自動控制及計算機應用領域的重要性日益提高。

作為現在的大學生應熟練掌握這門技術,為以后的發展打下良好的基礎,本實驗設計是應用QuartusII環境及VHDL語言設計一個時間可調的數字時鐘。使自己熟練使用QuartusII環境來進行設計,掌握VHDL語言的設計方法。要注重理論與實踐之間的不同,培養自己的實踐能力!

目錄

一、課程設計任務及要求............................................................................................3

1.1實驗目的..........................................................................................................3 1.2功能設計..........................................................................................................3

二、整體設計思想........................................................................................................3

2.1性能指標及功能設計......................................................................................3 2.2總體方框圖......................................................................................................4

三、詳細設計................................................................................................................4

3.1數字鐘的基本工作原理:..............................................................................4

3.1.1時基T 產生電路..................................................................................4 3.1.2調時、調分信號的產生......................................................................4 3.1.3計數顯示電路.......................................................................................5 3.2設計思路..........................................................................................................5 3.3設計步驟..........................................................................................................6

3.3.1工程建立及存盤...................................................................................6 3.3.2工程項目的編譯...................................................................................7 3.3.3目標芯片的選擇...................................................................................7 3.3.4時序仿真...............................................................................................8 3.3.5引腳鎖定.............................................................................................10 3.3.6硬件測試.............................................................................................11 3.3.7實驗結果.............................................................................................11

四、設計總結..............................................................................................................12

五、附錄......................................................................................................................12

5.1 VHDL源程序..................................................................................................12 5.2配置符號圖....................................................................................................17

一、課程設計任務及要求

1.1實驗目的

1)掌握VHDL語言的基本運用

2)掌握QuartusII的簡單操作并會使用EDA實驗箱 3)掌握一個基本EDA課程設計的操作

1.2功能設計

1)有時、分、秒計數顯示功能,小時為24進制,分鐘和秒為60進制以24小時循環計時

2)設置復位、清零等功能

3)有校時功能,可以分別對時及分進行單獨校時,使其校正到標準時間 4)時鐘計數顯示時有LED燈顯示

二、整體設計思想

2.1性能指標及功能設計

1)時、分、秒計時器

時計時器為一個24進制計數器,分、秒計時器均為60進制計數器。當秒計時器接受到一個秒脈沖時,秒計數器開始從1計數到60,此時秒顯示器將顯示00、01、02、...、59、00;每當秒計數器數到00時,就會產生一個脈沖輸出送至分計時器,此時分計數器數值在原有基礎上加1,其顯示器將顯示00、01、02、...、59、00;每當分計數器數到00時,就會產生一個脈沖輸出送至時計時器,此時時計數器數值在原有基礎上加1,其顯示器將顯示00、01、02、...、23、00。即當數字鐘運行到23點59分59秒時,當秒計時器在接受一個秒脈沖,數字鐘將自動顯示00點00分00秒。2)校時電路

當開關撥至校時檔時,電子鐘秒計時工作,通過時、分校時開關分別對時、分進行校對,開關每按1次,與開關對應的時或分計數器加1,當調至需要的時與分時,撥動reset開關,電子鐘從設置的時間開始往后計時。2.2總體方框圖

三、詳細設計

3.1數字鐘的基本工作原理:

3.1.1時基T 產生電路

數字鐘以其顯示時間的直觀性、走時準確性作為一種計時工具,數字鐘的基本組成部分離不開計數器,在控制邏輯電路的控制下完成預定的各項功能。

由晶振產生的頻率非常穩定的脈沖,經整形、穩定電路后,產生一個頻率為1Hz的、非常穩定的計數時鐘脈沖。

3.1.2調時、調分信號的產生

由計數器的計數過程可知,正常計數時,當秒計數器(60進制)計數到59 時,再來一個脈沖,則秒計數器清零,重新開始新一輪的計數,而進位則作為分計數器的計數脈沖,使分計數器計數加1。現在我們把電路稍做變動:把秒計數器的進位脈沖和一個頻率為2Hz的脈沖信號同時接到一個2選1數據選擇器的兩個數據輸入端,而位選信號則接一個脈沖按鍵開關,當按鍵開關不按下去時(即為0),則數據選擇器將秒計數器的進位脈沖送到分計數器,此時,數字鐘正常工作;當按鍵開關按下去時(即為1),則數據選擇器將另外一個2Hz 的信號作為分計數 器的計數脈沖,使其計數頻率加快,當達到正確時間時,松開按鍵開關,從而達到調時的目的。調節小時的時間也一樣的實現。

3.1.3計數顯示電路

由計數部分、數據選擇器、譯碼器組成,是時鐘的關鍵部分。

1、計數部分:由兩個60進制計數器和一個24 進制計數器組成,其中60 進制計數器可用6 進制計數器和10 進制計數器構成;24 進制的小時計數同樣可用6 進制計數器和10 進制計數器得到:當計數器計數到24 時,“2”和“4”同時進行清零,則可實現24 進制計數。

2、數據選擇器:84 輸入14 輸出的多路數據選擇器,因為本實驗用到了8個數碼管(有兩個用來產生隔離符號‘—’)。

3、譯碼器:七段譯碼器。譯碼器必須能譯出‘—’,由實驗二中譯碼器真值表可得:字母F 的8421BCD 碼為“1111”,譯碼后為“1000111”,現在如果只譯出‘—’,即字母F的中間一橫,則譯碼后應為“0000001”,這樣,在數碼管上顯示的就為‘—’。

3.2設計思路

根據系統設計要求,系統設計采用自頂向下設計方法,由時鐘分頻部分、計時部分、按鍵部分調時部分和顯示部分五個部分組成。這些模塊都放在一個頂層文件中。

1)時鐘計數:

首先下載程序進行復位清零操作,電子鐘從00:00:00計時開始。sethour可以調整時鐘的小時部分, setmin可以調整分鐘,步進為1。

由于電子鐘的最小計時單位是1s,因此提供給系統的內部的時鐘頻率應該大于1Hz,這里取100Hz。CLK端連接外部10Hz的時鐘輸入信號clk。對clk進行計數,當clk=10時,秒加1,當秒加到60時,分加1;當分加到60時,時加1;當時加到24時,全部清0,從新計時。

用6位數碼管分別顯示“時”、“分”、“秒”,通過OUTPUT(6 DOWNTO 0)上的信號來點亮指定的LED七段顯示數碼管。

2)時間設置:

手動調節分鐘、小時,可以對所設計的時鐘任意調時間,這樣使數字鐘真正具有使用功能。我們可以通過實驗板上的鍵7和鍵4進行任意的調整,因為我們用的時鐘信號均是1HZ的,所以每LED燈變化一次就來一個脈沖,即計數一次。3)清零功能: reset為復位鍵,低電平時實現清零功能,高電平時正常計數。可以根據我們自己任意時間的復位。

3.3設計步驟

3.3.1工程建立及存盤

1.打開 QuartusⅡ,單擊“File”菜單,選擇 File→New Project Wizard,對話框如下:分別輸入項目的工作路徑、項目名和實體名,單擊Finish。

2.單擊“File”菜單,選擇New,彈出小對話框,雙擊“VHDL File“,即選中了文本編輯方式。在出現的“Vhdl1.vhd”文本編輯窗中鍵入VHDL程序,輸入完畢后,選擇File→Save As,即出現“Save As”對話框。選擇自己建立好的存放本文件的目錄,然后在文件名框中鍵入文件名,按“Save”按鈕。

3.建立工程項目,在保存VHDL文件時會彈出是否建立項目的小窗口,點擊“Yes”確定。即出現建立工程項目的導航窗口,點擊“Next”,最后在出現的屏幕中分別鍵入新項目的工作路徑、項目名和實體名。注意,原理圖輸入設計方法中,存盤的原理圖文件名可以是任意的,但VHDL程序文本存盤的文件名必須與文件的實體名一致,輸入后,單擊“Finish”按鈕。3.3.2工程項目的編譯

單擊工具條上的編譯符號開始編譯,并隨著進度不斷變化屏幕,編譯完成后的屏幕如圖所示:

3.3.3目標芯片的選擇

選擇菜單 Assignments 選項的下拉菜單中選擇器件 Device ?,如圖所示: 在彈出的對話框中的 Family(器件序列欄)對應的序列名,EP1C3 對應的是 Cyclone 系列。在 Available Devices里選擇 EP1C3T144-C8(有時需要把 Show advanced devices的勾消去,以便顯示出所有速度級別的器件)。注意:所選器件必須與目標板的器件型號完全一致。

在圖中,單擊“Device and Pin Options?”,在彈出的“Device and Pin Options?”窗口中,單擊“Unused Pins”標簽。選擇“As output driving an unspecified signal ”(由于學習機的“FPGA”具有很多功能,為了避免使用引腳對其它器件造成影響,保證本系統可靠工作,將未使用引腳設定為輸出不定狀態)后,單擊確定后,無誤后單擊“OK”。

3.3.4時序仿真

建立波形文件:選擇 File→New,在New窗中選中“Other File”標簽。在出現的屏幕中選擇“Vector Waveform File”項出現一新的屏幕。在出現的新屏幕中,雙擊“Name”下方的空白處,彈出“Insert Nod or Bus”對話框,單擊該對話框的“Node Finder??”。在屏幕中的 Filter 中選擇 Pins,單擊“List”。而后,單擊“>>”,所有輸入/輸出都被拷貝到右邊的一側,這些正是我們希望的各個引腳,也可以只選其中的的一部分,根據實際情況決定。然后單擊屏幕右上腳的 “OK”。在出現的小屏幕上單擊“OK”。

設定仿真時間寬度。選擇 Edit → End time?選項,在End time選擇窗中選擇適當的仿真時間域,以便有足夠長的觀察時間。

波形文件存盤。選擇File→Save as 選項,直接存盤即可。運行仿真器。在菜單中選擇項,直到出現,仿真結束。

未曾編輯的仿真波形

仿真波形 3.3.5引腳鎖定

將設計編程下載進選定的目標器件中,如EPF10K10,作進一步的硬件測試,將設計的所有輸入輸出引腳分別與目標器件的EPF10K10的部分引腳相接,操作如下:

1.選擇 Assignments → Assignments Editor ,即進入 Assignments Editor編輯器。在Category 欄選擇 Pin,或直接單擊右上側的 Pin 按鈕。

2.雙擊 TO 欄的《new》,在出現的的下拉欄中選擇對應的端口信號名(如 D[0]);然后雙擊對應的欄的《new》,在出現的下拉欄中選擇對應的端口信號名的期間引腳號。

3.最后存儲這些引腳鎖定信息后,必須再編譯(啟動)一次,才能將引腳鎖定信息編譯進編程下載文件中。此后就可以準備將編譯好的 SOF 文件下載到試驗系統的FPGA中去了。

引腳鎖定 3.3.6硬件測試

1.首先將下載線把計算機的打印機口與目標板(如開發板或實驗板)連接好,打開電源,選擇模式7。

2.打開編輯窗和配置文件。選擇,彈出一個編輯窗。在Mode欄中選擇JTAG,并在選項下的小方框打勾。注意核對下載文件路徑與文件名。如果文件沒有出現或者出錯,單擊左Add file側按鈕,手動選擇配置文件 clock.sof。

3.最后單擊下載標符Start,即進入對目標器件 FPGA 的配置下載操作。當 Progress 顯示100%,以及在底部的處理欄中出現 Configuration Succeeded 時,表示編程成功,如圖所示。注意,如果必要時,可再次單擊 Start,直至編程成功。

4.下載完成后,通過硬件測試進一步確定設計是否達到所有的技術指標,如未達到,可逐步檢查,哪部分出現問題。如果是代碼出現問題,須修改代碼;若是時序波形圖有問題,須重新設置。

3.3.7實驗結果

實驗箱使用模式7,鍵8為復位按鍵,鍵8為1時正常工作。鍵4設置小時,鍵7設置分鐘。

下載成功后,按下鍵8,及使六個LED復位清零,顯示數秒的自動計時,可以通過4鍵設置小時數,7鍵設置分鐘數。當秒數滿60則進一位,分鐘數滿60進一位,當顯示為23:59:59時,秒數在加一則顯示00:00:00,之后從新計時。

四、設計總結

通過這次課程設計,我進一步加深了對電子設計自動化的了解。并進一步熟練了對QuartusII軟件的操作。在編寫程序的過程中,遇到了很多問題,使我發現自己以前學習上存在的不足。通過與同學探討和請教老師,終于把問題都解決了,并加深了對數字時鐘原理和設計思路的了解。

同時也掌握了做課程設計的一般流程,為以后的設計積累了一定的經驗。做課程設計時,先查閱相關知識,把原理吃透,確定一個大的設計方向,在按照這個方向分模塊的把要實現的功能用流程圖的形式展示。最后參照每個模塊把輸入和輸出引腳設定,運用我們所學的VHDL語言進行編程。總之,通過這次的設計,進一步了解了EDA技術,收獲很大,對軟件編程、排錯調試、相關儀器設備的使用技能等方面得到較全面的鍛煉和提高。

在此,也感謝康老師的悉心指導,使自己學到了很多東西!

五、附錄

5.1 VHDL源程序

Alert模塊

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY alert IS

PORT(clk:IN STD_LOGIC;

dain:IN STD_LOGIC_VECTOR(6 DOWNTO 0);

speak:OUT STD_LOGIC;

lamp:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END alert;ARCHITECTURE fun OF alert IS

SIGNAL count:STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL count1:STD_LOGIC_VECTOR(1 DOWNTO 0);

BEGIN speaker:PROCESS(clk)

BEGIN

--speak<=count1(1);

IF(clk'event and clk='1')THEN

IF(dain=”0000000“)THEN

speak<=count1(1);

IF(count1>=”10“)THEN

count1<=”00“;--count1為三進制加法計數器

ELSE

count1<=count1+1;--speak<=count1(0);

END IF;

END IF;

END IF;

END PROCESS speaker;lamper:PROCESS(clk)

BEGIN

IF(rising_edge(clk))THEN

IF(count<=”10“)THEN

IF(count=”00“)THEN

lamp<=”001“;--循環點亮三只燈

ELSIF(count=”01“)THEN

lamp<=”010“;

ELSIF(count=”10“)THEN

lamp<=”100“;

END IF;

count<=count+1;

ELSE

count<=”00“;

END IF;

END IF;

END PROCESS lamper;END fun;Hour模塊

LIBRARY IEEE;use IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY hour IS

PORT(clk,reset:IN STD_LOGIC;

daout:out STD_LOGIC_VECTOR(5 DOWNTO 0));END ENTITY hour;ARCHITECTURE fun OF hour IS SIGNAL count:STD_LOGIC_VECTOR(5 DOWNTO 0);

BEGIN

daout<=count;

PROCESS(clk,reset)

BEGIN

IF(reset='0')THEN count<=”000000“;--若reset=0,則異步清零

ELSIF(clk'event and clk='1')THEN

--否則,若clk上升沿到

IF(count(3 DOWNTO 0)=”1001“)THEN--若個位計時恰好到”1001“即9

IF(count<16#23#)THEN

--23進制

count<=count+7;

--若到23D則

else

count<=”000000“;

--復0

END IF;

ELSIF(count<16#23#)THEN

--若未到23D,則count進1

count<=count+1;

ELSE

--否則清零

count<=”000000“;

END IF;

--END IF(count(3 DOWNTO 0)=”1001“)

END IF;

--END IF(reset='0')

END PROCESS;END fun;Minute模塊

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY minute IS

PORT(clk,clk1,reset,sethour:IN STD_LOGIC;

enhour:OUT STD_LOGIC;

daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY minute;ARCHITECTURE fun OF minute IS SIGNAL count :STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL enhour_1, enhour_2: STD_LOGIC;--enmin_1為59分時的進位信號 BEGIN

--enmin_2由clk調制后的手動調時脈沖信號串

daout<=count;

enhour_2<=(sethour and clk1);--sethour為手動調時控制信號,高電平有效

enhour<=(enhour_1 or enhour_2);PROCESS(clk,reset,sethour)

BEGIN

IF(reset='0')THEN--若reset為0,則異步清零

count<=”0000000“;

ELSIF(clk'event and clk='1')THEN--否則,若clk上升沿到

IF(count(3 DOWNTO 0)=”1001“)THEN--若個位計時恰好到”1001“即9

IF(count <16#60#)THEN--又若count小于16#60#,即60

IF(count=”1011001“)THEN--又若已到59D

enhour_1<='1';--則置進位為1

count<=”0000000“;--count復0

ELSE

count<=count+7;--若count未到59D,則加7,即作”加6校正“

END IF;--使前面的16#60#的個位轉變為8421BCD的容量

ELSE

count<=”0000000“;--count復0(有此句,則對無效狀態電路可自啟動)

END IF;

--END IF(count<16#60#)

ELSIF(count <16#60#)THEN

count<=count+1;--若count<16#60#則count加1

enhour_1<='0' after 100 ns;--沒有發生進位

ELSE

count<=”0000000“;--否則,若count不小于16#60# count復0

END IF;--END IF(count(3 DOWNTO 0)=”1001“)

END IF;--END IF(reset='0')

END process;END fun;Second模塊

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY second IS PORT(clk,reset,setmin:STD_LOGIC;

enmin:OUT STD_LOGIC;

daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY second;ARCHITECTURE fun OF second IS SIGNAL count:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL enmin_1,enmin_2:STD_LOGIC;

--enmin_1為59秒時的進位信號

BEGIN

--enmin_2由clk調制后的手動調分脈沖信號串

daout<=count;

enmin_2<=(setmin and clk);--setmin為手動調分控制信號,高電平有效

enmin<=(enmin_1 or enmin_2);--enmin為向分進位信號

PROCESS(clk,reset,setmin)

BEGIN

IF(reset='0')THEN count<=”0000000“;--若reset為0,則異步清零

ELSIF(clk 'event and clk='1')then--否則,若clk上升沿到

IF(count(3 downto 0)=”1001“)then

--若個位計時恰好到”1001“即9

IF(count<16#60#)then--又若count小于16#60#,即60H IF(count=”1011001“)then

--又若已到59D

enmin_1<='1';count<=”0000000“;--則置進位為1及count復0

ELSE

--未到59D

count<=count+7;--則加7,而+7=+1+6,即作”加6校正“

END IF;

ELSE

--若count不小于16#60#(即count等于或大于16#60#)

count<=”0000000“;

--count復0

END IF;

--END IF(count<16#60#)

ELSIF(count<16#60#)then--若個位計數未到”1001“則轉此句再判

count<=count+1;

--若count<16#60#則count加1

enmin_1<='0'after 100 ns;--沒有發生進位

ELSE

--否則,若count不小于16#60#

count<=”0000000“;

--則count復0

END IF;

--END IF(count(3 DOWNTO 0)=”1001")

END IF;

--END IF(reset='0')END PROCESS;END fun;5.2配置符號圖

第四篇:EDA課程設計 數字時鐘(鬧鐘)

課 程 設 計 說 明 書

題目: 鬧鐘

學院(系): 年級專業: 學 號: 學生姓名: 指導教師: 教師職稱:

共 16 頁

第 1 頁

目 錄

第1章 摘要…………………………………………………………………………………1 第2章 設計方案……………………………………………………………………………

2.1 VHDL簡介…………………………………………………………………………… 2.2 設計思路…………………………………………………………………………… 第3章 模塊介紹…………………………………………………………………………… 第4章 Verilog HDL設計源程序………………………………………………………… 第5章 波形仿真圖………………………………………………………………………… 第6章 管腳鎖定及硬件連線……………………………………………………………… 心得體會 ……………………………………………………………………………………17 參考文獻 ……………………………………………………………………………………18

共 16 頁

第 2 頁

第一章 摘要

在當今社會,數字電路產品的應用在我們的實際生活中顯得越來越重要,與我們的生活聯系愈加緊密,例如計算機、儀表、電子鐘等等,使我們的生活工作較以前的方式更加方便、完善,帶來了很多的益處。

在此次EDA課程,我的設計課題是鬧鐘,使用VHDL語言進行編程完成。報告書主要由設計方案、模塊介紹、設計源程序、仿真波形圖和管腳鎖定及硬件連線四部分組成。設計方案主要介紹了我對于設計課題的大致設計思路,之后各個部分將會詳細介紹設計組成及程序。

共 16 頁

第 3 頁

第二章 設計方案 §2.1 VHDL簡介

數字電路主要是基于兩個信號(我們可以簡單的說是有電壓和無電壓),用數字信號完成對數字量進行算術運算和邏輯運算的電路我們稱之為數字電路,它具有邏輯運算和邏輯處理等功能,數字電路可分為組合邏輯電路和時序邏輯電路。

EDA技術,就是以大規模可編程邏輯器件為設計載體,以硬件描述語言為系統邏輯描述的主要表達方式,以計算機、大規模可編程邏輯器件的開發軟件及實驗開發系統為設計工具,通過有關的開發軟件,自動完成用軟件的方式設計的電子系統到硬件系統的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優化、邏輯布局布線、邏輯仿真,直至完成對于特定目標芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統或專用集成芯片的一門新技術。

利用EDA技術進行電子系統的設計,具有以下幾個特點:① 用軟件的方式設計硬件;② 用軟件方式設計的系統到硬件系統的轉換是由有關的開發軟件自動完成的;③ 設計過程中可用有關軟件進行各種仿真;④ 系統可現場編程,在線升級;⑤ 整個系統可集成在一個芯片上,體積小、功耗低、可靠性高。因此,EDA技術是現代電子設計的發展趨勢。

EDA技術伴隨著計算機、集成電路、電子系統設計的發展,經歷了計算機輔助設計(Computer Assist Design,簡稱CAD)、計算機輔助工程設計(Computer Assist Engineering Design,簡稱CAE)和電子設計自動化(Electronic Design Automation,簡稱EDA)三個發展階段。

常用的硬件描述語言有VHDL、Verilog、ABEL。

EDA技術是隨著集成電路和計算機技術的飛速發展應運而生的一種高級、快速、有效的電子設計自動化工具。它是為解決自動控制系統設計而提出的,從70年代經歷了計算機輔助設計(CAD),計算機輔助工程(CAE),電子系統設計自動化(ESDA)3個階段。前兩個階段的EDA產品都只是個別或部分的解決了電子產品設計中的工程問題;第三代EDA工具根據工程設計中的瓶

共 16 頁

第 4 頁

頸和矛盾對設計數據庫實現了統一管理,并提出了并行設計環境概念,提供了獨立于工藝和廠家的系統級的設計工具。EDA關鍵技術之一就是采用硬件描述語言對硬件電路進行描述,且具有系統級仿真和綜合能力。目前應用比較廣泛的硬件描述語言就是Verilog HDL。Verilog HDL簡介

Verilog HDL是目前大規模集成電路設計中最具代表性、使用最廣泛的硬件描述語言之一。具有如下特點:

(1)能夠在不同的抽象層次上,如系統級、行為級、RTL級、門級和開關級,對設計系統進行精確而簡練的描述。

(2)能夠在每個抽象層次的描述上對設計進行仿真驗證,及時發現及時發現可能存在的錯誤,縮短設計周期,并保存整個設計過程的正確性。

(3)由于代碼描述與工藝過程實現無關,便于設計標準化,提高設計的可重用性。如國有C語言的編程基礎經驗,只需很短的時間就能學會和掌握Verilog HDL,因此,Verilog HDL可以作為學習HDL設計方法的入門和基礎。

§2.2 設計思路

一、設計要求

1、設計簡易的一分鐘鬧鐘;

2、可手動輸入定時時間(0~59s),如30s;

3、兩個動態數碼管上跟蹤顯示時間的變化:如30,29,28……到了指定時間蜂鳴器發出5s的提示音;

4、采用2個動態數碼管顯示時間;

5、用蜂鳴器發出提示音;

6、撥碼開關設置定時時間。

二、設計思路

根據上述的設計要求,整個系統大致包括如下幾個組成部分:它包括以下幾個組成

共 16 頁

第 5 頁

部分:1)顯示屏,由2個七段動態數碼管組成,用于顯示當前設置的鬧鐘時間并進行跟蹤顯示;2)6個撥碼開關,用于輸入鬧鐘時間;3)復位鍵,確定新的鬧鐘時間設置,或顯示已設置的鬧鐘時間;4)蜂鳴器,在當前時鐘時間與鬧鐘時間相同時,發出報警聲。

共 16 頁

第 6 頁

第三章 模塊介紹

一、計時模塊

此模塊共有6個撥碼開關作為輸入信號,當開關無輸入時,都處于低電平狀態,D5、D4、D3、D2、D1和D0是并行數據輸入端,CRN是異步復位輸入端,LDN是預置控制輸入端。當開關有輸入時,會產生一個六位的二進制輸出信號num,此信號表示動作的開關序號,它是作為動態顯示模塊的輸入信號。

二、數碼顯示模塊

這個模塊有兩個輸入信號和兩個輸出信號。其中一個是信號輸入模塊的輸出num作為輸入,另外一個是時鐘輸入端,作為掃描數碼管的頻率信號,采用1024HZ的中高頻信號。輸出信號為SS0、SS1、SS2,是動態數碼管的片選段。

三、報警模塊

報警模塊共有兩個輸入信號ET和CLK1,一個輸出信號COUT。當從信號輸入模塊檢測到有開關輸入時,ET信號已置1,CLK上升沿到來時,程序將COUT置1,蜂鳴器發出時間為10s的報警信號,時間到達后,跳出循環,蜂鳴器停止報警。

四、頂層模塊

頂層模塊的作用是將各個模塊組合到一起,從而實現最終的功能。其輸入即為各個模塊的輸入,一個時鐘信號,還有6個撥碼開關的輸入,其輸出為數碼管顯示和報警器。

共 16 頁

第 7 頁

第四章Verilog HDL設計源程序

一、計時模塊

module counter(LDN,D5,D4,D3,D2,D1,D0,CLK,CRN,Q,OC);input LDN,D5,D4,D3,D2,D1,D0,CLK,CRN;output[5:0] Q;output OC;reg OC;reg[5:0] Q;reg[5:0] Q_TEMP;reg[3:0] NUM;always@(posedge CLK or negedge CRN)begin

if(~CRN)Q_TEMP=6'b000000;else if(~LDN)begin Q_TEMP={D5,D4,D3,D2,D1,D0};NUM=4'b0000;end else if(Q_TEMP<6'b111100&&Q_TEMP>6'b000000)begin if(NUM<4'b1000&&NUM>=4'b0000)NUM=NUM+1;else NUM=4'b0001;if(NUM==4'b1000)Q_TEMP=Q_TEMP-1;end

共 16 頁

第 8 頁

else Q_TEMP=6'b000000;end always begin

if(Q_TEMP==6'b000000&&LDN)OC=1'b1;else OC=1'b0;Q=Q_TEMP;end endmodule

二、數碼顯示模塊

module showtime(A,Q,CLKM,SS0,SS1,SS2);input[5:0] A;input CLKM;output[6:0] Q;output SS0,SS1,SS2;reg[6:0] Q;reg SS0,SS1,SS2;reg M;reg[5:0] B;reg[5:0] C;always@(posedge CLKM)begin M=M+1;end always begin

共 16 頁

第 9 頁

if(A<='b001001)begin B=A;C=0;end else if(A>'b001001&&A<='b10011)begin B=A-10;C=1;end else if(A>'b10011&&A<='b11101)begin B=A-20;C=2;end else if(A>'b11101&&A<='b100111)begin B=A-30;C=3;end else if(A>'b100111&&A<='b110001)begin B=A-40;C=4;end else if(A>'b110001&&A<='b111011)

共 16 頁

第 10 頁

begin B=A-50;C=5;end else if(A=='b111100)begin B=0;C=6;end if(M=='b1)begin SS0=1;SS1=0;SS2=0;case(B)'b000000:Q='b0111111;'b000001:Q='b0000110;'b000010:Q='b1011011;'b000011:Q='b1001111;'b000100:Q='b1100110;'b000101:Q='b1101101;'b000110:Q='b1111101;'b000111:Q='b0000111;'b001000:Q='b1111111;'b001001:Q='b1101111;default:Q='b0111111;endcase end

共 16 頁

第 11 頁

else if(M=='b0)begin SS0=0;SS1=0;SS2=0;case(C)'b000000:Q='b0111111;'b000001:Q='b0000110;'b000010:Q='b1011011;'b000011:Q='b1001111;'b000100:Q='b1100110;'b000101:Q='b1101101;'b000110:Q='b1111101;default:Q='b0111111;endcase end end endmodule

三、報警模塊

module speaker(CLK1,ET,COUT);input CLK1,ET;output COUT;reg COUT;reg[5:0] TEMP;always@(posedge CLK1)begin

if(~ET)TEMP=6'b000000;else if(TEMP<6'b101001&&TEMP>=6'b000000)TEMP=TEMP+1;

共 16 頁

第 12 頁

else TEMP=6'b101001;end always begin if(TEMP<6'b101001&&TEMP!=6'b000000)COUT=1'b1;else COUT=1'b0;end endmodule

四、頂層模塊 module timer(LDN,D5,D4,D3,D2,D1,D0,CLK,CRN,CLK1,COUT,LED,SS0,SS1,SS2,CLKM);input LDN,D5,D4,D3,D2,D1,D0,CLK,CRN,CLK1,CLKM;output[6:0] LED;output COUT,SS0,SS1,SS2;wire X6;wire[5:0] X;counter u1(.LDN(LDN),.D5(D5),.D4(D4),.D3(D3),.D2(D2),.D1(D1),.D0(D0),.CLK(CLK),.CRN(CRN),.Q(X[5:0]),.OC(X6));showtime u2(.A(X[5:0]),.Q(LED[6:0]),.CLKM(CLKM),.SS0(SS0),.SS1(SS1),.SS2(SS2));speaker u3(.CLK1(CLK1),.ET(X6),.COUT(COUT));endmodule

共 16 頁

第 13 頁

第五章 波形仿真圖

一、計時模塊波形仿真圖

二、報警模塊波形仿真圖

三、頂層模塊波形仿真圖

共 16 頁

第 14 頁

第六章 管腳鎖定及硬件連線

一、管腳鎖定

CLK>chip=timer;Input Pin=75 CLKM>chip=timer:Input Pin=83 CLK1> chip=timer;Input Pin=85 COUT> chip=timer;Output Pin=38 CRN> chip=timer;Input Pin=39 DO> chip=timer;Input Pin=53 D1> chip=timer;Input Pin=47 D2> chip=timer;Input Pin=46 D3> chip=timer;Input Pin=45 D4> chip=timer;Input Pin=44 D5> chip=timer;Input Pin=41 LDN> chip=timer;Input Pin=40 LED0> chip=timer;Output Pin=173 LED1> chip=timer;Output Pin=174 LED2> chip=timer;Output Pin=175 LED3> chip=timer;Output Pin=176 LED4> chip=timer;Output Pin=177 LED5> chip=timer;Output Pin=179 LED6> chip=timer;Output Pin=187 SSO> chip=timer;Output Pin=191 SS1> chip=timer;Output Pin=192 SS2> chip=timer;Output Pin=193 引線說明:撥碼開關使用數字開關組A,需外接引線。

共 16 頁

第 15 頁

心得體會

通過這次設計,初步對EDA有一個了解。

出于沒有學習過這門課程,所以再課程設計開始時對于EDA就是一無所知。課程設計之初是做了一個簡單的培訓,關于軟件和硬件的設計,算是入門訓練吧。通過前兩天的課程講解,我對其有了初步的了解。之后就開始按照指導書中的例題就行練習,仿真,有進一步的掌握后就開始了自己的課程設計。由于我C++程序設計知識不扎實,所以導致這次軟件設計困難重重,也讓我明白了在這個領域知識的串聯是非常普遍的,學好學扎實是我們必須要做到的要求。

通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能提高自己的實際動手能力。在設計的過程中,可以說得是困難重重,但這畢竟第一次做,同時在設計的過程中發現了自己的不足之處。

在此還需要感謝鄭兆兆老師和呂宏詩老師耐心的指導與幫助,使課設能夠更加順利的完成。

共 16 頁

第 16 頁

參考文獻

1、閻石主編.《數字電子技術基礎》(第五版).高等教等育出版社.2006.5,168-175頁 ;

2、李國麗、朱維勇、何劍春主編 《EDA與數字系統設計》(第2版).機械工業出版社.2009.3,105-146頁

共 16 頁

第 17 頁

第五篇:EDA課程設計時鐘

EDA

課程設計

姓名:

學號:

班級:自動化

設計題目

多功能數字鐘電路設計

設計任務及要求

多功能數字鐘應該具有的功能有:顯示時—分—秒、小時和分鐘可調等基本功能。整個鐘表的工作應該是在1Hz信號的作用下進行,這樣每來一個時鐘信號,秒增加1秒,當秒從59秒跳轉到00秒時,分鐘增加1分,同時當分鐘從59分跳轉到00分時,小時增加1小時,小時的范圍為0~23時。

在實驗中為了顯示的方便,由于分鐘和秒鐘顯示的范圍都是從0~59,所以可以用一個3位的二進制碼顯示十位,用一個四位的二進制碼(BCD碼)顯示個位,對于小時因為他的范圍是從0~23,所以可以用一個2位的二進制碼顯示十位,用一個4位的二進制碼(BCD碼)顯示個位。

實驗中由于七段碼管是掃描的方式

顯示,所以雖然時鐘需要的是1Hz時鐘信號,但是掃描需要一個比較高頻率的信號,因此為了得到準確的1Hz信號,必須對輸入的系統時鐘50Mhz進行分頻。

調整時間的按鍵用按鍵模塊的S1和S2,S1調節小時,每按下一次,小時增加一個小時;S2調整分鐘,每按下一次,分鐘增加一分鐘。另外用S8按鍵作為系統時鐘復位,復位后全部顯示00—00—00。

三.基于Verilog

HDL語言的電路設計、仿真與綜合(一)頂層模塊

本程序采用結構化設計方法,將其分為彼此獨立又有一定聯系的三個模塊,如圖1所示:

圖1:頂層結構框圖

(二)子模塊

1.分頻器

分頻器的作用是對50Mhz的系統時鐘信號進行分頻,得到頻率為1000hz的信號,作為顯示器的輸入信號。

源程序如下:

module

fenpin(input

CP,output

CPout);

reg

CPout;

reg

[31:0]

Cout;

reg

CP_En;

always

@(posedge

CP)

//將50MHz分頻為1kHz

begin

Cout

<=

(Cout

==

32'd50000)

?

32'd0

:

(Cout

+

32'd1);

CP_En

<=

(Cout

==

32'd50000)

?

1'd1

:

1'd0;

CPout

<=

CP_En;

end

endmodule

功能仿真波形如圖2所示(以五分頻為例):

2.控制器和計數器

控制器的作用是,調整小時和分鐘的值,并能實現清零功能。計數器的作用是實現分鐘和秒鐘滿60進1,小時則由23跳到00。當到達59分55秒的時候,LED燈會閃爍來進行報時。因為控制器和計數器的驅動信號頻率均為1Hz,故從分頻器輸出的信號進入控制器后,要進行二次分頻,由1Khz變為1Hz。

if(Clk_En)

begin

if(R1==1)

begin

if(Hour<24)

Hour=Hour+1;

if(Hour==24)

begin

Hour=0;

end

R1=0;

end

if(R2==1)

begin

if(Minute<60)

Minute=Minute+1;

if(Minute==60)

begin

Minute=0;

if(Hour<24)

Hour=Hour+1;

if(Hour==24)

begin

Hour=0;

End

end

R2=0;

end

if(Second<60)

Second=Second+1;

if(Second==60)

begin

Second=0;

if(Minute<60)

Minute=Minute+1;

源程序如下:

module

kongzhiqi(CPout,S1,S2,RET,Hour,Minute,Second,LED);

input

CPout,S1,S2,RET;

output

[5:0]

Hour;

output

[5:0]

Minute;

output

[5:0]

Second;

output

LED;

reg

[5:0]

Hour;

reg

[5:0]

Minute;

reg

[5:0]

Second;

reg

R1;

reg

R2,R8,LED;

reg

[10:0]

Cout;

reg

Clk_En;

always@(posedge

CPout)

begin

if(S1==0)

begin

R1=1;

end

if(S2==0)

begin

R2=1;

end

if(RET==0)

begin

R8=1;

end

Cout=(Cout==32'd1000)?32'd0:(Cout

+

32'd1);

Clk_En=(Cout==32'd1000)?1'd1:1'd0;

LED=1;

end

else

LED=0;

if(R8==1)//清零

begin

Hour=0;

Minute=0;

Second=0;

R8=0;

end

end

end

endmod

if(Minute==60)

begin

Minute=0;

if(Hour<24)

Hour=Hour+1;

if(Hour==24)

begin

Hour=0;

end

end

end

if((Minute==59)&&(Second>55))

begin

if(LED==1)

LED=0;

else

功能仿真波形如圖3所示:

3.顯示器

顯示器的作用是將時—分—秒的值在數碼管上依次顯示出來。從分頻器輸出的1Khz的信號作為數碼管的掃描信號。SEL

表示三個數碼管選擇位,它的取值表示八個數碼管,從左至右依次是111~000。LEDGA表示七段數碼管,它的取值決定特定位數上顯示的數字。

源程序如下:

4'b0000:

Led

=

7'b0111_111;

4'b0001:

Led

=

7'b0000_110;

4'b0010:

Led

=

7'b1011_011;

4'b0011:

Led

=

7'b1001_111;

4'b0100:

Led

=

7'b1100_110;

4'b0101:

Led

=

7'b1101_101;

4'b0110:

Led

=

7'b1111_101;

4'b0111:

Led

=

7'b0000_111;

4'b1000:

Led

=

7'b1111_111;

4'b1001:

Led

=

7'b1101_111;

default:

Led

=

7'b0000_000;

endcase

if(SEL==3'b100)

Led=7'b1000_000;

if(SEL==3'b011)

case(shiwei2)

4'b0000:

Led

=

7'b0111_111;

4'b0001:

Led

=

7'b0000_110;

4'b0010:

Led

=

7'b1011_011;

4'b0011:

Led

=

7'b1001_111;

4'b0100:

Led

=

7'b1100_110;

module

xianshi(CPout,Hour,Minute,Second,SEL,LEDAG);

input

CPout;

input

Hour,Minute,Second;

output

SEL,LEDAG;

reg

[2:0]

SEL;

reg

[6:0]

Led;

reg

[3:0]

shi1,ge1,shi2,ge2,shi3,ge3;

always

@(posedge

CPout)

begin

shiwei1=Hour/10;

gewei1=Hour%10;

shiwei2=Minute/10;

gewei2=Minute%10;

shiwei3=Second/10;

gewei3=Second%10;

if(SEL==3'b110)

case(shiwei1)

4'b0000:

Led

=

7'b0111_111;

4'b0001:

Led

=

7'b0000_110;

4'b0010:

Led

=

7'b1011_011;

4'b0011:

Led

=

7'b1001_111;

4'b0100:

Led

=

7'b1100_110;

4'b0101:

Led

=

7'b1101_101;

4'b0110:

Led

=

7'b1111_101;

4'b0111:

Led

=

7'b0000_111;

4'b1000:

Led

=

7'b1111_111;

4'b1001:

Led

=

7'b1101_111;

default:

Led

=

7'b0000_000;

endcase

if(SEL==3'b101)

case(gewei1)

default:

Led

=

7'b0000_000;

endcase

if(SEL==3'b111)

case(gewei3)

4'b0000:

Led

=

7'b0111_111;

4'b0001:

Led

=

7'b0000_110;

4'b0010:

Led

=

7'b1011_011;

4'b0011:

Led

=

7'b1001_111;

4'b0100:

Led

=

7'b1100_110;

4'b0101:

Led

=

7'b1101_101;

4'b0110:

Led

=

7'b1111_101;

4'b0111:

Led

=

7'b0000_111;

4'b1000:

Led

=

7'b1111_111;

4'b1001:

Led

=

7'b1101_111;

default:

Led

=

7'b0000_000;

endcase

SEL

=

SEL

+

3'd1;

end

assign

LEDAG=Led;

endmodule

4'b0101:

Led

=

7'b1101_101;

4'b0110:

Led

=

7'b1111_101;

4'b0111:

Led

=

7'b0000_111;

4'b1000:

Led

=

7'b1111_111;

4'b1001:

Led

=

7'b1101_111;

default:

Led

=

7'b0000_000;

endcase

if(SEL==3'b010)

case(gewei2)

4'b0000:

Led

=

7'b0111_111;

4'b0001:

Led

=

7'b0000_110;

4'b0010:

Led

=

7'b1011_011;

4'b0011:

Led

=

7'b1001_111;

4'b0100:

Led

=

7'b1100_110;

4'b0101:

Led

=

7'b1101_101;

4'b0110:

Led

=

7'b1111_101;

4'b0111:

Led

=

7'b0000_111;

4'b1000:

Led

=

7'b1111_111;

4'b1001:

Led

=

7'b1101_111;

default:

Led

=

7'b0000_000;

endcase

if(SEL==3'b001)

Led=7'b1000_000;

if(SEL==3'b000)

case(shiwei3)

4'b0000:

Led

=

7'b0111_111;

4'b0001:

Led

=

7'b0000_110;

4'b0010:

Led

=

7'b1011_011;

4'b0011:

Led

=

7'b1001_111;

4'b0100:

Led

=

7'b1100_110;

4'b0101:

Led

=

7'b1101_101;

4'b0110:

Led

=

7'b1111_101;

4'b0111:

Led

=

7'b0000_111;

4'b1000:

Led

=

7'b1111_111;

4'b1001:

Led

=

7'b1101_111;

總結體會

這次課程設計雖然只有短短的四天,但我的收獲卻很大。通過這次實習,我掌握了EDA設計的基本流程(即設計輸入—編譯—調試—仿真—下載),領會了自頂而下結構化設計的優點,并具備了初步的EDA程序設計能力。

我感覺,這個程序最難的地方在于頂層模塊的設計,因為頂層模塊需要將各個子模塊按照電路原理有機地結合起來,這需要扎實的理論功底,而這正是我所欠缺的。相比而言,子模塊的設計就容易多了,因為Verilog語言和C語言有很多相似之處,只要明白了實驗原理,就不難完成,水平的高下只體現在程序的簡潔與否。Verilog源程序的編寫很容易出現錯誤,這就需要耐心的調試。因為很多情況下,一長串的錯誤往往是由一個不經意的小錯誤引起的。當程序屢調屢錯的時候,最好和其他同學溝通交流一下,他們不經意的一句話,就可能給我啟發,使問題迎刃而解。

這次實習,給我感觸最深的還是行為態度問題。人的能力有大有小,但只要端正態度,不拋棄,不放棄,任何人都能取得令自己滿意的成績。在此,我由衷的感謝在這次課程設計中給了我巨大幫助的老師和同學們!

下載基于EDA技術的數字時鐘設計  最終版范文word格式文檔
下載基于EDA技術的數字時鐘設計 最終版范文.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    數字電子時鐘設計

    (電子技術課程) 設計說明書 數字電子時鐘 起止日期: 2016 年11月23日 至2016年 11月 27 日 學生姓名 班級 學號 成績 指導教師(簽字) 交通工程學院(部) 2016年11月29日 數字......

    EDA數字秒表的設計

    設 計 報 告——數字秒表的設計 EDA 一 設計目的 1.根據設計要求,完成對數字秒表的設計。 2.進一步加強對QuartusⅡ的應用和對Verilog HDL語言的使用。 二 設計內容和要求 1......

    基于verilog的數字時鐘設計

    課程設計 基于Verilog HDL的數字秒表設計 系別:物理與電氣工程學院 專業:微電子學 班級:班 成員: 1 目錄 一、前言…………………………………………………………………………......

    數字時鐘的設計實驗報告

    實驗報告 數字時鐘的設計 一、 實驗目的 1、 掌握數字鐘的設計方法。 2、掌握計數器相互級聯的方法。 學號:14040120049 姓名:陶澤二、 實驗設備和器件 1、數字邏輯電路實驗板......

    數字時鐘課程設計

    數字電子技術課程設計報告 一、設計目的 數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽......

    數字時鐘設計實驗報告(精選多篇)

    電 子 課 程 設 計題目:數字時鐘數字時鐘設計實驗報告一、設計要求: 設計一個 24 小時制的數字時鐘。要求:計時、顯示精度到秒;有校時功能。采用中小規模集成電路設計。發揮:增......

    數字電子時鐘實驗報告

    華大計科學院 數字邏輯課程設計說明書 題目: 多功能數字鐘 專業: 計算機科學與技術 班級:網絡工程1班 姓名:劉群 學號: 1125111023 完成日期: 2013-9 一、設計題目與要求 設......

    數字時鐘課程設計論文

    目錄 1. 序論?????????????????????????3 2. 本論?????????????????????????4 ——設計說明????????????......

主站蜘蛛池模板: 亚洲 日韩 欧美 有码 在线| 99视频在线精品免费观看6| 久久久久久av无码免费网站下载| 国产精品hdvideosex4k| 亚洲日本va午夜在线电影| 日韩精品无码一本二本三本色| 亚洲中文欧美在线视频| 欧美真人性野外做爰| 激情综合亚洲色婷婷五月app| 亚洲国产激情五月色丁香小说| 日韩欧美在线综合网另类| 2019亚洲午夜无码天堂| 久久精品国产清自在天天线| 亚洲欧美日韩综合在线丁香| 国产成人精品午夜福利| 亚洲自偷精品视频自拍| 别揉我胸?啊?嗯视频在线观看| 国产精品视频在线观看| 国产女人高潮视频在线观看| 亚洲国产欧美人成| 色综合久久无码五十路人妻| 亚洲一区av无码少妇电影| 女性高爱潮有声视频| 丝袜足控一区二区三区| 欧洲成人一区二区三区| 性一交一乱一透一a级| 男女啪啪抽搐呻吟高潮动态图| 亚洲中文字幕日产乱码在线| 久久99精品国产麻豆婷婷| 人人爽人人爽人人片a∨| 蜜桃成人无码区免费视频网站| 成人国产精品一区二区免费看| 色偷偷亚洲精品一区二区| 伊人精品久久久久7777| 中文字幕亚洲欧美日韩在线不卡| 国产香蕉一区二区三区在线视频| 日韩成人一区二区三区在线观看| 欧美成年黄网站色视频| 久久国产人妻一区二区免费| 一本加勒比hezyo无码专区| 国产裸体歌舞一区二区|