实验四: 硬件电子琴电路设计. 下载本文

《FPGA》课程报告 设计题目: 学生班级: 学生学号: 学生姓名: 指导教师: 时 间: 成 绩:

硬件电子琴电路设计 一、实验目的:

学习利用数控分频器设计硬件电子琴实验。

二、实验原理:

主系统由3个模块组成,例1是顶层设计文件,其内部有三个功能模块(如图1所示):Speakera.v(例4) 和ToneTaba.v (例3),NoteTabs.v (例2)。

模块ToneTaba是音阶发生器,当8位发声控制输入Index中某一位为高电平时,则对应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code输出对应该音阶简谱的显示数码,如‘5’,并由High输出指示音阶高8度显示。

模块Speakera中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块Speakera由端口Tone获得一个2进制数后,将以此值为计数器的预置数,对端口Clk12MHZ输入的频率进行分频,之后由Spkout向扬声器输出发声。

增加一个NoteTabs模块用于产生节拍控制(Index数据存留时间)和音阶选择信号,即在NoteTabs模块放置一个乐曲曲谱真值表,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。

三、实验过程: 1.分别输入ToneTaba.v和Speakera.v的Verilog HDL文本: 其中ToneTaba.v的代码是:

Speakera.v的代码是:

然后写testbench方针文件,进行方针: ToneTaba.v的testbench文件代码是: