EDA基础实验报告Word下载.docx

上传人:b****5 文档编号:16340129 上传时间:2022-11-23 格式:DOCX 页数:13 大小:128.54KB
下载 相关 举报
EDA基础实验报告Word下载.docx_第1页
第1页 / 共13页
EDA基础实验报告Word下载.docx_第2页
第2页 / 共13页
EDA基础实验报告Word下载.docx_第3页
第3页 / 共13页
EDA基础实验报告Word下载.docx_第4页
第4页 / 共13页
EDA基础实验报告Word下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

EDA基础实验报告Word下载.docx

《EDA基础实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《EDA基础实验报告Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

EDA基础实验报告Word下载.docx

三八译码器三输入,八输出。

当输入信号按二进制方式的表示为N时,输出端从零标记到八。

因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位有效的情况下,能表示所有的输入组合。

3-8译码器真值表

输入

输出

A2A1A0

Y7Y6Y5Y4Y3Y2Y1Y0

000

001

010

011

100

101

110

111

00000001

00000010

00000100

00001000

00010000

00100000

01000000

10000000

四位拨码开关提供8421BCD码,经译码电路后成为7段数码管的字形显示驱动信号。

(A…G)扫描电路通过可调时钟输出片选地址SEL[2..0]。

由SEL[2..0]和A..G决定了8位中的哪一位显示和显示什么字形.SEL[2..0]变化的快慢决定了扫描频率的快慢。

1、参考电路(时钟频率>

40HZ,如图2—4—1)

 

图1—5—1

2、

参考电路(时钟频率<

2HZ,如图2—4—2)

图1—5—2

六、实验连线:

输入信号:

D3,D2,D1,D0所对应的管脚同四位拨码开关相连;

清零信号RESET所对应的管脚同按键开关相连;

时钟CLK所对应的管脚同实验箱上的时钟源相连;

输出信号:

代表扫描片选地址信号SEL2,SEL1,SEL0的管脚同四位扫描驱动地址的低3位相连,最高位地址接“0”(也可悬空);

代表7段字码驱动信号A,B,C,D,E,F,G的管脚分别同扫描数码管的段输入a,b,c,d,e,f,g相连。

七、实验步骤:

1.进入WINDOWS操作系统,打开MAXPLUSII。

2.设计输入。

3.保存原理图。

4.用相关软件对程序进行管脚的定义、编译、仿真、下载,完成整个实验的设计。

八、实验程序图

七、实验结果:

拨动三个拨码输入开关,对应的LED指示灯点亮,实现译码功能,即实现了三个开关的任意组合。

二应用实验

梁祝音乐演奏实验

一、实验目的:

1.了解普通扬声器的工作原理。

2.使用FPGA产生不同的音乐频率。

3.进一步体验FPGA的灵活性。

二、实验硬件要求:

1.375KHz信号源。

2.FPGAEP1K10TC100—3主芯片。

3.扬声器。

三、实验原理:

本实验是完成一小段音乐程序的开发,然后再用扬声器进行试听。

下面主要介绍一下完成本实验的几个主要部分的工作原理。

1、音符的产生:

音符的产生是利用计数器对输入的时钟信号进行分频,然后输出不同的频率来控制扬声器发不同的声音。

计数器必须是模可变的计数器,也就是其初始计数值可变,这样便可以对其进行初始化,使其从不同的初始值开始计数,实现对输入时钟信号的不同分频。

2、节拍的产生:

节拍也是利用计数器来实现,如果某一个音符需要维持的时间比较长,那么就可以在此计数器从计数值A到计数值B之间都维持该音符,很显然,A和B之间的间隔越大,那么该音符维持的时间也就越长。

3、乐谱的存储:

乐谱是一个固定的组合电路,根据不同的输入值,然后输出一个固定的值,该值就是音符产生计数器的分频的初始值。

适当的选择这些计数器和组合电路,便可完成不同的乐曲和不同节奏。

四、实验内容及步骤:

本实验要完成的任务是设计一个驱动扬声器产生梁祝音乐的程序,设计步骤如下:

1、编写音乐输出的VHDL代码。

2、用MaxPlusII对其进行编译仿真。

3、在仿真确定无误后,选择芯片ACEX1K10TC100—3。

4、给芯片进行管脚绑定,在此进行编译。

5、根据自己帮点的管脚,在实验箱上对扬声器接口和FPGA之间进行正确连线。

6、给目标板下载代码,观看实验结果。

五、实验连线:

Clk:

时钟输入信号,接375KHz的时钟源。

Spk:

输出,接扬声器部分的输入端。

六、实验VHDL程序:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

useieee.std_logic_unsigned.all;

----------------------------

entitymusicis

port(clk:

instd_logic;

spk:

bufferstd_logic);

endmusic;

---------------------

architecturebehaveofmusicis

signaltone:

std_logic_vector(10downto0);

signaltone_count:

signaltone_index:

integerrange0to15;

signalclk10_count:

std_logic_vector(17downto0);

signaltime:

integerrange0to150;

signalclk10:

std_logic;

begin

process(clk)--generate10hzclocksignal

if(clk'

eventandclk='

1'

)then

clk10_count<

=clk10_count+1;

if(clk10_count=16#3fff#)then

clk10<

=notclk10;

endif;

endprocess;

process(clk10)

if(clk10'

eventandclk10='

if(time=150)then

time<

=0;

else

=time+1;

casetimeis

when0=>

tone_index<

=3;

when1=>

when2=>

when3=>

--

when4=>

=5;

when5=>

when6=>

when7=>

=6;

when8=>

=8;

when9=>

when10=>

when11=>

=9;

when12=>

when13=>

when14=>

when15=>

when16=>

=12;

when17=>

when18=>

when19=>

=15;

when20=>

=13;

when21=>

when22=>

=10;

when23=>

when24=>

when25=>

when26=>

when27=>

when28=>

when29=>

when30=>

when31=>

when32=>

when33=>

when34=>

when35=>

when36=>

=7;

when37=>

when38=>

when39=>

when40=>

when41=>

when42=>

when43=>

when44=>

when45=>

when46=>

when47=>

when48=>

when49=>

when50=>

when51=>

when52=>

when53=>

when54=>

when55=>

when56=>

when57=>

when58=>

when59=>

when60=>

when61=>

when62=>

when63=>

----

when64=>

when65=>

when66=>

when67=>

when68=>

when69=>

when70=>

when71=>

when72=>

when73=>

when74=>

when75=>

when76=>

when77=>

when78=>

when79=>

when80=>

when81=>

when82=>

when83=>

when84=>

when85=>

when86=>

when87=>

when88=>

when89=>

when90=>

when91=>

when92=>

when93=>

when94=>

when95=>

when96=>

when97=>

when98=>

when99=>

when100=>

when101=>

when102=>

when103=>

when104=>

when105=>

when106=>

when107=>

when108=>

when109=>

when110=>

when111=>

when112=>

when113=>

when114=>

when115=>

when116=>

when117=>

when118=>

when119=>

when120=>

when121=>

when122=>

when123=>

when124=>

when125=>

when126=>

when127=>

when128=>

when129=>

when130=>

when131=>

when132=>

when133=>

when134=>

when135=>

when136=>

when137=>

when138=>

when139=>

whenothers=>

endcase;

process(tone_index)

casetone_indexis

tone<

="

11111111111"

;

--nooutput

01100000101"

--773

01110010000"

--912

10000001100"

--1036

10010101101"

--1197

10100001010"

--1290

10101011100"

--1372

10110000010"

--1410

10111001000"

--1480

11000000110"

--1542

11001010110"

--1622

11010000100"

--1668

11011000000"

--1728

--others:

nooutput

process(clk)--controlthefrequenceofthespeaker

if(tone_count=16#7ff#)then

tone_count<

=tone;

if(tone<

2047)then

spk<

=notspk;

=tone_count+1;

endbehave;

七、实验结果

接6M时钟频率,蜂鸣器奏响比较动听的《梁祝》音乐,如用其他频率,音乐会走调失真。

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

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1