EDA - 电子琴课程设计(4)

2019-08-31 11:29

END ART;

附录4:顶层设计源程序清单

--程序名称:DIANZIQIN.VHD

--程序功能:采用VHDL语言编写主程序调用3个子程序,实现乐曲演奏的功能。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DIANZIQIN IS

PORT(CLK32MHZ: IN STD_LOGIC; --系统时钟信号

HANDTOAUTO: IN STD_LOGIC; --键盘输入/自动演奏信号 CODE1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); --音符显示信号 INDEX1: IN STD_LOGIC_VECTOR(7 DOWNTO 0); --键盘输入信号 HIGH1: OUT STD_LOGIC; --高低音节信号 SPKOUT: OUT STD_LOGIC); --音频信号 END;

ARCHITECTURE ART OF DIANZIQIN IS

COMPONENT AUTO --引用 AUTO元件 PORT(CLK: IN STD_LOGIC;

AUTO: IN STD_LOGIC; --输入自动演奏信号 INDEX2: IN STD_LOGIC_VECTOR(7 DOWNTO 0); --输入8位控制信号 INDEX0: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); --输出8位的音符 END COMPONENT;

COMPONENT TONE --引用TONE元件 PORT(INDEX: IN STD_LOGIC_VECTOR(7 DOWNTO 0); CODE: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); HIGH: OUT STD_LOGIC;

TONE0: OUT INTEGER RANGE 0 TO 2047); END COMPONENT;

COMPONENT FENPIN --引用FENPIN元件 PORT(CLK1: IN STD_LOGIC;

TONE1: IN INTEGER RANGE 0 TO 2047; SPKS: OUT STD_LOGIC); END COMPONENT;

SIGNAL TONE2:INTEGER RANGE 0 TO 2047; --定义主程序音调频率信号 SIGNAL INDX:STD_LOGIC_VECTOR(7 DOWNTO 0); --定义8位的音符信号 BEGIN U0:AUTO PORT MAP(CLK=>CLK32MHZ,INDEX2=>INDEX1,INDEX0=>INDX,AUTO=>HANDTOAUTO); --调用自动演奏模块 U1:TONE PORT

MAP(INDEX=>INDX,TONE0=>TONE2,CODE=>CODE1,HIGH=>HIGH1); --调用音调发

生模块

U2:FENPIN PORT MAP(CLK1=>CLK32MHZ,TONE1=>TONE2,SPKS=>SPKOUT); END ART; --调用数控分频模块


EDA - 电子琴课程设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:c++作业题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: