2023年eda數(shù)字鐘設(shè)計(jì)(五篇)_第1頁
2023年eda數(shù)字鐘設(shè)計(jì)(五篇)_第2頁
2023年eda數(shù)字鐘設(shè)計(jì)(五篇)_第3頁
2023年eda數(shù)字鐘設(shè)計(jì)(五篇)_第4頁
2023年eda數(shù)字鐘設(shè)計(jì)(五篇)_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——2023年eda數(shù)字鐘設(shè)計(jì)(五篇)范文為教學(xué)中作為模范的文章,也往往用來指寫作的模板。往往用于文秘寫作的參考,也可以作為演講材料編寫前的參考。寫范文的時(shí)候需要注意什么呢?有哪些格式需要注意呢?接下來我就給大家介紹一下優(yōu)秀的范文該怎么寫,我們一起來看一看吧。

eda數(shù)字鐘設(shè)計(jì)篇一

:instd_logic;數(shù)碼管使能

clk

:instd_logic;時(shí)鐘信號

rst

:instd_logic;復(fù)位信號

sec_1

:outstd_logic_vector(3downto0);秒高位

sec_01:outstd_logic_vector(3downto0);秒低位

min_1

:outstd_logic_vector(3downto0);分高位

min_01:outstd_logic_vector(3downto0);分低位

hou_1

:outstd_logic_vector(3downto0);時(shí)高位

hou_01:outstd_logic_vector(3downto0);時(shí)低位

bee

:outstd_logic);endclock;

architecturebehoviorofclockissignalsec_high:std_logic_vector(3downto0);

signalsec_low

:std_logic_vector(3downto0);signalmin_high:std_logic_vector(3downto0);

signalmin_low:std_logic_vector(3downto0);signalhou_high:std_logic_vector(3downto0);

signalhou_low

:std_logic_vector(3downto0);

signalcy_min

:std_logic;分進(jìn)位

signalcy_hou

:std_logic;時(shí)進(jìn)位

signallogo_1

:std_logic;標(biāo)志

signallogo_2

:std_logic;

signallogo_3

:std_logic;

beginmiaolow:process(clk,rst,en)

begin

if(rst='0')

then

sec_low=“1000〞;附給秒低位為8

