VHDL音乐播放器源代码.docx

上传人:b****2 文档编号:18515962 上传时间:2023-08-19 格式:DOCX 页数:24 大小:17.93KB
下载 相关 举报
VHDL音乐播放器源代码.docx_第1页
第1页 / 共24页
VHDL音乐播放器源代码.docx_第2页
第2页 / 共24页
VHDL音乐播放器源代码.docx_第3页
第3页 / 共24页
VHDL音乐播放器源代码.docx_第4页
第4页 / 共24页
VHDL音乐播放器源代码.docx_第5页
第5页 / 共24页
VHDL音乐播放器源代码.docx_第6页
第6页 / 共24页
VHDL音乐播放器源代码.docx_第7页
第7页 / 共24页
VHDL音乐播放器源代码.docx_第8页
第8页 / 共24页
VHDL音乐播放器源代码.docx_第9页
第9页 / 共24页
VHDL音乐播放器源代码.docx_第10页
第10页 / 共24页
VHDL音乐播放器源代码.docx_第11页
第11页 / 共24页
VHDL音乐播放器源代码.docx_第12页
第12页 / 共24页
VHDL音乐播放器源代码.docx_第13页
第13页 / 共24页
VHDL音乐播放器源代码.docx_第14页
第14页 / 共24页
VHDL音乐播放器源代码.docx_第15页
第15页 / 共24页
VHDL音乐播放器源代码.docx_第16页
第16页 / 共24页
VHDL音乐播放器源代码.docx_第17页
第17页 / 共24页
VHDL音乐播放器源代码.docx_第18页
第18页 / 共24页
VHDL音乐播放器源代码.docx_第19页
第19页 / 共24页
VHDL音乐播放器源代码.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VHDL音乐播放器源代码.docx

《VHDL音乐播放器源代码.docx》由会员分享,可在线阅读,更多相关《VHDL音乐播放器源代码.docx(24页珍藏版)》请在冰点文库上搜索。

VHDL音乐播放器源代码.docx

VHDL音乐播放器源代码

4m分频

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitydiv4is

port(clk_in:

instd_logic;

clk_out:

outstd_logic);

end;

architectureaofdiv4is

signalcnt:

integerrange0to6;

signalclk_tmp:

std_logic;

begin

process(clk_in)

begin

if(clk_in'eventandclk_in='1')then

ifcnt=6then

cnt<=0;

clk_tmp<=notclk_tmp;

else

cnt<=cnt+1;

endif;

endif;

endprocess;

clk_out<=clk_tmp;

end;

4分频

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitydiv4mis

port(clk_in:

instd_logic;

clk_out:

outstd_logic);

end;

architectureaofdiv4mis

signalcnt:

integerrange0to6249999;

signalclk_tmp:

std_logic;

begin

process(clk_in)

begin

if(clk_in'eventandclk_in='1')then

ifcnt=6249999then

cnt<=0;

clk_tmp<=notclk_tmp;

else

cnt<=cnt+1;

endif;

endif;

endprocess;

clk_out<=clk_tmp;

end;

speaker

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYSpeakerIS

PORT(CK4MHZ:

INSTD_LOGIC;

YINFU:

ININTEGERRANGE0TO21;

SP:

OUTSTD_LOGIC);

ENDSpeaker;

ARCHITECTUREcntOFSpeakerIS

SIGNALcount:

INTEGER:

=0;

SIGNALF,TWO:

STD_LOGIC;

BEGIN

PROCESS(YINFU,CK4MHZ)

BEGIN

IF(CK4MHZ'EVENTANDCK4MHZ='1')THEN

IF(YINFU=0)THENF<='0';

ELSIF(YINFU=1)THENcount<=count+1;

IF(count<7644)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=2)THENcount<=count+1;

IF(count<6810)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=3)THENcount<=count+1;

IF(count<6068)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=4)THENcount<=count+1;

IF(count<5726)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=5)THENcount<=count+1;

IF(count<5102)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=6)THENcount<=count+1;

IF(count<4546)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=7)THENcount<=count+1;

