1 引言
EDA 是英文“Electronics Design Automation (电子设计自动化)”的缩写。EDA 技术是近几年迅速发展起来的计算机软件、硬件和微电子交叉的现代电子设计学科,是现代电子工程领域的一门新技术。它是以可编程逻辑器件(PLD)为物质基础,以计算机为工作平台,以EDA 工具软件为开发环境,以硬件描述语言(HDL)作为电子系统功能描述的主要方式,以电子系统设计为应用方向的电子产品自动化设计过程。
VHDL 是常用的HDL,它的英文全名是VHSIC“Very High Speed Integrated Circuit Handware Description Language (高速集成电路硬件描述语言)”,VHDL 语言具有很强的电路描述和建模能力,能简化硬件设计任务,提高设计的效率和可靠性。
Quartus II 是Altera 提供的FPGA“Field Programmable Gate Array (现场可编程门阵列)”和CPLD“Complex programmable Logic Device( 复杂可编程逻辑器件)”的开发集成环境, Altera 是世界最大可编程逻辑器件供应商之一。Altera 的Quartus II 提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC 开发的基本设计工具,并为Altera DSP 开发包进行系统模型设计提供了集成综合环境。
2 设计原理
本文通过利用数控分频器设计硬件乐曲演奏电路(电子琴)的设计实例,使读者初步了解VHDL 硬件描述语言和Quartus II 开发环境。本设计是在Altera 的FPGA 芯片CycloneEP1C6 和杭州康芯电子有限公司生产的GW48 系列EDA 实验系统基础上完成的,硬件测试用实验系统的电路模式3,特点是有8 个琴键式键控发生器,可用于设计八音琴等电路系统,也可以产生时间长度可控的单次脉冲。该电路有8 个译码输出显示的数码管,以显示目标芯片的32 位输出信号,且8 个发光管也能显示目标器件的8 位输出信号。时钟为50MHz ,输出接扬声器。

主系统TONETABA.VHD 和SPEAKER.VHD 2 个模块组成:

(1) 音符的频率可以由SPEAKER 获得,这是一个数控分频器。由其clk 端输入一具有较高频率(这里是12MHZ)的信号,通过SPEAKERA 分频后由SPKOUT 输出。
(2) 音符的持续时间须根据乐曲的速度及每个音符的节拍数决定,模块TONETABA 的功能是为SPEAKERA 提供决定所发音的分频预置值,而此数在SPEAKERA 输入口停留的时间即为此音符的节拍值。 乐曲演奏电路的VHDL 逻辑描述如下:
LIBRARY IEEE; -- 硬件演奏电路顶层设计
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY Songer IS
PORT ( CLK12MHZ : IN STD_LOGIC; --音调频率信号 ToneIndex : IN STD_LOGIC_VECTOR(7 DOWNTO 0); ――8个按键输入
CODE1 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);-- 简谱码输出显示
HIGH1 : OUT STD_LOGIC; --高8度指示
SPKOUT : OUT STD_LOGIC );--声音输出
END; ARCHITECTURE one OF Songer IS COMPONENT ToneTaba
PORT ( Index : IN STD_LOGIC_VECTOR (7 DOWNTO 0) ; ――8个按键输入
CODE : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ; HIGH : OUT STD_LOGIC; Tone : OUT STD_LOGIC_VECTOR (10 DOWNTO 0) );
END COMPONENT;