当前位置:文档之家› EDA分频器实验教案

EDA分频器实验教案

EDA分频器实验教案
EDA分频器实验教案

实验三:整数分频器的设计

一实验目的

了解利用类属设计可配置的重用设计技术。

二实验原理

利用类属n 可以改变分频器的分频系数,输出q的频率是输入信号clk频率的1/n。通过给n赋不同的值,就可以得到需要的频率。

三实验器材

EDA实验箱

四实验内容

1.参考教材第5章中5.3.1,完成整数分频器的设计。

2.修改5.

3.1中的分频系数n,观察仿真波形和实验箱输入/输出信号的变化。

3.在试验系统上硬件验证分频器的功能。

在实验三中,建议将实验箱的实验电路结构模式设定为模式7。输入信号clk由键7的输出来模拟,输入信号reset_n由键8模拟,输出信号q接至LED:D14。当然,也可以由实验者设定到其它功能相似的键或者LED。

代码:(参考教材第5章中5.3.1)

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity div is

generic(n:integer:=8);

port(clk,reset_n:in std_logic;

q: out std_logic);

end div;

architecture behavl_div of div is

signal count:integer range n-1 downto 0;

begin

process(reset_n,clk)

begin

if reset_n='0' then q<='0'; count<=n-1;

elsif(clk'event and clk='1' and clk'last_value='0')then

count<=count-1;

if count>=(n/2)then q<='0';

else q<='1';

end if;

if count<=0 then count<=n-1;

end if;

end if;

end process;

end behavl_div;

五实验注意事项

1.编写代码时一定要书写规范

2模式的选择和引脚的配置一定要合理

六实验报告

简述实验过程,将实验项目分析设计,仿真和测试写入实验报告。

杭州电子科技大学数电大作业实验报告电子琴

数电大作业实验报告如图是CODE3的case语句程序,该模块是一个编码器,即将输入的8位琴键信号进行编码,输出一个4位码,最多能对应16个音符(若有16个键)。 如图所示是INX2CODE的case语句程序,该模块是一个译码器,它将来自键盘输入的编码信号译码成数控分频器SPK0输出信号的频率控制字。 另外两个模块是M_CODE和DCD7SG,它们的case语句程序如上图所示。前者的功能是将来自CODE3的键盘编码译成简谱码和对应的音调高低值H,后者是一个数码管7段显示译码器,负责将简谱码译成数码管的显示信号。 如图所示是SPK0模块的内部结构。其中的计数器CNT11B是一个LPM宏模块,这是一个11位二进制加法计数器。在设置其结构参数时,应该选择同步加载控制,即sload(Synchronous Load),这样能较好地避免来自进位信号cout中可能的毛刺影响。异步加载aload极易受到随机窄脉冲的误触发,在此类电路中不宜采用。图中D触发器和反相器的功能是将用于控制加载的进位信号延迟半个时钟周期,一来也是为了滤除可能的毛刺,以免对加载更为可靠,因为这时,时钟上升沿正好处于加载脉冲的中点。 模块CODE3,INX2CODE和SPK0的主要工作过程是这样的: 当按琴键后,产生的数据经编码器获得一个编码(例如,当按下第二个键,对应0010,即2),它对应模块INX2CODE中的一个值(2对应390H)。当这个值(如390H)被置入模块SPK0中的11位可预置计数器中后。由于计数器的进位端与预置数加载段端相连,导致此计数器将不断以此值作为计数起始值,直至全1。

以下以预置值为390H为例,来计算SPK0输出信号的频率值。 当以390H为计数器起始值后,此计数器成为一个模(7FFH-390H=46FH=1135)的计数器。即每从CLK端输入1135个脉冲,BEEP端输出一个进位脉冲。由于输入的时钟频率是1MHz (周期是1us),于是BEEP输出的信号频率是1/(1135us)=841Hz。 由下面电子琴的顶层电路可见,SPK0的输出信号经过一个由D触发器接成的T’触发器后才输出给蜂鸣器。这时信号被作了二分频,于是,预置值390H对应的与蜂鸣器发音的基频F 约等于440Hz。 B 电子琴顶层电路中T’触发器有两个功能,一个作用是作二分频器;另一个作用是作为占空比均衡电路。这是因为由SPK0模块输出信号的脉宽极窄,功率极低,无法驱动蜂鸣器,但信号通过T’脉宽就均匀了(F 的占空比为50%)。 B 如图所示是电子琴顶层设计电路,含2个输入口和3个输出口。 1.工作时钟CLK,频率:1MHz。用于在主控模块中产生与琴键对应的振荡频率,以驱动蜂 鸣器发出相应的声音。 2.琴键输入DIN[7..0].8个音符,8位中只能有一位为0,即8个琴键中每一时刻只能按 一个键。 3.输出端口SPK0用于驱动蜂鸣器。 4.输出信号LED接数码管,用于显示对应的简码谱。H显示音高低。

《EDA技术及应用》全套教学教案

单元一教学设计 教学内容: 单元一EDA技术 学习任务1 EDA技术 一、认识课程 二、认识EDA技术 三、认识EDA技术的基本特征 学习任务2 可编程逻辑器件芯片 一、认识可编程逻辑器件 二、CPLD基本结构 三、FPGA基本结构 四、Altera公司的可编程逻辑器件汇报总结 评价与考核