IF(count<4050)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=8)THENcount<=count+1;

IF(count<3822)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=9)THENcount<=count+1;

IF(count<3406)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=10)THENcount<=count+1;

IF(count<3034)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=11)THENcount<=count+1;

IF(count<2864)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=12)THENcount<=count+1;

IF(count<2552)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=13)THENcount<=count+1;

IF(count<2272)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=14)THENcount<=count+1;

IF(count<2024)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=15)THENcount<=count+1;

IF(count<1912)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=16)THENcount<=count+1;

IF(count<1702)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=17)THENcount<=count+1;

IF(count<1516)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=18)THENcount<=count+1;

IF(count<1432)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=19)THENcount<=count+1;

IF(count<1276)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=20)THENcount<=count+1;

IF(count<1136)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ELSIF(YINFU=21)THENcount<=count+1;

IF(count<1012)THENF<='0';ELSEF<='1';count<=0;

ENDIF;

ENDIF;ENDIF;

ENDPROCESS;

PROCESS(F)

BEGIN

IF(F'EVENTANDF='1')THEN---输出之前的二分频

TWO<=NOTTWO;

ENDIF;

SP<=TWO;

ENDPROCESS;

ENDcnt;

Yinfu

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYyinfuIS

PORT(CK4HZ:

INSTD_LOGIC;

YF:

OUTINTEGERRANGE0TO21);

ENDyinfu;

ARCHITECTURENAMEOFyinfuIS

SIGNALCOUNT:

INTEGER:

=0;

BEGIN

PROCESS(ck4HZ)

BEGIN

IF(ck4HZ'EVENTANDck4HZ='1')THEN

IF(COUNT<101)THENCOUNT<=COUNT+1;ELSECOUNT<=0;

ENDIF;ENDIF;

ENDPROCESS;

PROCESS(COUNT)

BEGIN

CASECOUNTIS

WHEN00=>YF<=0;

WHEN01=>YF<=0;

WHEN02=>YF<=13;

WHEN03=>YF<=14;

WHEN04=>YF<=15;

WHEN05=>YF<=15;

WHEN06=>YF<=15;

WHEN07=>YF<=15;

WHEN08=>YF<=15;

WHEN09=>YF<=15;

WHEN10=>YF<=15;

WHEN11=>YF<=14;

WHEN12=>YF<=14;

WHEN13=>YF<=17;

WHEN14=>YF<=17;

WHEN15=>YF<=17;

WHEN16=>YF<=17;

WHEN17=>YF<=20;

WHEN18=>YF<=20;

WHEN19=>YF<=20;

WHEN20=>YF<=20;

WHEN21=>YF<=0;

WHEN22=>YF<=19;

WHEN23=>YF<=19;

WHEN24=>YF<=18;

WHEN25=>YF<=19;

WHEN26=>YF<=15;

WHEN27=>YF<=15;

WHEN28=>YF<=15;

WHEN29=>YF<=18;

WHEN30=>YF<=18;

WHEN31=>YF<=18;

WHEN32=>YF<=17;

WHEN33=>YF<=17;

WHEN34=>YF<=17;

WHEN35=>YF<=17;

WHEN36=>YF<=16;

WHEN37=>YF<=16;

WHEN38=>YF<=16;

WHEN39=>YF<=16;

WHEN40=>YF<=15;

WHEN41=>YF<=14;

WHEN42=>YF<=14;

WHEN43=>YF<=15;

WHEN44=>YF<=15;

WHEN45=>YF<=15;

WHEN46=>YF<=14;

WHEN47=>YF<=14;

WHEN48=>YF<=13;

WHEN49=>YF<=14;

WHEN50=>YF<=15;

WHEN51=>YF<=15;

WHEN52=>YF<=15;

WHEN53=>YF<=15;

WHEN54=>YF<=15;

WHEN55=>YF<=15;

WHEN56=>YF<=15;

WHEN57=>YF<=15;

WHEN58=>YF<=14;

WHEN59=>YF<=14;

WHEN60=>YF<=17;

WHEN61=>YF<=17;

WHEN62=>YF<=17;

WHEN63=>YF<=20;

WHEN64=>YF<=20;

WHEN65=>YF<=20;

WHEN66=>YF<=20;

WHEN67=>YF<=0;

WHEN68=>YF<=19;

WHEN69=>YF<=19;

WHEN70=>YF<=18;

WHEN71=>YF<=19;

WHEN72=>YF<=19;

WHEN73=>YF<=19;

WHEN74=>YF<=15;

WHEN75=>YF<=15;

WHEN76=>YF<=15;

WHEN77=>YF<=15;

WHEN78=>YF<=18;

WHEN79=>YF<=18;

WHEN80=>YF<=18;

WHEN81=>YF<=18;

WHEN82=>YF<=19;

WHEN83=>YF<=19;

WHEN84=>YF<=19;

WHEN85=>YF<=18;

WHEN86=>YF<=17;

WHEN87=>YF<=17;

WHEN88=>YF<=16;

WHEN89=>YF<=16;

WHEN90=>YF<=15;

WHEN91=>YF<=15;

WHEN92=>YF<=14;

WHEN93=>YF<=14;

WHEN94=>YF<=13;

WHEN95=>YF<=13;

WHEN96=>YF<=13;

WHEN97=>YF<=13;

WHEN98=>YF<=0;

WHEN99=>YF<=0;

WHEN100=>YF<=6;

WHEN101=>YF<=6;

WHENOTHERS=>NULL;

ENDCASE;

ENDPROCESS;

ENDNAME;

Yinfu1

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYyinfu1IS

PORT(CK4HZ:

INSTD_LOGIC;

YF:

OUTINTEGERRANGE0TO21);

ENDyinfu1;

ARCHITECTURENAMEOFyinfu1IS

SIGNALCOUNT:

INTEGER:

=0;

BEGIN

PROCESS(ck4HZ)

BEGIN

IF(ck4HZ'EVENTANDck4HZ='1')THEN

IF(COUNT<118)THENCOUNT<=COUNT+1;ELSECOUNT<=0;

ENDIF;ENDIF;

ENDPROCESS;

PROCESS(COUNT)

BEGIN

CASECOUNTIS

WHEN00=>YF<=6;

WHEN01=>YF<=6;

WHEN02=>YF<=6;

WHEN03=>YF<=6;

WHEN04=>YF<=6;

WHEN05=>YF<=6;

WHEN06=>YF<=6;

WHEN07=>YF<=6;

WHEN08=>YF<=8;

WHEN09=>YF<=9;

WHEN10=>YF<=10;

WHEN11=>YF<=12;

WHEN12=>YF<=15;

WHEN13=>YF<=15;

WHEN14=>YF<=15;

WHEN15=>YF<=15;

WHEN16=>YF<=15;

WHEN17=>YF<=15;

WHEN18=>YF<=15;

WHEN19=>YF<=15;

WHEN20=>YF<=15;

WHEN21=>YF<=15;

WHEN22=>YF<=15;

WHEN23=>YF<=15;

WHEN24=>YF<=10;

WHEN25=>YF<=10;

WHEN26=>YF<=12;

WHEN27=>YF<=12;

WHEN28=>YF<=15;

WHEN29=>YF<=16;

WHEN30=>YF<=17;

WHEN31=>YF<=17;

WHEN32=>YF<=17;

WHEN33=>YF<=17;

WHEN34=>YF<=18;

WHEN35=>YF<=18;

WHEN36=>YF<=18;

WHEN37=>YF<=18;

WHEN38=>YF<=18;

WHEN39=>YF<=18;

WHEN40=>YF<=18;

WHEN41=>YF<=18;

WHEN42=>YF<=10;

WHEN43=>YF<=12;

WHEN44=>YF<=15;

WHEN45=>YF<=16;

WHEN46=>YF<=15;

WHEN47=>YF<=15;

WHEN48=>YF<=15;

WHEN49=>YF<=15;

WHEN50=>YF<=14;

WHEN51=>YF<=15;

WHEN52=>YF<=16;

WHEN53=>YF<=18;

WHEN54=>YF<=16;

WHEN55=>YF<=12;

WHEN56=>YF<=13;

WHEN57=>YF<=14;

WHEN58=>YF<=10;

WHEN59=>YF<=11;

WHEN60=>YF<=9;

WHEN61=>YF<=9;

WHEN62=>YF<=10;

WHEN63=>YF<=10;

WHEN64=>YF<=10;

WHEN65=>YF<=10;

WHEN66=>YF<=6;

WHEN67=>YF<=6;

WHEN68=>YF<=6;

WHEN69=>YF<=6;

WHEN70=>YF<=6;

WHEN71=>YF<=6;

WHEN72=>YF<=6;

WHEN73=>YF<=8;

WHEN74=>YF<=9;

WHEN75=>YF<=10;

WHEN76=>YF<=12;

WHEN77=>YF<=15;

WHEN78=>YF<=15;

WHEN79=>YF<=15;

WHEN80=>YF<=15;

WHEN81=>YF<=15;

WHEN82=>YF<=15;

WHEN83=>YF<=15;

WHEN84=>YF<=15;

WHEN85=>YF<=10;

WHEN86=>YF<=12;

WHEN87=>YF<=15;

WHEN88=>YF<=16;

WHEN89=>YF<=15;

WHEN90=>YF<=15;

WHEN91=>YF<=15;

WHEN92=>YF<=15;

WHEN93=>YF<=18;

WHEN94=>YF<=18;

WHEN95=>YF<=18;

WHEN96=>YF<=18;

WHEN97=>YF<=10;

WHEN98=>YF<=12;

WHEN99=>YF<=15;

WHEN100=>YF<=16;

WHEN101=>YF<=15;

WHEN102=>YF<=15;

WHEN103=>YF<=15;

WHEN104=>YF<=15;

WHEN105=>YF<=14;

WHEN106=>YF<=14;

WHEN107=>YF<=14;

WHEN108=>YF<=15;

WHEN109=>YF<=16;

WHEN110=>YF<=17;

WHEN111=>YF<=17;

WHEN112=>YF<=17;

WHEN113=>YF<=8;

WHEN114=>YF<=8;

WHEN115=>YF<=7;

WHEN116=>YF<=7;

WHEN117=>YF<=6;

WHEN118=>YF<=6;

WHENOTHERS=>NULL;

ENDCASE;

ENDPROCESS;

ENDNAME;

Yinfu2

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYyinfu2IS

PORT(CK4HZ:

INSTD_LOGIC;

YF:

OUTINTEGERRANGE0TO21);

ENDyinfu2;

ARCHITECTURENAMEOFyinfu2IS

SIGNALCOUNT:

INTEGER:

=0;

BEGIN

PROCESS(ck4HZ)

BEGIN

IF(ck4HZ'EVENTANDck4HZ='1')THEN

IF(COUNT<30)THENCOUNT<=COUNT+1;ELSECOUNT<=0;

ENDIF;ENDIF;

ENDPROCESS;

PROCESS(COUNT)

BEGIN

CASECOUNTIS

WHEN00=>YF<=13;

WHEN01=>YF<=15;

WHEN02=>YF<=15;

WHEN03=>YF<=15;

WHEN04=>YF<=0;

WHEN05=>YF<=13;

WHEN06=>YF<=15;

WHEN07=>YF<=15;

WHEN08=>YF<=15;

WHEN09=>YF<=15;

WHEN10=>YF<=15;

WHEN11=>YF<=0;

WHEN12=>YF<=0;

WHEN13=>YF<=0;

WHEN14=>YF<=0;

WHEN15=>YF<=15;

WHEN16=>YF<=13;

WHEN17=>YF<=15;

WHEN18=>YF<=15;

WHEN19=>YF<=15;

WHEN20=>YF<=15;

WHEN21=>YF<=15;

WHEN22=>YF<=10;

WHEN23=>YF<=15;

WHE

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2