VHDL音乐播放器
EDA2
EDA设计(二)课程设计报告南京理工大学2015 年月目录1 引言 (2)2 系统总体设计 (2)2.1 系统功能概述 (2)2.2 系统总体组成结构 (2)3 系统各组成模块详细设计 (3)3.1 地址发生器模块 (3)3.2 分频预置数模块 (4)3.3 分频模块 (5)4 系统调试 (7)4.1 系统仿真调试 (7)4.2 系统实际验证 (8)4.3 调试程序遇到的问题及解决方法 (8)5 总结与体会心得 (8)6 参考文献 (9)1 引言电子设计自动化技术(Electronic Design Automation,EDA)已经成为现代电子设计技术的核心。
EDA技术就是依赖功能强大的计算机,在EDA工具平台上,对以硬件描述语言(HDL)为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至下载到可编程逻辑器件CPLD/FPGA或专用集成电路ASIC芯片中。
硬件描述语言(HDL)是EDA技术的重要组成部分,其中VHDL语言应用广泛,是电子设计主流硬件的描述语言之一,它以强大的系统描述能力、规范的程序设计结构、灵活的语句表达风格和多层次的仿真测试手段,受到了业界的普遍认同和广泛接受。
本设计采用SE-5M 型EDA 实验开发系统,以Altera 公司的MAX+PLUS II 为开发软件,用VHDL语言采用自顶向下的设计方法,实现了一个音乐播放器,实现播放完整曲目的动能。
2 系统总体设计2.1 系统功能概述本文设计的数字系统是一个音乐播放器,其主要功能如下:(1)对系统时钟频率进行分频,可以发出高音、中音、低音区任意的音符。
(2)可以播放完整的曲目《怒放的生命》,此外,也可以输入其他乐谱,演奏相应的曲目。
2.2系统总体组成结构系统由地址发生器模块、分频预置数模块、分频模块3个模块构成。
硬件电路的发生原理是利用程序来控制FPGA某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。
(完整word版)基于VHDL的简易音乐播放器
EDA技术实用教程课程设计简易音乐播放器电子12-11206040124简易音乐播放器设计1.MIDI概述MIDI(Musical Instrument Digital Interface)乐器数字接口,是20 世纪80 年代初为解决电声乐器之间的通信问题而提出的。
MIDI是编曲界最广泛的音乐标准格式,可称为“计算机能理解的乐谱”。
它用音符的数字控制信号来记录音乐.一首完整的MIDI音乐只有几十KB大,而能包含数十条音乐轨道。
MIDI应用也比较广泛,电视晚会的音乐编导可以用MIDI功能辅助音乐创作,或按MIDI标准生成音乐数据传播媒介,或直接进行乐曲演奏.如果在计算机上装备了高级的MIDI软件库,可将音乐的创作、乐谱的打印、节目编排、音乐的调整、音响的幅度、节奏的速度、各声部之间的协调、混响由MIDI来控制完成.利用MIDI技术将电子合成器、电子节奏机(电子鼓机)和其他电子音源与序列器连接在一起即可演奏模拟出气势雄伟、音色变化万千的音响效果,又可将演奏中的多种按键数据存储起来,极大的改善了音乐演奏的能力和条件。
2.工作原理MIDI 音乐是Windows下的一种合成音乐,由于它通过记谱的方式来记录一段音乐.因此与wave音乐相比,它可以极大的减少存储容量。
MIDI 音乐的基本原理为:组成乐曲的每一个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和每一个频率信号持续时间,就可以使扬声器发生连续的乐曲。
图1 是歌曲《生日快乐歌》开头一句的简谱。
由图1 可知,该乐典涉及:中音5,6 ,7 ;高音1,2,3,4,5 .以此为例下面介绍在本音乐发生器芯片中音乐的形成过程。
前两个音符为中音5 ,1/16 音符,它对应的编码为1000 ,所占的脉冲个数为2 ,这样逐个将以上的简谱翻译成代码如下:|1000 1000 1001 1001 1000 1000 |1011 1011 1010 1010 1010 1010||1000 1000 1001 1001 1000 1000 |1100 1100 1011 1011 1011 1011||1000 1000 1111 1111 1101 1101 |1011 1011 1010 1010 1001 1001||1110 1110 1101 1101 1011 1011 |1100 1100 1011 1011 1011 1011|图1 《生日快乐歌》歌谱在节奏时钟脉冲的控制下,将每个代码所对应的分频系数逐一赋给基频,得到对应的音调,这样连续起来就形成一段美妙的音乐。
基于FPGA的音乐播放器的设计
目录引言 (1)1 VHDL及QUARTUSII软件简介 (2)1.1EDA简介 (2)1.2硬件描述语言VHDL (2)1.3软件介绍 (3)2 简易音乐演奏器设计 (5)2.1硬件电路设计 (5)2.2软件代码设计 (6)2.2.1音符储存单元 (6)2.2.2选择播放模式及手动模块单元 (6)2.2.3分频模块单元 (8)2.2.4预置数模块单元 (9)2.2.5音频发声模块单元 (10)3引脚锁定及下载 (10)3.1引脚锁定 (10)3.2结果分析 (11)4设计总结 (11)参考文献 (116)附录 (16)引言VHDL语言是一种用于电路设计的高级语言。
它在80年代的后期出现。
最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了诸多方便。
利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。
突出了其作为硬件描述语言的良好的可读性、可移植性和易读性等优点。
本文基于FPGA开发系统,在QuartusII 7.2软件平台上,完成了简易乐曲演奏器设计和与仿真,并下载到试验箱进行硬件实现。
首先,本文介绍了QuartusII 7.2软件的基本使用方法和VHDL硬件描述语言的特点,采用VHDL 硬件描述语言描述简易信号发生器,完成对电路的功能仿真。
在设计过程中,重点探讨了简易乐曲演奏设计思路和功能模块划分。
然后,初步探讨了电路逻辑综合的原理,该软件对简易乐曲演奏器进行了逻辑综合。
最后,使用EDA实验开发系统进行电路的下载和验证。
验证结果表明设计的简易乐曲演奏器完成了预期的功能。
本设计是采用VHDL来实现的简易乐曲演奏器。
它能实现自动播放和手动播放。
1 VHDL及QuartusII软件简介1.1 EDA简介EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
第4章应用VHDL设计数字系统-电子琴和音乐播放器的设计
CLK
IF EN = '1' THEN
--检测是否允许计数(同步使能)
IF CNTI < 9 THEN --检测是否小于9
RST
CNTI := CNTI + 1; --小于9,允许加1计数
EN
ELSE
CNTI := (OTHERS =>‘0’); --大于等于9,计数值清零 END IF;
inst
END IF;
END IF;
IF CNTI = 9 THEN COUT <= ‘1’; --计数等于9,输出进位信号
ELSE COUT <= '0';
END IF;
CNT <= CNTI; --将计数值向端口输出
END PROCESS;
END behav;
CNT[3..0] COUT
项目1:电子琴的设计
仿真结果:10进制计数器设计
结论: 计数器就可以完成分频器的任务!
项目1:电子琴的设计
设计关键:N进制计数器设计——可变分频器
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;
CNT_N CLK
RST
ENTITY CNT_N IS PORT (
CNT[11..0] COUT
项目1:电子琴的设计
设计关键:N进制计数器设计——可变分频器
ARCHITECTURE behav OF CNT_N IS
BEGIN
PROCESS(CLK, RST, EN)
VARIABLE CNTI : STD_LOGIC_VECTOR(11 DOWNTO 0);
vhdl实验报告--蜂鸣器
vhdl实验报告--蜂鸣器VHDL 实验报告蜂鸣器一、实验目的本次实验的主要目的是通过使用 VHDL 语言来设计并实现一个蜂鸣器的控制电路,深入理解数字电路的设计原理和 VHDL 编程的基本方法,掌握硬件描述语言在实际电路设计中的应用,提高自己的逻辑思维和问题解决能力。
二、实验原理蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电。
常见的蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种。
有源蜂鸣器内部自带了振荡源,只要给其供电就能发出固定频率的声音;无源蜂鸣器则需要外部提供一定频率的脉冲信号才能发声。
在本实验中,我们使用 VHDL 语言来控制一个无源蜂鸣器。
通过编写代码,生成特定频率的脉冲信号,从而驱动蜂鸣器发声。
三、实验设备及工具1、计算机2、 Quartus II 软件3、开发板四、实验内容及步骤1、设计思路首先,需要确定蜂鸣器发声的频率。
通过计算得出所需的时钟周期数。
然后,使用计数器来产生特定频率的脉冲信号。
最后,将脉冲信号输出到蜂鸣器的控制引脚。
2、 VHDL 代码编写```vhdllibrary ieee;use ieeestd_logic_1164all;use ieeenumeric_stdall;entity buzzer_control isport(clk : in std_logic;rst : in std_logic;buzzer : out std_logic);end entity;architecture Behavioral of buzzer_control isconstant CLK_FREQ : integer := 50_000_000; 系统时钟频率constant BUZZER_FREQ : integer := 1000; 蜂鸣器发声频率signal counter : integer range 0 to CLK_FREQ/BUZZER_FREQ 1; signal clk_div : std_logic;beginprocess(clk, rst)beginif rst ='1' thencounter <= 0;clk_div <='0';elsif rising_edge(clk) thenif counter = CLK_FREQ/BUZZER_FREQ 1 thencounter <= 0;clk_div <= not clk_div;elsecounter <= counter + 1;end if;end if;end process;buzzer <= clk_div;end architecture;```3、编译与仿真将编写好的 VHDL 代码在 Quartus II 软件中进行编译。
fpga音乐播放器课程设计
fpga音乐播放器课程设计一、课程目标知识目标:1. 让学生掌握FPGA基础知识,理解FPGA的内部结构和编程原理;2. 帮助学生了解音乐播放器的原理,掌握数字信号处理基础知识;3. 使学生能够运用Verilog或VHDL等硬件描述语言设计简单的FPGA音乐播放器。
技能目标:1. 培养学生动手实践能力,能够独立完成FPGA音乐播放器的设计、编程、调试与验证;2. 提高学生团队协作能力,能够在小组合作中发挥个人优势,共同完成项目任务;3. 培养学生解决问题和分析问题的能力,能够针对实际问题提出合理的解决方案。
情感态度价值观目标:1. 激发学生对电子设计和硬件编程的兴趣,培养良好的学习习惯;2. 培养学生勇于尝试、敢于创新的精神,增强自信心;3. 培养学生具备良好的沟通能力和团队协作精神,提高综合素质。
分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 掌握FPGA基本原理,能够描述FPGA内部结构和编程方法;2. 学会使用硬件描述语言Verilog或VHDL编写简单的FPGA程序;3. 理解音乐播放器的基本原理,能够运用数字信号处理知识设计音乐播放器;4. 完成一个简易的FPGA音乐播放器设计项目,具备实际操作和调试能力;5. 在项目实践中,提高团队协作、沟通表达和问题解决能力。
二、教学内容1. FPGA基本原理及编程方法:包括FPGA内部结构、工作原理、硬件描述语言(Verilog/VHDL)基础、编程流程等;2. 数字信号处理基础知识:涉及采样定理、量化、编码、数字信号表示等基本概念;3. 音乐播放器原理:介绍音乐播放器的基本工作流程,包括音频信号的采集、处理、存储和播放;4. FPGA音乐播放器设计:结合教材章节内容,设计以下教学大纲:a. FPGA硬件设计:选用合适的FPGA开发板,了解硬件资源分配,设计FPGA硬件电路;b. 音频信号处理:学习音频信号的采样、量化、编码等处理方法,编写相应程序;c. 音乐播放器程序设计:运用Verilog或VHDL编写音乐播放器程序,实现音频信号播放功能;d. 系统调试与验证:对设计好的音乐播放器进行功能测试、性能优化和调试;5. 项目实践:根据教学进度,安排以下教学内容:a. 分组讨论:学生分组讨论设计方案,明确项目任务分工;b. 设计与编程:各组学生根据分工,完成FPGA音乐播放器的设计和编程;c. 调试与展示:学生调试音乐播放器,展示项目成果,分享设计经验;d. 评价与反馈:教师对各组项目成果进行评价,给予反馈和建议。
乐曲硬件演奏电路的VHDL设计
乐曲硬件演奏电路的VHDL设计1.Songer顶层文件模块:LIBRARY IEEE; -- 硬件演奏电路顶层设计 USE IEEE.STD_LOGIC_1164.ALL; ENTITY Songer ISPORT ( CLK4MHZ : IN STD_LOGIC; --音调频率信号 CLK8HZ : IN STD_LOGIC; --节拍频率信号 pause: IN STD_LOGIC;CODE1 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);-- 简谱码输出显示 HIGH1 : OUT STD_LOGIC; --高8度指示 SPKOUT : OUT STD_LOGIC );--声音输出 END; ARCHITECTURE one OF Songer IS COMPONENT NoteTabsPORT ( clk : IN STD_LOGIC;SWITCH: IN STD_LOGIC;ToneIndex : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ); END COMPONENT; COMPONENT ToneTabaPORT ( Index : IN STD_LOGIC_VECTOR (3 DOWNTO 0) ; CODE : OUTSTD_LOGIC_VECTOR (3 DOWNTO 0) ; HIGH : OUT STD_LOGIC;Tone : OUT STD_LOGIC_VECTOR (10 DOWNTO 0) ); END COMPONENT;COMPONENT SpeakeraPORT ( clk : IN STD_LOGIC;Tone : IN STD_LOGIC_VECTOR (10 DOWNTO 0); SpkS : OUT STD_LOGIC ); END COMPONENT;SIGNAL Tone : STD_LOGIC_VECTOR (10 DOWNTO 0);SIGNAL ToneIndex : STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINu1 : NoteTabs PORT MAP (clk=>CLK8HZ,SWITCH=>pause,ToneIndex=>ToneIndex); u2 : ToneTaba PORT MAP(Index=>ToneIndex,Tone=>Tone,CODE=>CODE1,HIGH=>HIGH1); u3 : Speakera PORT MAP(clk=>CLK4MHZ,Tone=>Tone, SpkS=>SPKOUT ); END;2.音乐节拍和音调发生器(NoteTabs.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY NoteTabs ISPORT ( clk : IN STD_LOGIC; switch: IN STD_LOGIC;ToneIndex : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ); END;ARCHITECTURE one OF NoteTabs ISCOMPONENT MUSIC --音符数据ROM PORT(address : IN STD_LOGIC_VECTOR (7 DOWNTO 0);inclock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0));END COMPONENT;SIGNAL Counter : STD_LOGIC_VECTOR (7 DOWNTO 0); BEGINCNT8 : PROCESS(clk,Counter)BEGINIF Counter=138 THEN Counter Counter , q=>ToneIndex, inclock=>clk); END;3.简谱码对应的分频预置数查表电路(ToneTaba.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ToneTaba ISPORT ( Index : IN STD_LOGIC_VECTOR (3 DOWNTO 0) ; CODE : OUTSTD_LOGIC_VECTOR (6 DOWNTO 0) ; HIGH : OUT STD_LOGIC;Tone : OUT STD_LOGIC_VECTOR (10 DOWNTO 0) ); END;ARCHITECTURE one OF ToneTaba IS BEGINSearch : PROCESS(Index)BEGINCASE Index IS -- 译码电路,查表方式,控制音调的预置数 WHEN \WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN OTHERS => NULL; END CASE; END PROCESS; END;4.数控分频与演奏发生器(Speakera.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY Speakera ISPORT ( clk : IN STD_LOGIC;Tone : IN STD_LOGIC_VECTOR (10 DOWNTO 0); SpkS : OUT STD_LOGIC ); END; ARCHITECTURE one OF Speakera ISSIGNAL PreCLK, FullSpkS : STD_LOGIC; BEGINDivideCLK : PROCESS(clk)VARIABLE Count4 : STD_LOGIC_VECTOR (3 DOWNTO 0) ; BEGINPreCLK 11 THEN PreCLK。
数字电路及系统设计课程设计
数字电路及系统设计课程设计
简介
数字电路及系统设计课程是电子信息类专业中的重要专业基础课程之一。
本课程旨在培养学生对数字电路和系统的设计、分析和实现能力,为学生后续的专业课程打好扎实的基础。
在本次课程设计中,我们将通过实际设计数字电路及系统的案例,来巩固和加深学生的理论知识。
设计目标
本次课程设计的目标是设计一款音乐播放器。
音乐播放器具有以下功能:•支持音乐文件的格式:mp3、wav、flac
•支持音乐文件的存储介质:SD卡、U盘、内置存储
•支持音量控制和播放模式切换
•支持LCD屏幕显示音乐信息和操作提示
设计思路
本次课程设计的核心是数字电路和系统的设计,因此我们将采用FPGA作为设计工具。
FPGA可以通过可编程逻辑单元来实现数字电路的设计。
我们将对音乐播放器的各个功能模块进行分析和设计,如下:
音频解码模块
因为音频文件的格式多种多样,不同的格式会有不同的压缩算法和解码方式。
我们将采用DSP模块解码音频数据,DSP模块是FPGA内部的数字信号处理模块,能够高效地实现音频解码。
1。
单片机音乐播放器应用 实现简单的音乐播放功能
单片机音乐播放器应用实现简单的音乐播放功能单片机音乐播放器应用音乐是人们生活中不可或缺的一部分,而在现代科技的不断发展下,单片机音乐播放器应用已经成为许多人追求的目标。
本文将介绍如何实现一个简单的单片机音乐播放器功能,让您能够轻松享受音乐的魅力。
一、硬件准备在开始之前,我们需要准备一些硬件设备,以确保音乐播放器能够正常工作。
首先,我们需要一块单片机开发板,例如STC89C52,这是一款常用的单片机开发板;其次,我们需要一个音频解码模块,例如DFPlayer Mini,他可以轻松解码并播放存储卡上的音乐文件;最后,我们还需要一个音箱或者耳机,用于输出音乐。
二、软件编程1. 搭建开发环境首先,我们需要安装MIDE-51集成开发环境,它是STC89C52单片机所使用的开发工具。
安装完成后,可以通过打开MIDE-51来创建一个新的工程。
2. 编写代码首先,我们需要在代码中包含一些必要的库文件,以便使用一些功能函数。
例如,我们可以通过以下代码片段引入DFPlayer Mini音频库文件:```c#include <DFPlayer_Mini_Mp3.h>```接下来,我们可以通过定义一些常量或变量来控制音乐的播放,例如:```cconst int playButton = 2; // 播放按钮连接到单片机的2号引脚const int nextButton = 3; // 下一首按钮连接到单片机的3号引脚const int previousButton = 4; // 上一首按钮连接到单片机的4号引脚```然后,我们可以在主循环中不断检测按钮的状态,并根据按钮的状态来控制音乐的播放:```cvoid loop() {if (digitalRead(playButton) == HIGH) { // 如果播放按钮被按下DFPlayer_Mini_Mp3.play(); // 播放音乐}if (digitalRead(nextButton) == HIGH) { // 如果下一首按钮被按下 DFPlayer_Mini_Mp3.next(); // 播放下一首音乐}if (digitalRead(previousButton) == HIGH) { // 如果上一首按钮被按下DFPlayer_Mini_Mp3.previous(); // 播放上一首音乐}}```通过上述代码,我们可以实现简单的音乐播放功能。
VHDL硬件描述语言与数字逻辑电路设计第三版课程设计
VHDL硬件描述语言与数字逻辑电路设计第三版课程设计本次课程设计旨在帮助大家深入理解VHDL硬件描述语言和数字逻辑电路设计的相关知识,提高大家的实践能力和设计能力。
本文将对课程设计的要求和实现方法进行详细说明。
课程设计要求本次课程设计要求大家完成一个基于VHDL的数字逻辑电路设计,包括以下要求:1.手动编写VHDL程序,对指定的数字电路进行仿真分析,并输出相应的波形图。
2.设计一个数字电路,要求该电路可完成特定的逻辑功能,例如加法器、多路选择器等。
3.基于现实的场景需求,完成一个实际的数字电路设计。
例如,实现一个音乐播放器控制器、机器人控制器等。
设计步骤步骤一:了解VHDL语言和数字逻辑电路设计原理在进行数字电路设计之前,需要先理解VHDL语言和数字逻辑电路设计原理。
VHDL语言是一种硬件描述语言,主要用于描述数字逻辑电路。
数字逻辑电路由基本的逻辑单元组成,包括与门、或门、非门等,通过组合这些逻辑单元可以实现更复杂的逻辑电路设计。
步骤二:选择仿真工具选择一款仿真工具进行仿真分析。
常见的仿真工具有ModelSim、Xilinx ISE 等。
步骤三:编写VHDL程序编写VHDL程序,对指定的数字电路进行仿真分析。
根据实际需要,可以选择不同的VHDL语言结构进行编写。
步骤四:仿真分析在仿真工具中进行仿真分析,根据VHDL程序模拟出相应的波形图。
步骤五:设计数字电路基于数字逻辑电路设计原理,设计出特定的数字电路。
需要首先确定电路所需要的逻辑功能,然后根据这个功能设计出合适的电路。
步骤六:实现实际场景需求参考现实的场景需求,设计出一个实际的数字电路,并进行调试测试。
VHDL程序编写规范在编写VHDL程序时,需要遵循一定的编写规范,以保证程序的可读性和可维护性。
1.命名规范:变量和信号的命名应具有较好的描述性,易于理解和记忆。
2.缩进规范:代码缩进应该统一,便于代码的阅读和理解。
3.注释规范:代码中应加入必要的注释,解释各个模块的功能和作用。
EDA与VHDL课程设计论文_音乐节拍器
摘要音乐节拍器作为音乐初学者必备的辅助器材可以帮助演奏者在练习期间能将音符表达的更贴切,避免演奏难度及音乐情绪干扰演奏速度影响表演效果因此,节拍器的精度及质量至关重要。
而传统基于机械时钟的节拍器要制作出高质量的成品成本很高,故制作工艺简单,体积小,功能全面,而且时钟稳定,无需维护的电子音节节拍器应运而生。
随着电子技术的发展, 应用系统向着的应用引起电子产品及系统开发的革命性变革。
和其他的电子技术相比,VHDL 语言作为可编程逻辑器件的标准语言描述能力强, 覆盖面广, 抽象能力强, 在实际应用中越来越广泛。
在这个阶段,人们开始追求贯彻整个系统设计的自动化,可以从繁重的设计工作中彻底解脱出来,把精力集中在创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。
作为一种工业标准硬件描述语言。
本文为广大的电子爱好者及音乐学习者提供了一份不同于传统音乐节开启的设计方案,利用向着小型化、快速化、大容量、重量轻的方向发展的EDA 技术阐述了完整全面的设计方法及结果,从概念模型设计到详细的系统设计均图文并茂的展示了设计的思路与方式,并附ALTERA电子公司专用仿真设计环境QYARTUS II的波形仿真图及全部源码(VHDL语言),目录引言............................................................ - 1 -1.系统的设计要求................................................ - 1 -2.系统分析...................................................... - 1 -2.1 系统构成................................................ - 1 -2.2 系统实现过程............................................ - 2 -3.具体模块设计.................................................. - 3 -3.1数控分频电路TimeCLK..................................... - 3 -3.2数码管驱动显电路LED8.................................... - 3 -3.3声光输出电路OutputTem................................... - 3 -4.程序设计...................................................... - 4 -4.1数控分频电路TimeCLK源代码.............................. - 4 -4.2数码管驱动显电路LED8源代码............................. - 4 -4.4 顶层文件设计模块........................................ - 2 -5.运行结果与分析................................................ - 2 -5.1数控分频电路TimeCLK..................................... - 2 -5.2数码管驱动显电路LED8.................................... - 2 -5.3声光输出电路OutputTem................................... - 2 -6.结束语........................................................ - 2 -参考文献........................................................ - 3 -引言随着当前科学技术的发展以及人民的思想愈加开放,使用电子产品不再是一种可以谋生的特殊技术,相反技术走进生活成为新时代的口号和发展动向,越来越多的人致力于设计出更巧妙的电子产品以帮助我们更好的生活、工作、学习。
基于vhdl的音乐播放器的设计(终稿)
摘要摘要在EDA开发工具Quartus II 6.0平台上,采用VHDL语言层次化和模块化的设计方法,通过音符编码的设计思想,预先定制乐曲,实现动态显示乐曲演奏电路的设计,并在此基础上,基于同一原理,使此电路同时具备了简易电子琴的功能,使基于CPLD/FPGA芯片的乐曲播放数字电路得到了更好的优化,提高了设计的灵活性和可扩展性。
关键字:EDA;Quartus II;VHDL;CPLD/FPGA;乐曲演奏电路;简易电子琴ABSTRACTABSTRACTBased on the QuartusII-the EDA development tool, this design has adopted the method of classification and modularization of VHDL level. Through the concept of note coding, the design of dynamic music-displaying circuit is realized after the musical composition has been made in advance. On the basis of the above and the same principle, this electric circuit has the same function of a simple electronic organ. The design of CPLD/FPGA chip-based music-displaying digital circuit is greatly improved, and the flexibility and expansibility of the design are improved as well.Key Words: EDA;Quartus II;VHDL;CPLD/FPGA;music-displaying circuit;simple electronic organ目录第1章绪论 (1)1.1 研究背景 (1)1.2 电子设计自动化发展史 (2)1.2.1 EDA技术的涵义 (2)1.2.2 EDA技术的发展史 (2)1.3 EDA技术发展动态 (3)1.4 研究思路及主要工作 (4)第2章可编程技术简介 (5)2.1 可编程逻辑器件FPGA/CPLD (5)2.2 硬件描述语言VHDL (7)2.3 开发软件QUARTUS Ⅱ (9)第3章系统设计 (13)3.1 系统原理 (13)3.1.1 音调的控制 (14)3.1.2 音长的控制 (14)3.2系统结构 (15)3.3 各模块分析与设计 (16)3.3.1 定制《万水千山总是情》音符数据ROM (16)3.3.2 音符数据地址发生器模块NOTETABS (17)3.3.3 预置数查表电路电路模块TONETABA (17)3.3.4 发声频率产生模块SPEAKERA (17)3.3.5 简易电子琴功能模块ELECLOCK (18)第4章系统程序实现与仿真分析 (19)4.1 各部分程序实现 (19)4.1.1 在QUARTUSII 6.0下定制的LPM_ROM (19)4.1.2 乐曲硬件演奏电路顶层设计VHDL实现 (19)4.1.3 音符数据地址发生器模块NOTETABS程序与说明错误!未定义书签。
I2C接口音频Codec音乐播放器
接在组件之上 ,因此 IC总线 占用的空 间 2
非 常小 ,减 少 了电路板 的空 间和 芯 片管 脚 的数量 ,降低 了互联 成本 。I 总线 2 C 的 另 一 个 优 点 是 , 它 支 持 多 主 控
图1
V D 部分 HL
系统 的核 心 为 A ltera 公 司 的 C co eIVHDL芯 片 ,其 为 C co e y ln I y ln 的
产 、防 腐 、节 能 和 环 保 的 四 重 效 果 。
4 将联箱套人补偿板并插 入已焊接好 .
套筒 的立护 板 内 ,将 联箱 调整 到合 适位
置 ,再 将立 护板 与管体 焊接 ,将换 热管
组 用导 轨推 入 。
TL 2 DA 2芯片 的设计部分 : V3 0 C3
5 校正联箱与换热管组的位置 , . 然后
下一代产品 ,2 0 年开始推 出,9 n 工 05 0m 艺 , .v 1 2 内核供电 , 属于低 成本F GA, P 性
能和 C co e 当,提供 了硬 件乘法 器单 y ln 相 元 。芯片 内控 制单元使 用 VHDL语言 编 写。 VHDL的程序结 构特 点是将一项 工程 设计 , 或称设计 实体 ( 可以是一个元件 , 一 个 电路模块或一个 系统 )分成 外部 ( 或称 可视部分 , 及端 I) = 和内部 ( 1 或称不 可视部
控制器及其外 围设备 。I C总线最主要的 2
优 点是 其简单 性和 有效 性 。 由于接 口直
的 Fah编程器。调试 器连接多种 目标系 ls 统 ,包括 FPGA 硬件 ( 通过 J TAG 电 缆 ) 、N i s o II指 令 集 仿 真 器 和
Mo eS m—Alea软 件 , 因而 能 够 提 供 d li tr
音乐播放器的实验报告
一、实验目的1. 熟悉音乐播放器的基本原理和设计方法。
2. 掌握音乐播放器软件的开发流程和关键技术。
3. 培养学生的动手实践能力和团队协作精神。
二、实验环境1. 操作系统:Windows 102. 开发工具:Java Development Kit (JDK) 1.83. 开发环境:Eclipse IDE for Java Developers4. 音乐格式:MP3、WAV等三、实验内容1. 音乐播放器功能需求分析2. 音乐播放器系统设计3. 音乐播放器软件实现4. 音乐播放器测试与优化四、实验步骤1. 功能需求分析音乐播放器应具备以下功能:(1)播放音乐:支持MP3、WAV等音乐格式;(2)播放列表:支持添加、删除、排序音乐列表;(3)音量控制:支持音量调节;(4)播放模式:支持顺序播放、随机播放、单曲循环;(5)播放进度:显示当前播放时间和总时长;(6)播放界面:简洁、美观、易用。
2. 系统设计(1)模块划分音乐播放器系统分为以下模块:①音乐播放模块:负责播放音乐、控制播放进度、音量等;②播放列表模块:负责管理音乐列表、添加、删除、排序音乐;③用户界面模块:负责显示播放界面、交互操作等。
(2)技术选型①音乐播放模块:采用Java Media Framework (JMF) 进行音乐播放;②播放列表模块:使用ArrayList存储音乐信息;③用户界面模块:采用Swing组件实现。
3. 软件实现(1)音乐播放模块①导入JMF库,创建播放器实例;②设置播放器播放源(音乐文件);③实现播放、暂停、停止、音量调节等功能;④实现播放进度显示。
(2)播放列表模块①创建播放列表类,继承ArrayList;②添加、删除、排序音乐列表;③实现音乐列表的遍历和查找。
(3)用户界面模块①设计播放界面布局,包括播放按钮、进度条、音量条等;②实现播放器与用户界面的交互操作;③实现播放器功能的调用。
4. 测试与优化(1)功能测试①测试播放音乐功能,确保支持多种音乐格式;②测试播放列表功能,确保添加、删除、排序操作正常;③测试播放模式功能,确保顺序播放、随机播放、单曲循环正常;④测试音量控制功能,确保音量调节正常;⑤测试播放进度显示功能,确保播放时间与总时长准确。
51单片机毕业课程设计音乐播放器
51单片机毕业课程设计音乐播放器本文档旨在提供关于51单片机毕业课程设计的音乐播放器的详细内容。
音乐播放器是一种通过使用51单片机来实现的设备,它可以播放音乐文件并提供一些基本的控制功能。
设计概述功能要求音乐播放器的主要功能要求包括:1. 播放音乐文件:能够读取存储器中的音乐文件,并将其播放出来。
2. 控制功能:提供基本的控制功能,如播放、暂停、下一曲和音量调节等。
3. 显示功能:在显示屏上显示当前播放的音乐信息,如歌曲名、艺术家和播放进度等。
硬件组成音乐播放器的硬件组成包括:1. 51单片机:作为主控芯片,负责控制整个系统。
2. 存储器:用于存放音乐文件。
3. 音频模块:用于将数字音频信号转换为模拟音频信号输出。
4. 控制模块:包括按钮、旋钮等,用于用户控制音乐播放器的操作。
5. 显示屏:用于显示当前播放的音乐信息。
软件实现音乐播放器的软件实现包括以下几个方面:1. 文件系统:实现对存储器中音乐文件的读取和管理。
2. 音频解码:将读取的音乐文件进行解码,并将解码后的音频数据传递给音频模块输出。
3. 用户界面:通过用户界面与用户进行交互,接受用户的控制指令。
4. 显示管理:管理显示屏的内容,实时显示当前播放的音乐信息。
设计步骤1. 硬件搭建:按照硬件组成部分的描述,搭建音乐播放器的硬件平台。
2. 软件编写:实现音乐播放器的软件功能,包括文件系统、音频解码、用户界面和显示管理等。
3. 调试测试:进行软硬件的调试和测试,确保音乐播放器的各项功能正常运行。
4. 完善优化:在实际测试中发现问题,进一步完善和优化音乐播放器的功能和性能。
5. 文档撰写:完成毕业课程设计文档的撰写,详细描述音乐播放器的设计思路、实现过程和测试结果。
总结通过本文档,你可以了解到51单片机毕业课程设计音乐播放器的完整设计内容,包括设计概述、硬件组成、软件实现和设计步骤等方面的内容。
这将帮助你更好地理解音乐播放器的原理和实现方法,为你的毕业课程设计提供一定的参考和指导。
基于FPGA的音乐播放器课程设计
唐山学院EDA技术课程设计题目音乐播放器系 (部) 智能与信息工程学院班级姓名学号指导教师2016 年 12 月 22 日至 12 月 30 日共 2 周 2016年 12 月 31 日课程设计成绩评定表EDA技术课程设计任务书目录1.设计目的与要求.................................... 错误!未定义书签。
1.1.课程设计目的.................................. 错误!未定义书签。
1.2.课程设计要求.................................. 错误!未定义书签。
2.应用工具介绍...................................... 错误!未定义书签。
2.1.EDA技术介绍.................................. 错误!未定义书签。
2.2.Verilog HDL 语言介绍 (2)3.基本原理.......................................... 错误!未定义书签。
3.1.音调的控制 (4)3.2.音长的控制 (4)4.方案实现 (5)5.总结 (13)6.参考文献 (14)1.设计目的与要求1.1课程设计目的:1)加深对EDA技术的理解,掌握音乐播放器的工作原理2)了解怎样控制音调的高低变化和音长,从而完成乐曲的自动循环演奏。
3)培养自主学习、正确分析和解决问题的能力1.2课程设计要求:1)使用蜂鸣器播放音乐2)三首音乐以上3)数码管上显示当前播放的歌曲位置(第几首歌曲)4)能够暂停和开始5)能够选择上一首和下一首歌曲2.应用工具介绍作为当今最流行的计算机软件系统,EDA技术是以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
EDA可提供文本输入以及图形编辑的方法将设计者的意图用程序或者图形方式表达出来,而我们经常用到的VHDL语言便是用于编写源程序所需的最常见的硬件描述语言(HDL)之一。
音乐播放器的Verilog代码
音乐播放器的Verilog代码module song( audio , clk , clr1);output audio;input clk; //我的开发板时钟频率为33.8688Mhzinput clr1;wire clr;assign clr=~clr1; //clr信号为高电平有效,但由于我按键复位是低电平有效,在这里我声明了一个反相器reg[1:0] n1;reg[23:0] n2;reg [13:0] count,origin;reg audiof;reg clk_6MHz,clk_4Hz;reg [4:0] j;reg [5:0] len;assign audio=audiof ; //控制开关always@(posedge clk or posedge clr)begin //6MHz分频if(clr) beginclk_6MHz<=0;n1<=0;endelse if(n1==6/2-1) begin//这个语句的分频频率为33.8688Mhz/6≈5.6MHz≈6MHzclk_6MHz<=~clk_6MHz;n1<=0;endelse n1<=n1+1;endalways@(posedge clk or posedge clr)begin //4Hz分频if(clr) beginclk_4Hz<=0;n2<=0;endelse if(n2==8467200/2-1) beginclk_4Hz<=~clk_4Hz;n2<=0;endelse n2<=n2+1;endalways @(posedge clk_6MHz or posedge clr) beginif(clr) begincount<=0;audiof<=0;endelse if(count==16383)begincount<=origin;audiof<=~audiof;endelsecount<=count+1;endalways @(posedge clk_4Hz or posedge clr ) beginif(clr) origin<=0;else begincase(j)5'd1:origin<=14'd4916; //low5'd2:origin<=14'd6168;5'd3:origin<=14'd7281;5'd4:origin<=14'd7791;5'd5:origin<=14'd8730;5'd6:origin<=14'd9565;5'd7:origin<=14'd10310;5'd8:origin<=14'd10647; //middle5'd9:origin<=14'd11272;5'd10:origin<=14'd11831;5'd11:origin<=14'd12087;5'd12:origin<=14'd12556;5'd13:origin<=14'd12974;5'd14:origin<=14'd13346;5'd15:origin<=14'd13516; //high5'd16:origin<=14'd13829;5'd17:origin<=14'd14108;5'd18:origin<=14'd14235;5'd19:origin<=14'd14470;5'd20:origin<=14'd14678;5'd21:origin<=14'd14864;default:origin<=14'd011111;endcaseendendalways@(posedge clk_4Hz or posedge clr) //乐谱beginif(clr) beginlen<=0;j<=0;endelse if(len==63)len<=0;else beginlen<=len+1;case(len)6'd0:j<=3;6'd1:j<=3;6'd2:j<=3;6'd3:j<=3;6'd4:j<=5;6'd5:j<=5;6'd6:j<=5;6'd7:j<=6;6'd8:j<=8;6'd9:j<=8;6'd10:j<=8;6'd11:j<=6;6'd12:j<=6;6'd13:j<=6;6'd14:j<=6;6'd15:j<=12;6'd16:j<=12;6'd17:j<=12;6'd18:j<=15;6'd19:j<=15;6'd20:j<=15;6'd21:j<=15;6'd22:j<=15;6'd23:j<=9;6'd24:j<=9;6'd25:j<=9;6'd26:j<=9;6'd27:j<=9;6'd28:j<=9;6'd29:j<=9;6'd30:j<=9;6'd31:j<=9;6'd32:j<=9;6'd33:j<=9;6'd34:j<=10;6'd35:j<=7;6'd36:j<=7;6'd37:j<=6;6'd38:j<=6;6'd39:j<=5;6'd40:j<=5;6'd41:j<=5;6'd42:j<=6;6'd43:j<=8;6'd44:j<=8;6'd45:j<=9;6'd46:j<=9;6'd47:j<=3;6'd48:j<=3;6'd49:j<=8;6'd50:j<=8;6'd51:j<=8;6'd52:j<=5;6'd53:j<=5;6'd54:j<=8;6'd55:j<=5;6'd56:j<=5;6'd57:j<=5;6'd58:j<=5;6'd59:j<=5;6'd60:j<=5;6'd61:j<=5;6'd62:j<=5;6'd63:j<=5;default:j<=1; endcaseendendendmodule。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
洛阳理工学院课程设计报告课程名称 EDA技术与VHDL设计题目音乐播放器的设计与仿真专业通信工程班级 B1105学号 B1105姓名完成日期 2014年12月22日前言随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化(Electronics Design Automation,EDA)技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。
现如今掌握EDA技术是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。
传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分,接下来就要选择特定芯片,焊接成PCB电路板,最后对成品PCB电路板进行调试。
这样的设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大,而且对于电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。
随着可编程器件和EDA技术的发展,传统设计的劣势被克服,采用可编程逻辑器件基于芯片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,提高了设计的灵活性和工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、功耗低、可靠性高等特点。
EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。
它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。
EDA技术主要有以下特征:(1)高层综合的理论和方法取得进展,从而将EDA设计层次由RT级提高到了系统级,并推出了系统级综合优化工具,缩短了复杂ASIC的设计周期。
(2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。
(3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。
(4)可测性综合设计。
(5)为带有嵌入式IP核的ASIC设计提供软、硬件协同设计工具。
(6)建立并设计工具框架结构的集成化设计环境,以适应当今ASIC规模大而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。
总而言之,EDA技术的出现,给电子信息产业带来了革命性的变革。
一.设计任务及要求本次课程设计要求使用EDA工具,设计实现简易音乐播放器,理解音名与频率的关系及数控分频原理,经过对整体进行模块化分析、编程、综合、仿真及最终下载,完整实现简易音乐器的播放功能。
用VHDL语言设计乐音的节拍与音符产生电路;用VHDL语言设计分频系数、音符显示数据产生电路;用VHDL语言设计可控分频器电路;理解简易音乐播放器总体设计方案。
掌握基本的VHDL语言;理解音乐播放电路设计方案。
掌握用VHDL语言设计节拍与音符产生电路;掌握用VHDL语言设计分频系数、音符显示数据产生电路;掌握用VHDL语言设计可控分频器电路。
设计结果:原理图与原程序、电路仿真图、能在实训系统上播放悦耳动听的音乐。
二.设计实现2.1 准备知识在本次设计中采用了《梁祝》《茉莉花》《虫儿飞》作为要播放的乐曲,根据声乐知识,组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素,获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果是本实验的关键。
该演奏电路演奏的乐曲是“梁祝”片段,其最小的节拍为1拍。
将1拍的时长定为0.25秒,则只需要再提供一个4Hz的时钟频率即可产生1拍的时长,演奏的时间控制通过ROM查表的方式来完成。
对于占用时间较长的节拍,如全音符为4拍(重复4),2/4音符为2拍(重复2),1/4音符为1拍(重复1)。
由于音阶频率多为非整数,而分频系数又不能为小数,故必须将得到的分频数四舍五入取整。
若基准频率过低,则由于分频系数过小,四舍五入取整后的误差较大,若基准频率过高,虽然误码差变小,但分频结构将变大。
实际的设计应综合考虑两方面的因素,在尽量减小频率误差的前提下取舍合适的基准频率。
本设计中选取4MHz 的基准频率。
表2-1为简谱中音名与频率的对应关系。
表2.1 乐谱编码和乐音频率2.2乐曲演奏电路的结构示意2.3乐曲演奏电路的子结构顶层结构所包含的模块分别有地址计数器模块(ADDR )、乐音分频器模块分频器乐谱存储器扬声器时钟地址乐音(SPEAKER)、数据存储器(YP)以下便是对各个子模块的分析。
2.3.1 地址计数器模块1. 地址计数器功能在此模块中设置了一个9位二进制计数器(计数最大值为512),这个计数器的计数频率选为4Hz,即每一计数值的停留时间为0.25s,恰好为当全音符设为1s时。
例如,《梁祝》乐曲的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即为1s时间,相应地所对应“1”音符分频预置数为1409在ADDR的输入端停留了1s。
随着ADDR中的计数器按4Hz的时钟频率做加法计数时,乐谱逐次被选取,《梁祝》乐曲就开始自然连续的演奏起来了。
2. 程序代码LIBRARY ieee;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDR ISPORT (clk : IN STD_LOGIC;A : BUFFER STD_LOGIC_VECTOR(8 DOWNTO 0));END;ARCHITECTURE ONE OF ADDR ISBEGINPROCESS (clk)BEGINIF (clk'event AND clk = '1')THENA <= A + 1;END IF;END PROCESS;END;3. 地址计数器符号图图2.1 地址计数器符号图4. 仿真波形图图2.2 地址计数器波形图图2.3 地址计数器波形图2.3.2 乐音分频器1. 乐音分频器模块的功能此模块的功能首先是提供决定所发音符的分频预置数,而此数在输入端口停留的时间即为此音符的节拍值。
电路中设置了《梁祝》《茉莉花》《虫儿飞》乐曲全部音符所对应的分频预置数,每一音符的停留时间由音乐节拍和音调发生器模块clk输入频率决定,在此为4Hz。
2.乐音分频器模块的VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity speaker isport(clk : in std_logic;--1mhzTN : in std_logic_vector(3 downto 0);--乐谱编码spks : out std_logic);end;architecture rts of speaker issignal FM : std_logic;signal count : integer range 0 to 2047;signal temp : integer range 0 to 2048;beginprocess (TN)begincase TN iswhen "0000" => temp<=2048;when "0001" => temp<=1907;when "0010" => temp<=1699;when "0011" => temp<=1514;when "0101" => temp<=1275;when "0110" => temp<=1136;when "0111" => temp<=1011;when "1000" => temp<=955;when "1001" => temp<=851;when "1010" => temp<=758;when "1100" => temp<=637;when "1101" => temp<=567;when "1110" => temp<=505;when "1111" => temp<=477;when others => temp<=2048;end case;end process;process(clk)beginif(clk'event and clk='1') then count<=count+1;if(count=temp) then FM<=not FM;count<=0;end if;end if;end process;spks<=FM;end;3. 乐音分频器符号图图2.4 乐音分频器符号图4. 乐音分频器波形图图2.5 乐音2的波形图图2.6 乐音3的波形图2.3.3 数据存储器从菜单里的Tools选择MegaWizard Plug-In Manager…,按照向导完成ROM的定制,ROM初始化文件见附录。
图2.7数据存储器设计图2.3.3 数据仿真1. 符号图图2.8 存储器和地址计数器符号图2. 波形图图2.9 存储器存入的数据存储器存入了《梁祝》《茉莉花》《虫儿飞》三首音乐,最小编程单元是八分音符即每个数字占0.37秒。
每首歌结束之后空0.37*8*2 = 6秒。
三首歌共424个地址,即0.37*424 = 155秒,即两分半左右。
2.3.4 时钟分频器1.二十分频器程序代码:library ieee;use ieee.std_logic_1164.all;entity fenpin20 isport(clk : in std_logic; --输入20MHZ信号out1 : out std_logic);-- 输出1MHZend;architecture one of fenpin20 issignal T1 : integer range 0 to 10-1;signal F1M : std_logic;beginprocess(clk)beginif(clk'event and clk='1')thenT1<=T1+1;if(T1=9) then F1M<= not F1M;T1<=0;end if;end if;end process;out1<=F1M;end;符号图:图2.10 分频器符号图波形图:图2.11 分频器波形图波形图意义:此分频器是20分频,即把频率分成其本身频率的1/20。