教学设计与建议 教学设计:通过学习和查阅资料了解EDA技术,了解EDA技术的基本特征,并熟悉可编程逻辑器件的种类。了解CPLD和FPGA基本结构,熟悉 Altera公司的可编程逻辑器件。 教学建议:建议学生查找EDA技术发展与可编程逻辑器件应用相关资料,进行总结制作PPT,并进行汇报。 知识目标: 1.了解EDA技术 2.了解EDA技术的基本特征 3.了解可编程逻辑器件的种类 4.了解CPLD基本结构 5.了解FPGA基本结构 6.了解Altera公司的可编程逻辑器件 教学重点及难点: 教学重点:可编程逻辑器件种类 教学难点:熟悉Altera公司的可编程逻辑器件 教学载体与资源: 教学资源:教材、PPT、实训室、多媒体设备。 教学方法建议: 讲授与讨论相结合,查阅资料总结汇报。 教学过程: 1.下达任务和要求 2. 教师带领学生共同解析任务 3.学生展开讨论

4.学生查阅资料 5. 总结汇报 考核评价: 1.根据知识掌握情况评价 2.根据资料查找能力和小组汇报情况评价 教学板书: 任务1:EDA技术 认识课程 1.EDA技术是什么? 2.为什么学习EDA技术? 3.EDA技术学什么? 4.EDA技术怎么学? 相关知识 1.认识EDA技术 EDA(Electronic Design Automation,电子设计自动化)技术是帮助电子设计工程师在计算机上完成电路的功能设计、逻辑设计、性能分析、时序测试直至PCB(印制电路板)的自动设计等。 2.认识EDA技术的基本特征 (1)“自顶向下”设计方法 (2)硬件描述语言 (3)逻辑综合和优化 (4)开放性和标准化 (5)库的引入

EDA乐曲硬件演奏电路设计 课程设计

摘要 乐曲演奏广泛用于自动答录装置、手机铃声、集团电话、及智能仪器仪表设备。实现方法有许多种,随着FPGA集成度的提高,价格下降,EDA设计工具更新换代,功能日益普及与流行,使这种方案的应用越来越多。如今的数字逻辑设计者面临日益缩短的上市时间的压力,不得不进行上万门的设计,同时设计者不允许以牺牲硅的效率达到保持结构的独特性。使用现今的EDA软件工具来应付这些问题,并不是一件简单的事情。FPGA预装了很多已构造好的参数化库单元LPM 器件。通过引入支持LPM的EDA软件工具,设计者可以设计出结构独立而且硅片的使用效率非常高的产品。 本课设在EDA开发平台上利用VHDL语言设计数控分频器电路,利用数控分频的原理设计乐曲硬件演奏电路,并定制LPM-ROM存储音乐数据,以“两只老虎”乐曲为例,将音乐数据存储到LPM-ROM,就达到了以纯硬件的手段来实现乐曲的演奏效果。只要修改LPM-ROM所存储的音乐数据,将其换成其他乐曲的音乐数据,再重新定制LPM-ROM,连接到程序中就可以实现其它乐曲的演奏。 关键词:FPGA;EDA;VHDL;音乐

目录 设计要求 (1) 1、方案论证与对比 (1) 1.1方案一 (1) 1.2方案二 (1) 1.3综合对比 (1) 2 乐曲演奏电路原理 (2) 2.1 音乐演奏电路原理 (2) 2.2 音符频率的获得 (2) 2.3 乐曲节奏的控制 (3) 2.4 乐谱发生器 (3) 2.5 乐曲演奏电路原理框图 (3) 3音乐硬件演奏电路的设计实现 (4) 3.1 地址发生器模块 (4) 3.1.1 地址发生器的VHDL设计 (4) 3.2 分频预置数模块 (6) 3.2.1 分频预置数模块的VHDL设计 (6) 3.3 数控分频模块 (8) 3.3.1 数控分频模块的VHDL设计 (8) 3.4 music模块 (10) 3.4.1 音符数据文件 (10) 3.5.2 LPM-ROM定制 (12) 3.6 顶层文件 (14) 4 时序仿真及下载调试过程 (16) 4.1 时序仿真图 (16) 4.2 引脚锁定以及下载 (17) 4.3调试过程及结果 (17) 5扩大乐曲硬件演奏电路的通用性 (18) 5.1 完善分频预置数模块的功能 (18) 设计总结与心得体会 (21) 参考文献 (22)

EDA实验报告

实验一计数器设计 一、实验目的 计数器是实际中最为常用的时序电路模块之一,本实验的主要目的是掌握使用HDL描述计数器类型模块的基本方法。 二、实验仪器与器材 1.EDA开发软件一套 2.微机一台 3.实验开发系统一台 4.其他器材与材料若干 三、实验说明 计数器是数字电路系统中最重要的功能模块之一,设计时可以采用原理图或HDL语言完成。下载验证时的计数时钟可选连续或单脉冲,并用数码管显示计数值。 四、实验要求 1.设计一个带有计数允许输入端、复位输入端和进位输入端的十进制计数器。 2.编制仿真测试文件,并进行功能仿真。 3.下载并验证计数器功能。 4.为上述设计建立元件符号。 5.在上述基础上设计计数器。 五、实验结果

