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

fpga數(shù)字鐘課程設(shè)計(jì)報告.doc

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

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

fpga數(shù)字鐘課程設(shè)計(jì)報告.doc

課程設(shè)計(jì)報告 設(shè)計(jì)題目:基于FPGA的數(shù)字鐘設(shè)計(jì) 班級:電子信息工程1301 學(xué)號:20133638 姓名:王一丁 指導(dǎo)教師:李世平 設(shè)計(jì)時間:2016年1月 摘要 EDA(Electronic Design Automation)電子設(shè)計(jì)自動化,是以大規(guī)??删幊唐骷樵O(shè)計(jì)載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達(dá)方式,通過相關(guān)的軟件,自動完成軟件方式設(shè)計(jì)得電子系統(tǒng)到硬件系統(tǒng),最終形成集成電子系統(tǒng)或?qū)S眉尚酒?。本次課程設(shè)計(jì)利用Quartus II 為設(shè)計(jì)軟件,VHDL為硬件描述語言,結(jié)合所學(xué)知識設(shè)計(jì)一個多功能時鐘,具有顯示年、月、日、時、分、秒顯示,計(jì)時,整點(diǎn)報時,設(shè)定時間等功能。利用硬件描述語言VHDL 對設(shè)計(jì)系統(tǒng)的各個子模塊進(jìn)行邏輯描述,采用模塊化的思想完成頂層模塊的設(shè)計(jì),通過軟件編譯、邏輯化簡、邏輯綜合優(yōu)化、邏輯仿真、最終完成本次課程設(shè)計(jì)的任務(wù)。關(guān)鍵詞:EDA VHDL語言 數(shù)字鐘 目 錄摘要 1 課程設(shè)計(jì)目的 2 課程設(shè)計(jì)內(nèi)容及要求 2.1 設(shè)計(jì)任務(wù) 2.2 設(shè)計(jì)要求 3 VHDL程序設(shè)計(jì) 3.1方案論證 3.2 系統(tǒng)結(jié)構(gòu)框圖3.3設(shè)計(jì)思路與方法 3.3.1 狀態(tài)控制模塊 3.3.2 時分秒模塊 3.3.3 年月日模塊 3.3.4 顯示模塊 3.3.5脈沖產(chǎn)生模塊 3.3.6 揚(yáng)聲器與鬧鐘模塊3.4 RTL整體電路 4 系統(tǒng)仿真與分析 5 課程設(shè)計(jì)總結(jié),包括.收獲、體會和建議 6 參考文獻(xiàn)1 課程設(shè)計(jì)目的 (1)通過設(shè)計(jì)數(shù)字鐘熟練掌握EDA軟件(QUARTUS II)的使用方法,熟練進(jìn)行設(shè)計(jì)、編譯,為以后實(shí)際工程問題打下設(shè)計(jì)基礎(chǔ)。 (2)熟悉VHDL 硬件描述語言,提升分析、尋找和排除電子設(shè)計(jì)中常見故障的能力。 (3)通過課程設(shè)計(jì),鍛煉書寫有理論根據(jù)的、實(shí)事求是的、文理通順的課程設(shè)計(jì)報告。2 課程設(shè)計(jì)內(nèi)容及要求 2.1 設(shè)計(jì)任務(wù) (1)6個數(shù)字顯示器顯示時分秒,setpin按鍵產(chǎn)生一個脈沖,顯示切換為年月日。 (2)第二個脈沖可預(yù)置年份,第三個脈沖可以預(yù)置月份,依次第四、 五、六、七個脈沖到來時分別可以預(yù)置時期、時、分、秒,第八個脈沖到來后預(yù)置結(jié)束正常從左顯示時分秒。 (3)up為高時,upclk有脈沖到達(dá)時,預(yù)置位加一,否則減一。 2.2 設(shè)計(jì)要求 (1)在基本功能的基礎(chǔ)上,鬧鐘在整點(diǎn)進(jìn)行報時,產(chǎn)生一定時長的高電平。 (2)實(shí)現(xiàn)鬧鐘功能,可對鬧鐘時間進(jìn)行預(yù)置,當(dāng)達(dá)到預(yù)置時間時進(jìn)行報時。 3 VHDL程序設(shè)計(jì) 3.1方案論證 該數(shù)字鐘可以實(shí)現(xiàn):計(jì)時功能、整點(diǎn)報時、鬧鐘和預(yù)置時間功能,因此時鐘系統(tǒng)可分為5個模塊:功能選擇模塊、時分秒計(jì)數(shù)模塊、年月日計(jì)數(shù)模塊、顯示模塊、揚(yáng)聲器模塊、脈沖產(chǎn)生模塊。(1) 功能選擇模塊是有狀態(tài)機(jī)構(gòu)成的,功能為依次進(jìn)行、設(shè)置時間、設(shè)置鬧鐘時間。 調(diào)整工作狀態(tài):數(shù)字鐘的初始狀態(tài)顯示時分秒,在setpin按鍵產(chǎn)生一個脈沖,顯示切換為年月日。 設(shè)置時間:第二個脈沖可預(yù)置年份,第三個脈沖可以預(yù)置月份,依次第四、 五、六、七個脈沖到來時分別可以預(yù)置時期、時、分、秒。第八個脈沖到來后,預(yù)置結(jié)束恢復(fù)初始狀態(tài),正常顯示時分秒。 設(shè)置鬧鐘時間:鬧鐘在setpin1按鍵產(chǎn)生第一個脈沖時設(shè)定鬧鐘的時,第二個脈沖設(shè)定分,第三個脈沖設(shè)定秒,第四個脈沖恢復(fù)顯示時分秒。(2)時分秒計(jì)數(shù)模塊包括正常計(jì)時、鬧鐘、整點(diǎn)報時三個功能。 正常計(jì)時功能通過軟件編寫,60進(jìn)制的秒計(jì)數(shù)器,60進(jìn)制的分計(jì)數(shù)器,24進(jìn)制的時計(jì)數(shù)器。時分秒的計(jì)數(shù)器具有清0、置數(shù)、進(jìn)位和計(jì)數(shù)功能。其中reset為清0信號,當(dāng)reset為0時,時分秒的計(jì)數(shù)器清0。當(dāng)set產(chǎn)生第四個脈沖后,連續(xù)產(chǎn)生的set信號使分秒計(jì)數(shù)器依次進(jìn)行置數(shù)。以upclk為時鐘,通過up對預(yù)置位進(jìn)行控制,當(dāng)up為高時且upclk有脈沖到來時,預(yù)置位加一,否則減一。當(dāng)set產(chǎn)生第八個脈沖時,數(shù)字鐘恢復(fù)時分秒的顯示。 鬧鐘功能是在正常計(jì)數(shù)功能上拓展,分為鬧鐘時間預(yù)置和鬧鐘響應(yīng)兩個部分。鬧鐘時間預(yù)置功能:當(dāng)set1連續(xù)產(chǎn)生脈沖時,依次對鬧鐘的時分秒位進(jìn)行預(yù)置。以upclk為時鐘,通過up對預(yù)置位進(jìn)行控制,當(dāng)up為高時且upclk有脈沖到來時,預(yù)置位加一,否則減一。當(dāng)set1產(chǎn)生第四個脈沖時,數(shù)字鐘恢復(fù)時分秒的顯示。與此同時在程序中增添變量時計(jì)時功能可以持續(xù)運(yùn)行。鬧鐘響應(yīng)功能:通過預(yù)置后,儲存的變量與計(jì)時器模塊的時、分、秒進(jìn)行比對,當(dāng)時、分、秒相同時,模塊產(chǎn)生一個一段時間的高電平,傳輸給鬧鐘響應(yīng)模塊。 整點(diǎn)報時功能:當(dāng)計(jì)數(shù)器中的分位等于59,秒位等于59時,模塊產(chǎn)生一段高電平,輸出給揚(yáng)聲器模塊進(jìn)行報時。(3) 年月日計(jì)數(shù)模塊分為年月日計(jì)數(shù)功能,年月日預(yù)置數(shù)功能。 年月日計(jì)數(shù)功能:以時位的進(jìn)位脈沖為計(jì)時脈沖,閏年二月份為29天,普通年二月份為28天。一月、三月、五月、七月、八月、十月、十二月為31天,四月、六月、九月、十一月為30天。 年月日預(yù)置數(shù)功能:當(dāng)set產(chǎn)生第一個脈沖后,依次進(jìn)行年月日數(shù)器置數(shù)。以upclk為時鐘,通過up對預(yù)置位進(jìn)行控制,當(dāng)up為高時且upclk有脈沖到來時,預(yù)置位加一,否則減一。(4) 顯示模塊:以時分秒,年月日模塊的輸出、狀態(tài)標(biāo)志為輸入信號,通過狀態(tài)控制模塊產(chǎn)生的狀態(tài)標(biāo)志對顯示模塊進(jìn)行控制,顯示計(jì)時、預(yù)置時的不同狀態(tài)。(5)揚(yáng)聲器模塊:輸入信號為分位、秒位和狀態(tài)信號,當(dāng)計(jì)時時鐘到達(dá)整點(diǎn)是輸出高電平,其他時刻輸出低電平。(6)脈沖產(chǎn)生模塊:對輸入的信號進(jìn)行1000分頻,產(chǎn)生周期為一秒的時鐘信號,用于數(shù)字鐘的時鐘輸入。3.2系統(tǒng)結(jié)構(gòu)框圖 3.3設(shè)計(jì)思路與方法 3.3.1 狀態(tài)控制模塊 狀態(tài)控制模塊實(shí)現(xiàn)對各個功能模塊的整體設(shè)計(jì),包括對時間與日期的顯示與調(diào)整,鬧鐘的顯示與調(diào)整等控制操作。狀態(tài)機(jī)的輸入為setpin,setpin1,upclk。狀態(tài)機(jī)的狀態(tài)有11種狀態(tài)。:鬧鐘設(shè)置時位; :鬧鐘設(shè)置分位; :鬧鐘設(shè)置秒位;:時鐘顯示時分秒;:時鐘顯示年月日; :鐘設(shè)置年; :時鐘設(shè)置月; :時鐘設(shè)置日; :時鐘設(shè)置時; :時鐘設(shè)置分; :設(shè)置秒 在產(chǎn)生如上狀態(tài)的同時產(chǎn)生Tlock,flag狀態(tài)標(biāo)志,此標(biāo)志用來進(jìn)行時鐘設(shè)置、鬧鐘設(shè)置與顯示控制。 RTL 電路圖實(shí)現(xiàn)代碼如下:process(upclk)begin if (upclk=1 and upclkLAST_VALUE=0)then state<=next_state; - 實(shí)現(xiàn)狀態(tài)變換end if;end process;process(state,setpin,setpin1)begin next_state<=state; case(state) is when s0 =>Tlock<="0000"flag<=1; if(setpin1=1 and setpin1LAST_VALUE=0)then next_state<=g0; end if; if(setpin=1 and setpinLAST_VALUE=0) then next_state<=s1;end if;when s1=>Tlock<="0001"flag<=1; if(setpin1=1 and setpin1LAST_VALUE=0)then next_state<=g0;end if; if(setpin=1 and setpinLAST_VALUE=0) then next_state<=s2;end if;when s2=>Tlock<="0010"flag<=1; if(setpin1=1 and setpin1LAST_VALUE=0)then next_state<=g0;end if; if(setpin=1 and setpinLAST_VALUE=0) then next_state<=s3;end if; when s3=> Tlock<="0011" flag<=1; if(setpin1=1 and setpin1LAST_VALUE=0)then next_state<=g0;end if; if(setpin=1 and setpinLAST_VALUE=0) then next_state<=s4;end if;when s4=>Tlock<="0100"flag<=1; if(setpin1=1 and setpin1LAST_VALUE=0)then next_state<=g0;end if; if(setpin=1 and setpinLAST_VALUE=0) thennext_state<=s5;end if; when s5=> Tlock<="0101" flag<=1; if(setpin1=1 and setpin1LAST_VALUE=0)then next_state<=g0;end if; if(setpin=1 and setpinLAST_VALUE=0) thennext_state<=s6; end if;when s6=>Tlock<="0110"flag<=1; if(setpin1=1 and setpin1LAST_VALUE=0)then next_state<=g0;end if; if(setpin=1 and setpinLAST_VALUE=0) then next_state<=s7;end if; when s7=>Tlock<="0111"flag<=1; if(setpin1=1 and setpin1LAST_VALUE=0)then next_state<=g0;end if;if(setpin=1 and setpinLAST_VALUE=0) then next_state<=s0; end if;when g0=>Tlock<="1000"flag<=0; if(setpin1=1 and setpin1LAST_VALUE=0)then next_state<=g1;end if; if(setpin=1 and setpinLAST_VALUE=0) then next_state<=s0;end if;when g1=>Tlock<="1001"flag<=0; if(setpin1=1 and setpin1LAST_VALUE=0)then next_state<=g2;end if; if(setpin=1 and setpinLAST_VALUE=0) then next_state<=s0; end if; when g2=>Tlock<="1010"flag<=0; if(setpin1=1 and setpin1LAST_VALUE=0)then next_state<=s0;end if; if(setpin=1 and setpinLAST_VALUE=0) then next_state<=s0;end if;when others=> next_state<=s0; end case; end process; 3.3.2 時分秒模塊 時分秒模塊的輸入為ce(使能端),clk0(系統(tǒng)輸入時鐘),clk1(upclk時鐘),flag(標(biāo)志位),lock(狀態(tài)位),up(預(yù)置位增減控制),ov(進(jìn)位位),op(鬧鐘與揚(yáng)聲器響應(yīng))。 時分秒模塊的RTL電路圖 時鐘選擇方式:在初始狀態(tài)和顯示年月日的狀態(tài)下,時分秒模塊的時鐘輸入為系統(tǒng)時鐘輸入(clk0),在其他狀態(tài)下,時分秒模塊的時鐘輸入為(upclk時鐘)用來進(jìn)行置位。 實(shí)現(xiàn)代碼入下: process(lock,clk0,clk1) begin if(lock="0000" or lock="0001")thenclk<=clk0; -正常計(jì)數(shù)時選擇clk0else clk<=clk1; -預(yù)置的時候clk1end if;end process;時鐘計(jì)時功能,在顯示年月日,時分秒的狀態(tài)時,時鐘正常計(jì)數(shù)。當(dāng)數(shù)字鐘處于置數(shù)狀態(tài)時,年、月、日、時、分、秒時鐘停止計(jì)時,各個位顯示預(yù)置數(shù)。在鬧鐘的預(yù)置功能實(shí)現(xiàn)的同時,通過增添變量,在設(shè)置鬧鐘的同時保證時鐘的正常計(jì)數(shù),在鬧鐘預(yù)置結(jié)束后,恢復(fù)到初始的時鐘顯示。 3.2.3 年月日模塊 年月日模塊分為日期增加和日期減小兩個部分,日期增加:在顯示時分秒,顯示年月日和設(shè)置完秒位的狀態(tài)下,如果是二月,通過函數(shù)判斷是否為閏年,其他月份對大小月進(jìn)行判斷,大月為31天,小月為30天,代碼如下: if(clkevent and clk=1)then if(ce=1)then if(lock="0000")or(lock="0001")or(lock="0100"and up=1)then if(mon0="0010"and mon1="0000") then Feb_add_day(Td0,Td1,tempy0,tempy1,date0,date1); elsif(mon0="0001"and mon0="0000")or(mon0="0011")or(mon0="0101") or(mon0="0111")or(mon0="1000")or(mon0="0000"and mon1="0001")or(mon0="0010"and mon1="0001")then oddmonth_add_day(Td0,Td1,date0,date1);else evenmonth_add_day(Td0,Td1,date0,date1);end if;end if;日期減少同理,代碼如下:if(lock="0100"and up=0)then if(mon0="0010"and mon1="0000")then Feb_add_day(Td0,Td1,tempy0,tempy1,date0,date1);elsif(mon0="0001"and mon1="0000")or(mon0="0011")or(mon0="0101") or(mon0="0111")or(mon0="1000")or(mon0="0000"and mon1="0001") or(mon0="0010"and mon1="0001")then oddmonth_sub_day(Td0,Td1,date0,date1);else evenmonth_sub_day(Td0,Td1,date0,date1);END IF;end if;end if;end if; 當(dāng)以日位的進(jìn)位為輸入,當(dāng)存在輸入脈沖時,通過函數(shù)對月份進(jìn)行加減,代碼如下: beginif(clkevent and clk=1)then if(ce=1)then if(lock="0000")or (lock="0001")or (lock="0011"and up=1)then add_month(Tm0,Tm1,mon0,mon1); end if;if(lock="0011"and up=0)then sub_month(Tm0,Tm1,mon0,mon1); end if; if (lock="0000")or (lock="0001") then if(mon0="0010"and mon1="0001")then sub_year(Ty0,Ty1,year0,year1); end if; end if;if(lock="0010"and up=1)then add_year(Ty0,Ty1,year0,year1); end if;if(lock="0010"and up=0)then sub_year(Ty0,Ty1,year0,year1); end if; end if; end if; 3.2.4 顯示模塊 顯示模塊的輸入為年、月、日、時、分、秒、lock(狀態(tài)標(biāo)志),通過if語句,狀態(tài)機(jī)一共提供11鐘狀態(tài)。在不同狀態(tài)下,給顯示模塊的年月日時分秒不同的輸入,從而得到要求的顯示。 顯示電路的RTL電路代碼如下:process(lock,sec0,sec1,min1,min0,hour1,hour0,date0,date1,mon0,mon1,year0,year1)beginif(lock="0000")thena0<=sec0;a1<=sec1;b0<=min0;b1<=min1;c0<=hour0;c1<=hour1;end if;if(lock="0001")thena0<=date0;a1<=date1;b0<=mon0;b1<=mon1;c0<=year0;c1<=year1;end if;if(lock="0101")or(lock="1000")thena0<="1111"a1<="1111"b0<="1111"b1<="1111"c0<=hour0;c1<=hour1;end if;if(lock="0110")or(lock="1001")thena0<="1111"a1<="1111"b0<=min0;b1<=min1;c0<="1111"c1<="1111"end if;if(lock="0111")or(lock="1010")thena0<=sec0;a1<=sec1;b0<="1111"b1<="1111"c0<="1111"c1<="1111"end if;if(lock="0010")thena0<="1111"a1<="1111"b0<="1111"b1<="1111"c0<=year0;c1<=year1;end if;if(lock="0011")thena0<="1111"a1<="1111"b0<=mon0;b1<=mon1;c0<="1111"c1<="1111"end if;if(lock="0100")thena0<=date0;a1<=date1;b0<="1111"b1<="1111"c0<="1111"c1<="1111"end if;end process;end led_disp_arc; 3.2.5脈沖發(fā)生模塊(分頻電路) 脈沖發(fā)生電路將提供的1000hz頻率分頻成1hz(供系統(tǒng)時鐘)。f1000為1000hz輸入,second_wave為分頻輸出。 分頻器的RTL電路 代碼如下:process(f1000,cnt) begin if(f1000event and f1000=1)then if(cnt="00000011")thencnt<="000000000"second_wave<=not second_wave;else cnt<=cnt+1;end if;end if;end process;end second_wave_arc;3.2.6 揚(yáng)聲器模塊 模塊的輸入為clk(系統(tǒng)時鐘),op(響應(yīng)信號),vcc(鬧鐘使能端),ala(高電平輸出)。當(dāng)vcc為高時,且當(dāng)op有響應(yīng)信號輸入(高),鬧鐘產(chǎn)生一定時長的高電平。 鬧鐘的RTL電路代碼如下:signal temp1:std_logic_vector(3 downto 0);beginprocess(op,vcc,clk) begin if clkevent and clk=1 then if(vcc=1)then if(temp1="1111")then ala<=not ala;elsetemp1<=temp1+1;ala<=1;end if;end if;end if;end process; end alarm_arc;3.3整體RTL電路 4 系統(tǒng)仿真與分析 4.1對基本要求的仿真 初態(tài)設(shè)置:setpin1=0;up=0;setpin置連續(xù)8個脈沖,f1000為頻率為1000hz的方波。 分析:在setpin第一次脈沖到來時,顯示年月日,因?yàn)閿?shù)字鐘是初始狀態(tài)所以年月日均為0。Setpin。第二次脈沖到來時對時進(jìn)行預(yù)置數(shù),因?yàn)閡p=0,所以設(shè)置時位,時位在不斷地減小,在后面各位預(yù)置的過程中,每一位的預(yù)置過程都是減小。第三次脈沖來到是對分位進(jìn)行預(yù)置,第四次脈沖到來時對秒位進(jìn)行預(yù)置。第四次脈沖到來時對年進(jìn)行預(yù)置,第五次脈沖到來時對月進(jìn)行預(yù)置,第六次脈沖到來時對日進(jìn)行預(yù)置。第七次脈沖到來時,數(shù)字鐘顯示時分秒,從仿真結(jié)果可以看出來,此時時鐘是從預(yù)置的時間開始計(jì)時的,第八次脈沖到來時,此時時鐘顯示的是年月日,此時顯示的年月日為預(yù)置的年月日。 從上述分析可以看出,經(jīng)過仿真的程序基本達(dá)到數(shù)字鐘的基本要求,系統(tǒng)可靠。 4.2對鬧鐘狀態(tài)轉(zhuǎn)換的仿真 初始設(shè)置:初態(tài)設(shè)置:setpin1設(shè)計(jì)一個脈沖;up=0;setpin置連續(xù)2個脈沖,f1000為頻率為1000hz的方波。當(dāng)?shù)谝粋€setpin脈沖到來時,顯示年月日,第二個setpin脈沖來臨時時鐘對年進(jìn)行預(yù)置,此后setpin1的第一個脈沖到來,時鐘的狀態(tài)轉(zhuǎn)為對鬧鐘時間的設(shè)置,達(dá)到實(shí)驗(yàn)要求。4.3對鬧鐘功能的仿真初始設(shè)置:初態(tài)設(shè)置:setpin1設(shè)計(jì)三個脈沖;up=0;f1000為頻率為1000hz的方波。數(shù)字鐘的原狀態(tài)顯示時分秒,由于未進(jìn)行初始化,所以時分秒從0開始計(jì)時,當(dāng)setpin1第一個脈沖到來時,數(shù)字鐘對鬧鐘的時刻的時位進(jìn)行預(yù)置,當(dāng)setpin1第二個脈沖到來時,數(shù)字鐘對鬧鐘的時刻的分位進(jìn)行預(yù)置,當(dāng)setpin1第三個脈沖到來時,數(shù)字鐘對鬧鐘的時刻的秒位進(jìn)行預(yù)置,當(dāng)?shù)谒膫€脈沖到來是恢復(fù)顯示時分秒,此時的時分秒已經(jīng)計(jì)數(shù)到51秒,符合預(yù)期,在設(shè)置鬧鐘的同時,時鐘依舊計(jì)數(shù),達(dá)到要求。同時從初始時刻,鬧鐘的揚(yáng)聲器產(chǎn)生一定時長高電平可以看出整點(diǎn)報時功能良好,達(dá)到設(shè)計(jì)要求。 5 課程設(shè)計(jì)總結(jié)(收獲、體會和建議) 本次VHDL設(shè)計(jì)的數(shù)字鐘定義了三種類型的端口,分別是in、out、buffer。In和out端口使用簡單,buffer端口具有回讀功能,因?yàn)閎uffer類型的端口不能連接到其他類型的端口上,因此不利于子模塊原件例化,不利于大型設(shè)計(jì)。 進(jìn)程(Process)是VHDL中最為重要的部分,在本次設(shè)計(jì)中。我出現(xiàn)了對于時鐘引入,輸出多驅(qū)動,一個進(jìn)程中不允許出現(xiàn)兩個時鐘沿觸發(fā)的錯誤,這些錯誤在未來的設(shè)計(jì)中都是應(yīng)該避免的。順序語句如IF語句、CASE語句、LOOP語句、變量賦值語句等必須出現(xiàn)在進(jìn)程、函數(shù)或子程序內(nèi)部,而不能單獨(dú)出現(xiàn)在進(jìn)程之外。 本次實(shí)驗(yàn)讓我對VHDL 語言有了更深的認(rèn)識,對語言的運(yùn)用更加熟悉,為未來的實(shí)際應(yīng)用打下了良好的基礎(chǔ)。因?yàn)閷?shí)驗(yàn)室的條件限制,并沒有將程序下載到實(shí)際器件中觀察現(xiàn)象,只是通過軟件對系統(tǒng)進(jìn)行仿真,希望以后可以機(jī)會接觸并使用實(shí)際器件。 6 參考文獻(xiàn) 1. 吳廷鑫. 基于FPGA的多功能數(shù)字鐘設(shè)計(jì)J. 科技經(jīng)濟(jì)市場, 2015, (5): 1-5 2.徐大詔. 基于FPGA實(shí)現(xiàn)的數(shù)字鐘設(shè)計(jì)J. 信息技術(shù), 2009, (12): 101-104 3.張子剛, 盧戈, 田鵬. 基于VHDL的數(shù)字時鐘的設(shè)計(jì)J. 氣象水文海洋儀器, 2008, (2): 10-14 4.樊永寧, 張曉麗. 基于VHDL的多功能數(shù)字鐘的設(shè)計(jì)J. 工礦自動化, 2006, (3): 92-94 5.江翠云 基于CPLD和VHDL的數(shù)字鐘的設(shè)計(jì)期刊論文-硅谷2010(2)

注意事項(xiàng)

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

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(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ù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!