elsif(clk'eventandclk='1'anden='1')then檢測時(shí)鐘上升沿及數(shù)碼管使能端

if(sec_low=“1001〞)then

sec_low=“0000〞;

else

sec_low=sec_low+“0001〞;加一

endif;

endif;

endprocessmiaolow;

logo_1=sec_low(3)andsec_low(0);

sec_01=sec_low;秒個(gè)位放8

miaohigh:process(clk,rst)

begin

if(rst='0')

then

sec_high=“0101〞;

elsif(clk'eventandclk='1')then檢測時(shí)鐘上升沿

if(logo_1='1')then

if(sec_high=“0101〞)then

sec_high=“0000〞;

cy_min='1';

else

sec_high=sec_high+“0001〞;加一

cy_min='0';

endif;

endif;

endif;

endprocessmiaohigh;

sec_1=sec_high;秒十位放5

fenlow:process(cy_min,rst,en)

begin

if(rst='0')

then若復(fù)位位為0

min_low=“1000〞;則分個(gè)位為8

elsif(cy_min'eventandcy_min='1'anden='1')then檢測時(shí)鐘上升沿及數(shù)碼管使能端

if(min_low=“1001〞)then

min_low=“0000〞;

else

min_low=min_low+“0001〞;加一

endif;

endif;

endprocessfenlow;

logo_2=min_low(3)andmin_low(0);

min_01=min_low;分個(gè)位放8

fenhigh:process(cy_min,rst)

begin

if(rst='0')

then

min_high=“0101〞;

elsif(cy_min'eventandcy_min='1')then檢測分進(jìn)位上升沿

if(logo_2='1')then

if(min_high=“0101〞)then若分十位為5

min_high=“0000〞;

cy_hou='1';時(shí)進(jìn)位為1

else

min_high=min_high+“0001〞;加一

cy_hou='0';

endif;

endif;

endif;

endprocessfenhigh;

min_1=min_high;分十位放5

shilow:process(cy_hou,rst,en)

begin

if(rst='0')

then

hou_low=“1001〞;

elsif(cy_hou'eventandcy_hou='1'

anden='1')then檢測時(shí)進(jìn)位上升沿及數(shù)碼管使能端

if(hou_low=“1001〞)then若時(shí)低位為9

hou_low=“0000〞;

elsif(hou_high=“0010〞andhou_low=“0011〞)then若時(shí)十位為2,個(gè)位為3

hou_low=“0000〞;

else

hou_low=hou_low+“0001〞;加一

endif;

endif;

endprocessshilow;

logo_3=hou_low(3)andhou_low(0);

hou_01=hou_low;時(shí)個(gè)位放3

shihigh:process(cy_hou,rst)

begin

if(rst='0')

then

hou_high=“0001〞;

elsif(cy_hou'eventandcy_hou='1')then檢測時(shí)進(jìn)位上升沿

if(hou_high=“0010〞andhou_low=“0011〞)then若時(shí)十位為2,時(shí)個(gè)位為3

hou_high=“0000〞;

elsif(logo_3='1')then

hou_high=hou_high+“0001〞;加一

endif;

endif;

endprocessshihigh;

bee_clock:process(clk)

begin

if(clk'eventandclk='1')then檢測時(shí)鐘上升沿

if(sec_high=“0101〞andsec_low=“1001〞

andmin_high=“0101〞andmin_low=“1001〞)then

bee='1';

else

bee='0';

endif;

endif;

endprocessbee_clock;

hou_1=hou_high;時(shí)十位放2

endbehovior;

libraryieee;use;use;use;entityclock1isport(en

:instd_logic;

clk

:instd_logic;

rst

:instd_logic;sec_1

:outstd_logic_vector(3downto0);

sec_01:outstd_logic_vector(3downto0);min_1

:outstd_logic_vector(3downto0);

min_01:outstd_logic_vector(3downto0);hou_1

:outstd_logic_vector(3downto0);

hou_01:outstd_logic_vector(3downto0);

bee

:outstd_logic);endclock1;

architecturebehoviorofclock1issignalsec_high:std_logic_vector(3downto0);

signalsec_low

:std_logic_vector(3downto0);signalmin_high:std_logic_vector(3downto0);

signalmin_low:std_logic_vector(3downto0);signalhou_high:std_logic_vector(3downto0);

signalhou_low

:std_logic_vector(3downto0);

signalcy_min

:std_logic;

signalcy_hou

:std_logic;signallogo_1

:std_logic;

signallogo_2

:std_logic;

signallogo_3

:std_logic;

beginmiaolow:process(clk,rst,en)

begin

if(rst='0')

then

sec_low=“1000〞;

elsif(clk'eventandclk='1'anden='1')then

if(sec_low=“1001〞)then

sec_low=“0000〞;

else

sec_low=sec_low+“0001〞;

endif;

endif;

endprocessmiaolow;

logo_1=sec_low(3)andsec_low(0);

sec_01=sec_low;

miaohigh:process(clk,rst)

begin

if(rst='0')

then

sec_high=“0101〞;

elsif(clk'eventandclk='1')then

if(logo_1='1')then

if(sec_high=“0101〞)then

sec_high=“0000〞;

cy_min='1';

else

sec_high=sec_high+“0001〞;

cy_min='0';

endif;

endif;

endif;

endprocessmiaohigh;

sec_1=sec_high;fenlow:process(cy_min,rst,en)

begin

if(rst='0')

then

min_low=“1000〞;

elsif(cy_min'eventandcy_min='1'anden='1')then

if(min_low=“1001〞)then

min_low=“0000〞;

else

min_low=min_low+“0001〞;

endif;

endif;

endprocessfenlow;

logo_2=min_low(3)andmin_low(0);

min_01=min_low;

fenhigh:process(cy_min,rst)

begin

if(rst='0')

then

min_high=“0101〞;

elsif(cy_min'eventandcy_min='1')then

if(logo_2='1')then

if(min_high=“0101〞)then

min_high=“0000〞;

cy_hou='1';

else

min_high=min_high+“0001〞;

cy_hou='0';

endif;

endif;

endif;

endprocessfenhigh;

min_1=min_high;shilow:process(cy_hou,rst,en)

begin

if(rst='0')

then

hou_low=“1001〞;

elsif(cy_hou'eventandcy_hou='1'anden='1')then

if(hou_low=“1001〞)then

hou_low=“0000〞;

elsif(hou_high=“0010〞andhou_low=“0011〞)then

hou_low=“0000〞;

else

hou_low=hou_low+“0001〞;

endif;

endif;

endprocessshilow;

logo_3=hou_low(3)andhou_low(0);

hou_01=hou_low;

shihigh:process(cy_hou,rst)

begin

if(rst='0')

then

hou_high=“0001〞;

elsif(cy_hou'eventandcy_hou='1')then

if(hou_high=“0010〞andhou_low=“0011〞)then

hou_high=“0000〞;

elsif(logo_3='1')then

hou_high=hou_high+“0001〞;

endif;

endif;

endprocessshihigh;

bee_clock:process(clk)

begin

if(clk'eventandclk='1')then

if(sec_high=“0101〞andsec_low=“1001〞

andmin_high=“0101〞andmin_low=“1001〞)then

bee='1';

else

bee='0';

endif;

endif;

endprocessbee_clock;

hou_1=hou_high;

endbehovior;

eda數(shù)字鐘設(shè)計(jì)篇二

eda實(shí)現(xiàn)多功能數(shù)字鐘

實(shí)

驗(yàn)報(bào)告

專業(yè)班級:

學(xué)生姓名:

學(xué)生學(xué)號:

目錄

一、內(nèi)容摘要

二、試驗(yàn)要求

三、各底層模塊設(shè)計(jì)

四、總體方案

五、心得體會

一、試驗(yàn)內(nèi)容

利用quartusii軟件,結(jié)合所學(xué)的數(shù)字電路的知識設(shè)計(jì)一個(gè)24時(shí)多功能數(shù)字鐘,具有正常分、秒計(jì)時(shí),動(dòng)態(tài)顯示的功能。分析整個(gè)電路的工作原理,分別說明各子模塊的設(shè)計(jì)原理和調(diào)試、仿真、編程的過程。

二、試驗(yàn)任務(wù):

用fpga器件和eda技術(shù)實(shí)現(xiàn)多功能數(shù)字鐘的設(shè)計(jì)

已知條件:

1、max+plus軟件

2、fpga試驗(yàn)開發(fā)裝置

基本功能:

1、以數(shù)字形式顯示時(shí)、分、秒的時(shí)間;

2、小時(shí)計(jì)數(shù)器為24進(jìn)制;

3、分、秒計(jì)數(shù)器為60進(jìn)制。

三、底層模塊設(shè)計(jì)(電路原理圖及仿真)

1、小時(shí)計(jì)數(shù)器為24進(jìn)制電路原理圖

仿真圖

封裝圖

2、分、秒計(jì)時(shí)器都為60進(jìn)制電路原理圖

仿真圖

封裝圖

四、總體方案

依照上述試驗(yàn)要求,本次電子數(shù)字時(shí)鐘試驗(yàn),通過兩個(gè)模60計(jì)數(shù)器及一個(gè)模24計(jì)數(shù)器級聯(lián)既可以實(shí)現(xiàn)計(jì)時(shí)模塊。多功能數(shù)字鐘的主體部分電路原理圖

仿真圖

封裝圖

五、心得體會

剛剛開始覺得做這個(gè)電子試驗(yàn)報(bào)告挺難的,由于對軟件的不熟悉和對這個(gè)試驗(yàn)操作的也不熟悉,對著老師給的資料也做了很長時(shí)間,就是仿真的時(shí)候有些該注意的沒有注意,導(dǎo)致仿真失敗,但是后來還是自己漸漸拿的請教同學(xué)、老師哪里出了問題,后來才做出來了,把60進(jìn)制的做出來了,后來的24進(jìn)制依照老師給的電路原理圖也成功了仿真出來,我用了很長時(shí)間才編寫出來,現(xiàn)在看看,也沒有那么難了。同時(shí)請教老師,和同學(xué)、通過試驗(yàn)把握一些規(guī)律組合器件的基本功能和用法??傊液芨兄x這次試驗(yàn)可以給我這樣的機(jī)遇,這個(gè)試驗(yàn)給了我很對的收獲,我相信這會對我以后的學(xué)習(xí)很有幫助。

eda數(shù)字鐘設(shè)計(jì)篇三

數(shù)字鐘

一、試驗(yàn)?zāi)康?/p>

1、把握多位計(jì)數(shù)器相連的設(shè)計(jì)方法。

2、把握十進(jìn)制,六進(jìn)制,二十四進(jìn)制計(jì)數(shù)器的設(shè)計(jì)方法。

3、把握揚(yáng)聲器的驅(qū)動(dòng)及報(bào)時(shí)的設(shè)計(jì)。

4、led燈的花招顯示。

5、把握cpld技術(shù)的層次化設(shè)計(jì)方法。

二、試驗(yàn)器材

1、主芯片alteraepf10k10lc84-4。2、8個(gè)led燈。

3、揚(yáng)聲器。4、4位數(shù)碼顯示管。5、8個(gè)按鍵開關(guān)(清零,調(diào)小時(shí),調(diào)分鐘)。

三、試驗(yàn)內(nèi)容

根據(jù)電路特點(diǎn),運(yùn)用層次設(shè)計(jì)概念設(shè)計(jì)。將此設(shè)計(jì)任務(wù)分成若干模塊,規(guī)定每一模塊的功能和各模塊之間的接口。

1、時(shí)計(jì)時(shí)程序:libraryieee;use;use;

entityhouris

port(reset,clk:instd_logic;

daout:outstd_logic_vector(7downto0));endhour;

architecturebehavofhouris

signalcount:std_logic_vector(3downto0);signalcounter:std_logic_vector(3downto0);begin

p1:process(reset,clk)

begin

ifreset='0'then

count=“0000〞;

counter=“0000〞;

elsif(clk'eventandclk='1')then

if(counter2)then

if(count=9)then

count=“0000〞;

counter=counter+1;

else

count=count+1;

endif;

else

if(count=3)

then

counter=“0000〞;

else

count=count+1;

count=“0000〞;

endif;

endif;

endif;

endprocess;

daout(7downto4)=counter;daout(3downto0)=count;

endbehav;

2、分計(jì)時(shí)程序:libraryieee;

use;use;

entityminuteis

port(reset,clk,sethour:instd_logic;

daout:outstd_logic_vector(7downto0);

enhour:outstd_logic);endminute;

architecturebehavofminuteis

signalcount:std_logic_vector(3downto0);signalcounter:std_logic_vector(3downto0);signalcarry_out1:std_logic;signalcarry_out2:std_logic;begin

p1:process(reset,clk)begin

ifreset='0'then

count=“0000〞;

counter=“0000〞;

elsif(clk'eventandclk='1')then

if(counter5)then

if(count=9)then

count=“0000〞;

counter=counter+1;

else

count=count+1;

endif;

carry_out1='0';

else

if(count=9)then

count=“0000〞;

counter=“0000〞;

carry_out1='1';

else

count=count+1;

carry_out1='0';

endif;

endif;endif;endprocess;

p2:process(clk)begin

if(clk'eventandclk='0')then

if(counter=0)then

if(count=0)then

carry_out2='0';

endif;

else

carry_out2='1';

endif;endif;endprocess;

daout(7downto4)=counter;daout(3downto0)=count;enhour=(carry_out1andcarry_out2)orsethour;endbehav;

3、秒計(jì)時(shí)程序:libraryieee;

use;use;

entitysecondis

port(reset,clk,setmin:instd_logic;

daout:outstd_logic_vector(7downto0);

enmin:outstd_logic);endsecond;

architecturebehavofsecondis

signalcount:std_logic_vector(3downto0);signalcounter:std_logic_vector(3downto0);signalcarry_out1:std_logic;signalcarry_out2:std_logic;begin

p1:process(reset,clk)begin

ifreset='0'then

count=“0000〞;

counter=“0000〞;

elsif(clk'eventandclk='1')then

if(counter5)

then

if

(count=9)

then

count=“0000〞;

counter=counter+1;

else

count=count+1;

endif;

carry_out1='0';

else

if(count=9)

then

count=“0000〞;

counter=“0000〞;

carry_out1='1';

else

count=count+1;

carry_out1='0';

endif;

endif;endif;endprocess;daout(7downto

4)=counter;

daout(3

downto

0)=count;enmin=carry_out1orsetmin;endbehav;6

4、alert程序:libraryieee;

use;use;

entityalertisport(clkspk:instd_logic;

second:instd_logic_vector(7downto0);

minute:instd_logic_vector(7downto0);

speak:outstd_logic;

lamp:outstd_logic_vector(8downto0));endalert;

architecturebehavofalertissignaldivclkspk2:std_logic;beginp1:process(clkspk)begin

if(clkspk'eventandclkspk='1')then

divclkspk2=notdivclkspk2;

endif;endprocess;p2:process(second,minute)beginif(minute=“01011001〞)thencasesecondis

when“01010001〞=lamp=“000000001〞;speak=divclkspk2;when“01010010〞=lamp=“000000010〞;speak='0';when“01010011〞=lamp=“000000100〞;speak=divclkspk2;when“01010100〞=lamp=“000001000〞;speak='0';when“01010101〞=lamp=“000010000〞;speak=divclkspk2;when“01010110〞=lamp=“000100000〞;speak='0';when“01010111〞=lamp=“001000000〞;speak=divclkspk2;when“01011000〞=lamp=“010000000〞;speak='0';when“01011001〞=lamp=“100000000〞;speak=clkspk;whenothers=lamp=“000000000〞;endcase;endif;endprocess;endbehav;8

5、seltime程序libraryieee;

use;use;

entityseltimeisport(ckdsp:instd_logic;

reset:instd_logic;

second:instd_logic_vector(7downto0);

minute:instd_logic_vector(7downto0);

hour:instd_logic_vector(7downto0);

daout:outstd_logic_vector(3downto0);

sel:outstd_logic_vector(2downto0));endseltime;

architecturebehavofseltimeissignalsec:std_logic_vector(2downto0);begin

process(reset,ckdsp)begin

if(reset='0')thensec=“000〞;

elsif(ckdsp'eventandckdsp='1')then

sec=“000〞;else

sec=sec+1;endif;endif;endprocess;

process(sec,second,minute,hour)begincasesecis

when“000〞=daout=second(3downto0);when“001〞=daout=second(7downto4);when“011〞=daout=minute(3downto0);when“100〞=daout=minute(7downto4);when“110〞=daout=hour(3downto0);when“111〞=daout=hour(7downto4);whenothers=daout=“1111〞;endcase;endprocess;

if(sec=“111〞)then

sel=sec;endbehav;

6、deled程序:libraryieee;

use;use;

entitydeledisport(s:instd_logic_vector(3downto0);

a,b,c,d,e,f,g,h:outstd_logic);enddeled;

architecturebehavofdeledis

signaldata:std_logic_vector(3downto0);signaldout:std_logic_vector(7downto0);begindata=s;process(data)begin

casedatais

when“0000〞=dout=“00111111〞;when“0001〞=dout=“00000110〞;when“0010〞=dout=“01011011〞;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論