十进制计数器程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity counter10 is port(en,reset,clk:in std_logic; q:buffer std_logic_vector(3 downto 0); co:out std_logic); end counter10; architecture behav of counter10 is begin process(clk,en) begin if clk'event and clk='1' then if reset='1' then q<="0000"; elsif en='1' then if q<"1001" then q<=q+'1'; else q<="0000"; end if; end if; end if; end process;

(整理)eda技术教案.

EDA技术教案 第一次课 内容: 1)介绍EDA技术的涵义、发展历程和应用领域; 2)介绍EDA技术的主要内容; 3)介绍EDA的工程设计流程; 4)说明本课程的特点与学习方法。 教学目的: 1)通过介绍EDA技术的涵义、发展历程和应用领域,使学生了解本课程的实 际应用很大,调动学生学习这门课程的积极性 2)通过介绍EDA技术的主要内容,使学生了解这门课程要学习什么。在此基 础上说明本课程的特点与学习方法。 3)说明各种通信系统的组成,了解它们的优缺点,出现背景。重点说明数字通 信系统的特定和优点。 4)介绍EDA的工程设计流程,说明当前EDA设计的特点,用软件方式设计 硬件,用软件方式设计的系统到硬件系统的转换是由有关开发软件自动完成 的,因此类似软件编程,不需太多的低层硬件知识,使学生克服畏难情绪。 教学重点、难点: 1)EDA技术的三个发展阶段以及各阶段的特点; 2)EDA的定义和EDA技术的主要内容; 3)EDA的工程设计流程。 教学方法: 比较、举例、图解。 教学过程: (一)自我介绍,说明课时安排、成绩评定方法、课程定位、教学网站的进入。 (二)讲授新课 课堂教学实施过程共分六步。

1)介绍EDA技术的涵义。 2)说明EDA技术的发展背景,说明EDA技术的三个发展阶段,比较三个阶 段的各解决了什么问题,在此基础上理解各阶段的特点。 3)在第二步理解EDA技术进行电子系统设计的特点的基础上引出并详细说明 EDA的定义,加深对EDA技术的涵义的理解。 4)在第三步详细说明EDA的定义的基础上,引出EDA技术的4个主要内容: 硬件描述语言:设计的主要表达手段;大规模可编程逻辑器件:设计的载体; 软件开发工具:设计的工具;实验开发系统:下载工具及硬件验证工具。再分别介绍EDA技术的4个主要内容:了解常用的硬件描述语言VHDL和Verilog;了解两种常用的大规模可编程逻辑器件FPGA和CPLD以及它们各自的特点;了解主流EDA工具软件;了解本课程使用的西安唐都公司的TD-EAD实验系统 5)说明课程要求:通过学习这门课程要掌握运用EDA开发工具设计开发电子 系统,引出这门课程的特点:实践性强,说明我们的学习方法:抓住一个重点:VHDL的编程;掌握两个工具:Quartus II 和TD-EAD实验系统;运用三种手段:通过案例分析、应用设计和上机实践,实现理论与实践相结合,边学边用,边用边学。 6)用设计一个简单电子系统为例,引出EDA的工程设计流程。说明当前EDA 技术发展的特点:用软件方式设计硬件;用软件方式设计的系统到硬件系统的转换是由有关开发软件自动完成的;设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。现代EDA设计类似软件编程,不需太多的低层硬件知识,使学生克服畏难情绪。同时这里又回顾复习了使用EDA技术进行电子系统设计的特点。最后图解说明EDA的工程设计流程。

电子琴实验报告乐曲硬件演奏电路设计本科论文

