FPGA硬件电子琴电路设计实验报告.pdfVIP

  • 5
  • 0
  • 约6.43千字
  • 约 8页
  • 2024-07-16 发布于河南
  • 举报

FPGA实验报告

题目:硬件电子琴电路设计

一.实验目的:学习运用数控分频器设计硬件电子琴实验。

二.实验原理及内容:主系统由3个模块组成,顶层设计文献中包含三个功能模块,Speakera.v

和ToneTaba.v,NoteTabs.v。

模块ToneTaba是音阶发生器,当8位发声控制输入Index中某一位为高电平时,

则相应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code

输出相应当音阶简谱的显示数码,如‘5’,并由High输出指示音阶高8度显示。

模块Speakera中的重要电路是一个数控分频器,它由一个初值可预置的加法计数

器构成,当模块Speakera由端口Tone获得一个2进制数后,将以此值为计数器的预置数,

对端口Clk12MHZ输入的频率进行分频,之后由Spkout向扬声器输出发声。

增长一个NoteTabs模块用于产生节拍控制(Index数据存留时间)和音阶选择信号,

即在NoteTabs模块放置一个乐曲曲谱真值表,由一个计数器的计数值来控制此真值表的

输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件

的乐曲自动演奏电路。

图1硬件电子琴电路结构

三.实验环节.

1.在QUARTUSII软件下创建一工程,工程名为songer,芯片名为EP2C35F672C6;

2.输入数控分频器程序并命名为Speakera.v,保存与工程相同的文献夹中。

moduleSpeakera(Clk,Tone,SpkS);reg[10:0]Count11;

inputClk;regCount2;

input[10:0]Tone;regSpkS;

PreClk=1b0;elsebegin

outputSpkS;always@(posedgeClk)

Count4=Count4+4b1;endCount11=Count11+11b1;

endFullSpkS=0;end

always@(posedgePreClk)beginend

if(Count11=11h7FF)beginalways@(posedgeFullSpkS)begin

其功能仿真波形和时序仿真波形分别如下:

3.输入音阶发生器程序并命名为ToneTaba.v,保存与工程相同的文献夹中。

ModuleToneTabaalways

(Index,Code,High,Tone);begin

input[3:0]Index;case(Index)

output[3:0]Code;4b0000:beginTone=11b;

4b0011:beginTone=11b;

4b1010:beginTone=11b;

Code=4b0011;High=1b0;end//1036

4b1010:beginTone=11b;

4b0101:beginTone=11b;

文档评论(0)

1亿VIP精品文档

相关文档