武夷学院实验报告 课程名称:逻辑设计与FPGA 项目名称: 乐曲硬件演奏电路设计 ______________ 姓名: 专业:微电子学 班级:14微电子 学号:04实验日期 、 实验预习部分: 1. 实验目的: 学习利用数控分频器设计硬件乐曲演奏电路。 2. 实验原理: 综合利用数控分频器、LPM ROMPLL 等单元电路设计硬件乐曲演奏电路。系统框图如图 1 所示由三个模块组成,分别为 NOTETABSTONETABASPEAKERA NOTETAB 模块(把教材图9-4中的CNT138T 和MUSIC 模块合在一起即为此模块)类似于弹 琴人的手指;TONETAB 模块类似于琴键;SPEAKER 类似于琴弦或音调发生器。 音符的频率由SPEAKER 模块(与教材图9-4中的SPKEF 模块对应)获得,这是一个数控分 频器。由其CLK 端输入一具有较高频率(12MHZ 的信号,通过SPEAKER 分频后由SPKOU 输出。 SPEAKER 对CLK 输入信号的分频比由11位预置数TONE[10..0]决定。SPKOU 的输出频率将决定 每一音符的音调,这样,分频计数器的预置值 TONE[10..0]与SPKOU 的输出频率就有了对应关 系。例如在TONETAB 模块(与教材图9-4中的F_COD 模块对应)中若取 TONE[10..0] = 1036, 图1硬件乐曲演奏电路结构框图 i.;E-Z

将发出音符“ 3”音的信号频率。

实验预习成绩(百分制)____________________ 实验指导教师签字:_________________________

数控分频器实验报告

《数控分频实验》 姓名:谭国榕班级:12电子卓越班学号:201241301132 一、实验目的 1.熟练编程VHDL语言程序。 2.设计一个数控分频器。 二、实验原理 本次实验我是采用书上的5分频电路进行修改,通过观察其5分频的规律进而修改成任意奇数分频,再在任意奇数分频的基础上修改为任意偶数分频,本次实验我分为了三个部分,前两部分就是前面所说的任意奇数分频和任意偶数分频,在这个基础上,再用奇数输入的最低位为1,偶数最低位为0的原理实现合并。 三、实验步骤 1.任意奇数分频 程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY DIV1 IS PORT(CLK:IN STD_LOGIC; D:IN INTEGER RANGE 0 TO 255; K1,K2,K_OR:OUT STD_LOGIC ); END; ARCHITECTURE BHV OF DIV1 IS SIGNAL TEMP3,TEMP4:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL M1,M2:STD_LOGIC; --SIGNAL OUT1,OUT2,OUT3:STD_LOGIC; BEGIN PROCESS(CLK,TEMP3) BEGIN IF RISING_EDGE(CLK) THEN IF(TEMP3=D-1) THEN TEMP3<="00000000"; ELSE TEMP3<=TEMP3+1; END IF; IF(TEMP3=D-(D+3)/2) THEN M1<=NOT M1; ELSIF (TEMP3=D-2) THEN M1<=NOT M1; END IF; END IF; END PROCESS; PROCESS(CLK,TEMP4) BEGIN IF FALLING_EDGE(CLK) THEN IF(TEMP4=D-1) THEN TEMP4<="00000000"; ELSE TEMP4<=TEMP4+1; END IF; IF(TEMP4=D-(D+3)/2) THEN M2<=NOT M2; ELSIF (TEMP4=D-2) THEN M2<=NOT M2;

EDA实验报告

EDA 实验报告 实验一:组合电路的设计 实验内容是对2选1多路选择器VHDL 设计,它的程序如下: ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d <= a AND (NOT S) ; e <= b AND s ; y <= d OR e ; END ARCHITECTURE one ; Mux21a 仿真波形图 以上便是2选1多路选择器的VHDL 完整描述,即可以看成一个元件mux21a 。mux21a 实体是描述对应的逻辑图或者器件图,图中a 和b 分别是两个数据输入端的端口名,s 为通道选择控制信号输入端的端口名,y 为输出端的端口名。Mux21a 结构体可以看成是元件的内部电路图。最后是对仿真得出的mux21a 仿真波形图。 Mux21a 实体 Mux21a 结构体

实验二:时序电路的设计 实验内容D 触发器的VHDL 语言描述,它的程序如下: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF1 IS BEGIN PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK = '1' THEN Q <= D ; END IF; END PROCESS ; END bhv; D 触发器的仿真波形图 最简单并最具代表性的时序电路是D 触发器,它是现代可编程ASIC 设计中最基本的时序元件和底层元件。D 触发器的描述包含了VHDL 对时序电路的最基本和典型的表达方式,同时也包含了VHDL 中许多最具特色的语言现象。D 触发器元件如上图所示,其在max+plus2的仿真得出上面的波形 D 触发器

EDA技术实验教案

课程教案 课程名称:EDA技术实验 任课教师:王小虎 所属院部:电气与信息工程学院 教学班级:自本1201-02 教学时间:2014—2015学年第二学期

湖南工学院课程基本信息

P 1 实验一原理图的绘制 一、本次课主要内容 绘制一张完整的电源电路原理图. 1.绘制电源电路的原理图,并填上正确的封装,完成后将文件存盘。 2.对完成的电路图进行ERC校验,若有错误,则加以改正,直到校验无误后, 存盘. 2.对修改后的电路图进行编译,产生网络表文件,将网络表文件存盘后退出 3.根据以上的实验内容写出实验报告,并将绘制好的完整电源电路图打印出来 贴在报告中,分析实验过程中遇到的问题,总结用到的知识点。 二、教学目的与要求 1.熟练掌握PROTEL99的基本操作。 2.学会绘制电路原理图。 3.掌握电路图的ERC校验、电路错误修改和网络表的生成 三、教学重点难点 重点:调用元件;创建原理图元件库;网络标号。 难点:原理图元件库的创建 四、教学方法和手段 采用课堂讲授大概20分钟时间,对原理图绘制的方法与技巧运用多媒体进行演 示、制作教学幻灯片。 五、作业与习题布置 写出完整的实验报告,并回答下面问题。 1、为什么要给元器件定义封装形式?是否所有原理图中的元器件都要定义封装 形式? 2、放置元器件时系统提示没有打开元器件库,应如何解决? 3、使用网络标号时应注意哪些问题? 4、总线和一般连线有何区别?使用中应注意哪些问题?

P 2 实验一原理图的绘制 一、实验目的 (1)熟练掌握PROTEL99的基本操作。 (2)学会绘制电路原理图。 (3)掌握电路图的ERC校验、电路错误修改和网络表的生成。 二、实验内容与步骤 (1)新建文档,设置参数的基本操作。进入ADV ANCED SCHEMATIC,新建一张原理图,并设置它的工作空间参数和文档参数。其中,电路图大小设置为A4, 横向放置,标题栏选择标准标题栏,栅格大小均选为20mil。 (2)装入元器件库。执行相关命令, (3)放置元器件。按照如图1-1所示,从元器件库中放置相应的元器件到电路图中,并对元器件做移动,旋转等操作,同时进行属性设置。各元器件的元器 件标号及标称值均采用小四号宋体,完成后将文件存盘。 (4)全局修改。利用SCH的全局修改功能,将图1-1中电阻的标号和标称值均由小四号宋体改为五号黑体,并将电阻的编号R*由大写改为小写r*,完成后将 文件改名存盘。 (5)绘制电源电路图。按照如1-1所示,绘制电源电路的原理图,并填上正确的封装,完成后将文件存盘。 (6)对完成的电路图进行ERC校验,若有错误,则加以改正,直到校验无误后,存盘 (7)对修改后的电路图进行编译,产生网络表文件,将网络表文件存盘后退出

可编程逻辑器件与EDA技术实验教案

PLD实验教案电信学院通信系

序言 PLD实验是电信专业的一门专业实验课程,对电信专业的学生具有非常重要的作用。本实验课与理论课同时进行,与理论课有着较密切的联系。因此同学们在做本实验之前必须具备以下的基础知识: 1、数字电路的基础知识; 2、电子计算机常用操作系统的使用方法; 3、一定的英语基础; 4、必须有一定的理论知识做基础,与理论课同时进行。 PLD(可编程逻辑器件)是与ISP(在系统可编程)技术和EDA(电子设计自动化)工具紧密结合、同时进行的。它代表了数字电信领域的最高水平,给数字电路的设计带来了革命性的变化。从70年代第一片可编程逻辑器件PROM的诞生到现在的CPLD/FPGA,数字系统的设计发生了本质的变化。从传统的对电路板的设计到现在的基于芯片的设计,使得数字系统设计的效率大大提高,产品更新速度大大加快,设计周期大大变短。所以同学们学习本课程有着非常重要的意义。 本实验不同于其它实验,他的实验手段和实验方法都有了重大的变化,主要体现在以下几个方面: 首先:实验方法不同 本实验是在PC平台上,用原理图或文本进行输入,然后进行编译,通过之后再进行波形仿真,如有缺陷,再回过头去对源文件进行修改。其流程图如下: 其次:实验手段不同 本实验是利用ISP技术、采用EDA工具、应用PLD器件,在PC平台上进行的。第三、本实验课的目的 学生学习完本实验课后,应达到如下的要求: 1、能熟练使用本实验的配套EDA软件Mux+plusⅡ; 2、掌握PLD芯片的基本使用方法,能用现代数字系统的设计方法进行基本的数字 系统设计; 3、掌握图形编辑和VHDL文本编辑两种设计方法,重点是VHDL文本编辑; 4、具备基本的开发能力,为后续学习打下坚实的基础。

EDA数控分频器的设计报告

数控分频器的设计 1、实验目的: 学习数控分频器的设计、分析和测试方法。 2、实验原理: 数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可,详细设计程序如例下文所示。 1) VHDL及语句分析 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DVF IS --定义实体DVF PORT ( CLK : IN STD_LOGIC; --时钟输入 D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --7位预置数 FOUT : OUT STD_LOGIC ); --输出的频率 END DVF; ARCHITECTURE one OF DVF IS --定义结构体one SIGNAL FULL : STD_LOGIC; --定义信号full BEGIN P_REG: PROCESS(CLK) --进程P_REG中CNT8从预置数D开始 逐步累加到255后,FULL置1;再将 CNT8置为D,循环以获得一个新的周期 脉冲序列FULL,即产生新的频率V ARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLK'EVENT AND CLK = '1' THEN IF CNT8 = "11111111" THEN CNT8 := D; FULL<='1'; ELSE CNT8 := CNT8 + 1; FULL <= '0'; END IF; END IF; END PROCESS P_REG ; P_DIV: PROCESS(FULL) --进程P_DIV中,FOUT是占空比为50%的周期

EDA简易电子琴设计报告

,、题目分析 1、分析要求,确定总体方框图 本设计基本部分是用VHDL语言设计一个简易的八音符电子琴,在Quartus II 平台下下载到Cyclone系列的EP1C12Q240C芯片中,该电路设计能够实现DO RE Ml、FA等八个音调的电子琴,发挥部分是设计一乐曲自动演奏器,用户自己编制乐曲存入电子琴,电子琴可以完成自动演奏。 电子琴音乐产生原理及硬件设计由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了。 根据系统设计要求,系统设计采用自顶向下的设计方法,系统的整体组装设计原理图如图1所示,它由乐曲自动演奏模块AUTO音调发生模块TONE和数控分频模块FENPIN三部分组成。 图1系统的整体组装设计原理图 2、最终完成的技能指标 (1)设计一个简易的八音符电子琴,它可通过按键输入来控制音响。 (2)演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存入的乐曲 】、选择方案 通过可编程逻辑器件(PLD和VHDL硬件描述引言来实现电子琴的基本部分和发挥部分的设计。对于基本部分,设计的主体是数控分频器,对输入的频率进行分频,得

到各个音阶对应的频率最为输出。当按下不同的键时发出不同的声音。对于发挥部分,则在原设计的基础上,增加一个乐曲存储模块,代替了键盘输入,产生节拍控制(index数据存留时间)和音阶选择信号,即在此模块中可存放一一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。 方案一:由单片机来完成设计。可用单片机控制键盘的输入,以及产生相应的频率信号作为输出。目前,单片机的功能已比较强大,集成度日益增高且其设计和控制比较容易。但是由于在传统的单片机设计系统中必须使用许多分立元件组成单片机的外围电路,如锁存器,译码器等都需要单独的电路,因此整个系统显得十分复杂,抗干扰性差,在运行过程中容易死机或进入死循环,可靠性降低,而功耗费用增高。 方案二:利用PLC来完成设计。目前利用PLC的技术已经比较成熟。PLC有其优点,其性能优异,体积小,可靠性和精度都比较好,在电子琴的设计中可 采用PLC来完成硬件的控制,但是用PLC实现编程相对比较复杂,对于电子琴这种小型设计来说成本过高。 方案三:利用可编程逻辑器件PLD来完成该设计。利用PLD可以很好的解决上述的问题。它的成品体积小,适合电子琴这种小型设计。其性能稳定,控制精度高(Xili nx公司的高密度,高速可预测延时,高性能系列芯片),易于管理和屏蔽,抗干扰能力强,可靠性高。 综上,在本设计中选择第三种方案最优。 三、各模块原理及其程序 1、乐曲自动演奏模块 乐曲自动演奏模块(AUTO.VHD的作用是产生8位发声控制输入信号/当进行自动演奏时,由存储在此模块中的8位二进制数作为发声控制输入,从而自动演奏乐曲。 为了实现扩展部分的设计,便需要多加上一个音乐存储模块,该模块的作用是产生8位发声控制输入index,auto为0或1时可以选择自动演奏或者键盘输入,如果auto为0,则而由存储在此模块中的8位二进制数来作为发声控制输入,由此便可自动演奏乐曲。此模块的VHDL语言中包括两个进程,首先是对基准脉冲进行分频得到4Hz 的脉冲,作为第二个进程的时钟信号,它的目的是控制每个音阶之间的停顿时间,此处便是1/4=0.25s,第二个进程是音乐的存储,可根据需要编写不同的乐曲。 这段模块的原理图如图2所示: CLK AUTO INDEX0[7.0] 图2乐曲自动演奏模块原理图 乐曲自动演奏模块可以由VHDL语言来实现,下面是一段主要代码:

vhdl实验报告--蜂鸣器

VHDL 实验报告 一、实验目的 1、掌握蜂鸣器的使用; 2、通过复杂实验,进一步加深对VHDL语言的掌握程度。 二、实验原理乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在蜂鸣器上连续地发出各个音符的音调。而要准确地演奏出一首乐曲,仅仅让蜂鸣器能够发声是不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间。由此可见,乐曲中每个音符的发音频率及其持续的时间是乐曲能够连续演奏的两个关键因素。 乐曲的12 平均率规定:每2 个八度音(如简谱中的中音1 与高音1)之间的频率相差1 倍。在2个八度音之间,又可分为12个半音。另外,音符A(简谱中的低音6)的频率为440Hz, 音符B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音I至高音1 之间每个音符的频率,如表所示。 音名频率/Hz 音名频率/Hz 音名频率/Hz 低音1 中音1 高音1 低音2 中音2 高音2 低音3 中音3 高音3 低音4 中音4 高音4 低音5 392 中音5 784 高音5 1568 低音6 440 中音6 880 高音6 1760 低音7 中音7 高音7 表简谱音名与频率的对应关系 产生各音符所需的频率可用一分频器实现, 由于各音符对应的频率多为非整数, 而分频系数又不能为小数, 故必须将计算得到的分频数四舍五入取整。若分频器时钟频率过低, 则由于分频系数过小, 四舍五入取整后的误差较大;若时钟频率过高,虽然误差变小,但分频数将变大。实际的设计应综合考虑两方面的因素, 在尽量减小频率误差的前提下取合适的时钟频率。实际上,只要各个音符间的相对频率关系不变,演奏出的乐曲听起来都不会走调。 音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定。因此, 要控制音符的音 长,就必须知道乐曲的速度和每个音符所对应的节拍数, 本例所演奏的乐曲的最短的音符为四分音符,如果将全音符的持续时间设为1s 的话,那么一拍所应该持续的时间为秒,则只需要提供一个4HZ的时钟频率即可产生四分音符的时长。 本例设计的音乐电子琴选取40MHZ的系统时钟频率。在数控分频器模块,首先对时钟频率进行40分频,得到1MHZ的输入频率,然后再次分频得到各音符的频率。由于数控分频器 输出的波形是脉宽极窄的脉冲波, 为了更好的驱动蜂鸣器发声, 在到达蜂鸣器之前需要均衡占空比, 从而生成各音符对应频率的对称方波输出。这个过程实际上进行了一次二分频, 频率变为原来的二分之一即。 因此,分频系数的计算可以按照下面的方法进行。以中音1为例,对应的频率值为 523. 3Hz,它的分频系数应该为: 0.375MHZ 0.375 106 716 523.3 523.3

EDA技术教学大纲

《EDA技术》课程教学大纲 学分:4 学时:64(讲课:32学时;实验:32学时) 适用专业:电子设备与运行管理、电子信息工程、通信工程。 教材:《EDA技术实用教程》潘松、黄继业编,科学出版社,2002年10月 开课院系:电子与信息技术系 第一章绪论 内容:EDA技术简介 重点:EDA的含义、范畴及发展现状 教学要求:对EDA具有初步了解 第二章EWB 内容:EWB软件的使用 重点:EWB的基本操作,EWB仪器、仪表的使用与电路设计,电路仿真常用分析方法 难点:电路仿真常用基本方法 实验:EWB的基本操作 教学要求:学会使用EWB电路仿真软件,初步能利用仿真软件对电路进行分析 第三章Protel 内容:原理图的绘制,PCB的设计 重点:SCH原理图和PCB电路板图的绘制 难点:PCB的设计 实验:原理图的绘制及PCB的设计 教学要求:掌握电路原理图的设计方法,学会使用Protel来设计PCB电路板,主要是掌握PCB的设计规则 第四章VHDL 内容:学会使用MAXPLUS II软件,了解VHDL编程语言,能进行至少一个电子技术综合问题的设计 重点:MAXPLUS II的使用,VHDL编程语言 难点:VHDL编程语言 实验:VHDL语言,电子技术综合实验 三、建议教材与参考书 1、《EDA技术基础》郭勇、许戈、刘豫东编,机械工业出版社,2001年7月 2、《EDA技术实用教程》潘松、黄继业编,科学出版社,2002年10月 四、说明 1、本课程的教学需由熟悉电子技术、EDA技术的教师担任,以满足理论和实践教学的

需要 2、本课程开设之前应开设《电子技术》课程。 3、本课程的教学理论教学和实践教学并重。 4、本课程的重点是使学员掌握常用的EDA软件及简单的应用系统开发 5、本教学大纲也适用于机电工程及自动化、机电一体化、工业自动化等专业。

EDA技术--教学大纲

《EDA技术与HDL语言》课程教学大纲 一、《EDA技术与HDL语言》课程说明 (一)课程代码:0711018 (二)课程英文名称:EDA technology and HDL language (三)开课对象:电子信息工程技术专业学生 (四)课程性质: 本课程是一门专业主干课程,是数字电子技术的一门后续课程;本课程的目的是让学生掌握PLD器件的使用方法,培养HDL语言的编程能力,形成数字系统设计的初步能力;本课程的先修课程为:模拟电子技术、数字电子技术、单片机原理及其接口技术。 (五)教学目的: 本课程让学生掌握PLD器件的使用方法,培养HDL语言的编程能力,形成数字系统设计的初步能力。 (六)教学内容: 本课程主要介绍PLD器件的基本结构、工作原理、PLD的种类;HDL语言相关语法、设计方法以及调试软件QUARTUSⅡ的使用方法。 (七)学时数、学分数及学时数具体分配 学时数:72学时 学分数:4学分 (八)教学方式 以多媒体技术为主要手段的理论教学及实践教学 (九)考核方式和成绩记载说明 考核方式为考试。严格考核学生出勤情况,达到学籍管理规定的旷课量取消考试资格。综合成绩根据平时成绩、实验成绩、期末成绩评定,平时成绩占20%,实验成绩10%,期末成绩占70% 。

二、讲授大纲与各章的基本要求 第1章概述 教学要点: 通过本章的学习,使学生初步了解EDA的基本知识、常用的EDA基本工具使用方法和目标器件的结构原理。 教学时数:4学时 教学内容: 第一节 EDA技术 第二节 EDA技术应用对象 第三节 VHDL 第四节 EDA的优势 第五节面向FPGA的EDA开发流程 一设计输入 二综合 三适配(布线布局) 四仿真 第六节 PLD 一 PLD的分类 二 PROM可编程原理 三 GAL 第七节 CPLD的结构与可编程原理 第八节 FPGA的结构与工作原理 一查找表逻辑结构 二 FPGA的结构与原理 第九节硬件测试技术 一内部逻辑测试 二 JTAG边界扫描测试 第十节 FPGA/CPLD产品概述 一 Altera公司FPGA和CPLD器件系列 二 Lattice公司CPLD器件系列 三 Xilinx公司FPGA和CPID器件系列 第十一节编程与配置 第十二节 FPGA配置器件 第十三节 Quartus II

数控分频器的设计

实验四数控分频器的设计 一、实验目的: 1.学习数控分频器的设计、分析和测试方法,锻炼分析Verilog(VHDL)语言的能力。 二、原理说明: 数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,对原时钟进行占空比为50%的分频。在实验板选择50M 时钟,对其进行2~15分频,分频系数以拨码键盘控制,并用数码管进行显示(十六进制形式)。 三、实验内容: 1、根据由顶向下的设计原则,进行顶层建模。 分频系数分为奇数分频和偶数分频,因些包括Evn_Div(偶数分频)和Odd_Div(奇数分频)模块,数码管显示为SEG7_LUT,采用类似查找表的方式完成。 2、偶数分频 偶数分频模块比较简单,假设分频系数为N,只需要在计数器计到N/2时,将输出时钟反转即可。

仿真图如下: 3、奇数分频 奇数分频相对偶数分频比较麻烦,主要是对原时钟的上升沿和下降沿进行计数,通过两个计数器得到上升沿时钟和下降沿时钟,对这两个时钟进行与操作可得到奇数分频。

仿真图如下: 4、数码管显示 数码管显示模块应用case语句即可完成。

5、分频选择 分频系数有两种,一是偶数,另一个是奇数,因此可通过分频系数的最低位来进行选择,iDIV[0]既作为奇、偶分频模块的使能输入,又可作为输出时钟选择线。 6、顶层模块 将上述几个模块例化即可(注意iDiv[0]的连接方式)。 引脚: input CLOCK_50;//原时钟 input RST;//复位信号 input [3:0] iDIV;//分频系数 output oCLK;//输出时钟 output [6:0] oSEG;//数码管输出

EDA分频器的设计

EDA实验报告 学院:班级: 学号:指导老师: 姓名: 一、实验目的:学习数控分频器的设计,分析和测试方法。 二、实验原理:不同的分频比,数控分频器就是用计数值可并行预置的加法 计数器设计完成的,方法是将数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有计时器溢出位与预置数加载输入信号相接即可。 三、实验内容 1、将4096HZ的时钟信号分频为1HZ的时钟信号。 实验原理图: 实验源程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dvf is port(clk_in:in std_logic; fout:out std_logic); end; architecture one of dvf is signal cnt: integer range 0 to 2048; signal clk_out:std_logic; begin process(clk_in) begin if clk_in'event and clk_in = '1' then if cnt=2048 then cnt <=0; clk_out <=not clk_out; else cnt<=cnt+1; end if;

end if; end process; fout<=clk_out; end one; 功能仿真波形图: 实验引脚图: 实验箱上工作情况:当CLOCK5接4096HZ的时钟信号时,扬声器每秒钟响一次。 2、如实验内容1将4096HZ的时钟信号分频为2HZ、8HZ、16HZ的时钟信号。 3、编写四选一MUX,可用按键控制选择分频后的某时钟。 实验原理图: 实验源程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dvf is port(clk:in std_logic;

vhdl实验报告--蜂鸣器

VHDL实验报告 一、实验目的 1、掌握蜂鸣器的使用; 2、通过复杂实验,进一步加深对VHDL语言的掌握程度。 二、实验原理 乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在蜂鸣器上连续地发出各个音符的音调。而要准确地演奏出一首乐曲,仅仅让蜂鸣器能够发声是不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间。由此可见,乐曲中每个音符的发音频率及其持续的时间是乐曲能够连续演奏的两个关键因素。 乐曲的12平均率规定:每2个八度音(如简谱中的中音1与高音1)之间的频率相差1倍。在2个八度音之间,又可分为12个半音。另外,音符A(简谱中的低音6)的频率为440Hz,音符B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音l至高音1之间每个音符的频率,如表所示。 音名频率/Hz音名频率/Hz音名频率/Hz 低音1中音1高音1 低音2中音2高音2 低音3中音3高音3 低音4中音4高音4 低音5392中音5784高音51568 低音6440中音6880高音61760 低音7中音7高音7 表简谱音名与频率的对应关系 产生各音符所需的频率可用一分频器实现,由于各音符对应的频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若分频器时钟频率过低,则由于分频系数过小,四舍五入取整后的误差较大;若时钟频率过高,虽然误差变小,但分频数将变大。实际的设计应综合考虑两方面的因素,在尽量减小频率误差的前提下取合适的时钟频率。实际上,只要各个音符间的相对频率关系不变,演奏出的乐曲听起来都不会走调。 音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定。因此,要控制音符的音长,就必须知道乐曲的速度和每个音符所对应的节拍数,本例所演奏的乐曲的最短的音符为四分音符,如果将全音符的持续时间设为1s的话,那么一拍所应该持续的时间为秒,则只需要提供一个4HZ的时钟频率即可产生四分音符的时长。 本例设计的音乐电子琴选取40MHZ的系统时钟频率。在数控分频器模块,首先对时钟频率进行40分频,得到1MHZ的输入频率,然后再次分频得到各音符的频率。由于数控分频器输出的波形是脉宽极窄的脉冲波,为了更好的驱动蜂鸣器发声,在到达蜂鸣器之前需要均衡占空比,从而生成各音符对应频率的对称方波输出。这个过程实际上进行了一次二分频,频率变为原来的二分之一即。

EDA 数控分频器的设计

专业班级: 学号:姓名: EDA 技术实验报告 实验项目名称:数控分频器的设计 实验日期:2012.06.11 实验成绩: 实验评定标准: 一、实验目的 学习数控分频器的设计、分析和测试方法。 二、实验原理 数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可。 三、实验器材 PC机、FPGA实验箱、QuartusⅡ软件 四、实验内容: 编写数控分频器的程序,完成之后在实验系统上硬件验证其程序的功能。可选实验电路模式一;键2和键1负责输入8位顶置数D;CLK由clock0输入,频率选65536HZ或更高;输出FOUT接扬声器。编译下载后进行硬件测试;改变键2或键1的输入值,可听到不同的音调的声音。 五、实验程序 library ieee; use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; entity DVF is port (clk:in std_logic; d:in std_logic_vector(7 downto 0); fout:out std_logic); end DVF; architecture one of DVF is signal full:std_logic; begin p_reg:process(clk) variable cnt8 :std_logic_vector(7 downto 0); begin if clk'event and clk='1' then if cnt8="11111111" then cnt8:=D; full<='1'; else cnt8:=cnt8 +1; full<='0'; end if; end if; end process p_reg; p_div:process(full) variable cnt2:std_logic; begin if full'event and full='1' then cnt2:=not cnt2; if cnt2='1' then fout<='1';else fout<='0'; end if; end if; end process p_div; end one; 六、实验仿真、结果及分析 <一>实验仿真: 根据以上程序可知,给定预置值的波形如下:

相关主题
文本预览
相关文档 最新文档