Verilog HDL课程设计-多路选择器设计与乐曲硬件演奏电路设计

合集下载

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

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

EDA课程设计题目:乐曲硬件演奏电路的VHDL设计一、 设计题目:乐曲硬件演奏电路的VHDL 设计二、 设计目标:1)能够播放“梁祝”乐曲。

2)能够通过LED 显示音阶。

3)具有“播放/停止”功能,并在此基础上实现“按键演奏”的电子琴功能。

三、 设计原理:1. 音乐基础知识一段简单乐谱由音调和节拍组成,音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。

音符的节拍我们可以举例来说明。

在一张乐谱中,我们经常会看到这样的表达式,如1=C 44、1=G 43……等等。

以43为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。

比如:图1其中1 、2 为一拍,3、4、5为一拍,6为一拍共三拍。

1 、2的时长为四分音符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分音符长,5的时长为四分音符的一半,即为八分音符长,6的时长为四分音符长。

那么一拍到底该唱多长呢?一般说来,如果乐曲没有特殊说明,一拍的时长大约为400—500ms 。

我们以一拍的时长为400ms为例,则当以四分音符为节拍时,四分音符的时长就为400ms,八分音符的时长就为200ms,十六分音符的时长就为100ms。

2.原理图框图:图2.框图3.原理图说明音乐播放原理说明音符的频率由数控分频器模块Speakera产生。

ToneTaba模块从NoteTabs模块中输入的音符数据,将对应的分频预置数据传送给Speakera模块,并将音符数据送到LED模块显示音阶。

NoteTabs模块中包含有一个音符数据ROM,里面存有歌曲“梁祝”的全部音调,在此模块中设置了一个8位二进制计数器,作为音符数据ROM的地址发生器。

这个计数器的计数频率为4Hz,即每一个数值的停留时间为0.25秒。

例如:“梁祝”乐曲的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即1秒钟时间,所对应的“3”音符分频预置数为1036,在Speakera的输入端停留了1秒。

Verilog_HDL—乐曲演奏电路设计

Verilog_HDL—乐曲演奏电路设计

湖北文理学院Verilog HDL乐曲演奏电路设计专业:自动化学号:2012118064姓名:一天虹影设计目的与要求1.课程设计目的:1)加深对EDA技术的理解,掌握乐曲演奏电路的工作原理2)了解怎样控制音调的高低变化和音长,从而完成乐曲的自动循环演奏。

3)培养自主学习、正确分析和解决问题的能力2.课程设计要求:1)使用Verilog HDL设计乐曲演奏电路,系统实现是用硬件描述语言Verilog HDL按分频控制的方式进行设计,然后进行编程、时序仿真、电路功能验证,奏出美妙的乐曲。

2) 通过控制输出到扬声器的激励信号频率的高低和持续的时间,从而使扬声器发出连续的乐曲声,且当乐曲演奏完成时,保证能自动从头开始演奏。

3.该方案可以实现的功能:1)通过蜂鸣器播放音乐;2)通过三位动态数码管输出相应的高中低音符;3)通过一个开关实现两首乐曲的切换;4)在音乐播放的同时,会有led流水灯的闪烁.应用工具介绍作为当今最流行的计算机软件系统,EDA技术是以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

EDA可提供文本输入以及图形编辑的方法将设计者的意图用程序或者图形方式表达出来,而我们经常用到的VHDL语言便是用于编写源程序所需的最常见的硬件描述语言(HDL)之一。

2.1 EDA技术介绍EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来。

EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计[1]。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

多路选择器课程设计

多路选择器课程设计

多路选择器课程设计一、课程目标知识目标:1. 理解多路选择器的基本概念、原理和分类。

2. 掌握多路选择器的电路符号、工作原理及特点。

3. 学会分析多路选择器在实际电路中的应用。

技能目标:1. 能够正确使用多路选择器进行电路设计。

2. 能够运用所学知识解决实际问题,提高电路设计能力。

3. 能够通过实际操作,培养动手能力和团队协作能力。

情感态度价值观目标:1. 培养学生对电子技术学科的兴趣,激发学习热情。

2. 增强学生的创新意识和实践能力,提高自信心。

3. 培养学生严谨的科学态度,遵循实验操作规范。

课程性质:本课程属于电子技术基础课程,旨在帮助学生掌握多路选择器的原理和应用,提高电路设计能力。

学生特点:学生已具备一定的电子技术基础知识,具有较强的学习兴趣和动手能力。

教学要求:结合学生实际情况,注重理论与实践相结合,以实际操作为主线,培养学生的实践能力和创新精神。

通过本课程的学习,使学生能够将所学知识应用于实际电路设计中,达到学以致用的目的。

课程目标的设定,旨在分解为具体的学习成果,为后续教学设计和评估提供依据。

二、教学内容1. 多路选择器基本概念:介绍多路选择器的作用、分类及基本原理。

- 教材章节:第二章第四节- 内容列举:多路选择器的定义、分类(模拟、数字)、工作原理。

2. 多路选择器电路符号与工作原理:分析多路选择器的电路符号、工作过程及特点。

- 教材章节:第二章第五节- 内容列举:电路符号、工作原理、开关特性、应用场合。

3. 多路选择器应用实例:讲解多路选择器在实际电路中的应用,分析电路设计方法。

- 教材章节:第二章第六节- 内容列举:典型应用电路、电路设计方法、注意事项。

4. 实践操作:设计多路选择器电路,进行实际操作,培养动手能力。

- 教材章节:第二章实践操作- 内容列举:实践操作任务、操作步骤、注意事项。

5. 课堂讨论与总结:针对教学内容,组织课堂讨论,巩固所学知识,总结课程要点。

- 教材章节:第二章总结- 内容列举:课程重点、难点、学习方法、实践技巧。

Verilog HDL与CPLDFPGA项目开发教程 第3版-电子课件项目11 音乐播放器设计

Verilog HDL与CPLDFPGA项目开发教程 第3版-电子课件项目11 音乐播放器设计
always@(keyin) begin keyin_reg=keyin; case(keyin_reg) 8'b11111110:count_end=16'h5993; 8'b11111101:count_end=16'h4fd0; …… 8'b10111111:count_end=16'h2f74; 8'b01111111:count_end=16'h2cca; 8'b11111100:count_end=16'h27e7; 8'b11111010:count_end=16'h238d; …… 8'b10111110:count_end=16'h17ba; default:count_end=16'hffff; endcase end assign buzzout=buzzout_reg; assign ledout=keyin_reg;
if(count1<25'd3000000) count1=count1+1;
else begin count1=0; clk_4Hz=~clk_4Hz; end
end
//定义基准时钟输入 //定义声响输出口 //定义高、中、低音标志
//定义基准时钟分频寄存器 //定义音谱分频寄存器 //控制音谱播放顺序 //4Hz信号
if(counter==47) counter=0; else counter=counter+1; case(counter)
0:{high,med,low}=9'b000000011; 1:{high,med,low}=9'b000000011; 2:{high,med,low}=9'b000000011; 3:{high,med,low}=9'b000000011; 4:{high,med,low}=9'b000000101; 5:{high,med,low}=9'b000000101; 6:{high,med,low}=9'b000000101; 7:{high,med,low}=9'b000000110; …… endcase end assign buzzout=buzzout_reg; endmodule

hdl的课程设计

hdl的课程设计

hdl的课程设计一、教学目标本课程的教学目标是让学生掌握HDL(硬件描述语言)的基本语法、编写方法和应用技巧。

通过本课程的学习,学生将能够熟练使用HDL进行数字电路的设计和仿真,提高他们在电子工程领域的实际操作能力。

具体来说,知识目标包括:1.理解HDL的基本概念和特点。

2.掌握HDL的基本语法和编写规则。

3.了解HDL在数字电路设计中的应用。

技能目标包括:1.能够独立编写HDL代码,实现简单的数字电路功能。

2.能够使用HDL进行电路仿真,验证电路的正确性。

3.能够分析HDL代码的性能,进行优化和改进。

情感态度价值观目标包括:1.培养学生对电子工程的兴趣和热情。

2.培养学生团队合作精神和自主学习能力。

3.培养学生对新技术的敏感性和创新意识。

二、教学内容本课程的教学内容主要包括HDL的基本语法、编写方法和应用技巧。

具体安排如下:第1-2章:HDL的基本概念和特点,介绍HDL的发展历程、基本语法和编写规则。

第3-4章:HDL的基本数据类型和运算符,讲解HDL中的基本数据类型、运算符及其使用方法。

第5-6章:HDL的控制语句和函数,介绍HDL中的条件语句、循环语句、函数和过程等控制语句的使用。

第7-8章:HDL的模块化和层次化设计,讲解如何使用模块化和层次化设计方法进行数字电路的设计。

第9-10章:HDL的仿真和测试,介绍HDL仿真工具的使用方法,以及如何进行电路的测试和验证。

第11-12章:HDL在实际项目中的应用,分析HDL在实际项目中的应用案例,提高学生的实际操作能力。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括:1.讲授法:教师讲解HDL的基本概念、语法和编写规则,引导学生理解和掌握相关知识。

2.案例分析法:分析实际项目中的应用案例,让学生了解HDL在实际工作中的应用。

3.实验法:安排实验室实践环节,让学生动手编写HDL代码,进行电路仿真和测试。

4.讨论法:学生进行分组讨论,分享学习心得和经验,提高团队合作精神和自主学习能力。

2选1多路选择器的VerilogHDL设计

2选1多路选择器的VerilogHDL设计
说明:各学院(实验中心)可根据实验课程的具体需要和要求自行设计和确定实验报告的内容要求和栏目,但表头格式按照“实验项目名称”栏以上部分统一。
三、实验HDL描述:
四、仿真结果:
由上图可见,当输入的s为高电平时,输出的y和a的波形一致;而当输入的s为低电平时,输出的y和b一致。
五、引脚锁定:
六、硬件测试结果:
上图为通过JTAG接口下载程序
实验效果:按下和松开键1,SPEAKER会发出不同的尖叫声,证明电路运行正确。
七、实验心得:
通过本次实验,初步了解了QuartusII的基本操作方法,根据PPT和老师的详细讲解,熟悉了2选1多路选择器的文本编辑输入和仿真设置及测试。有了这次入门实验的经验,为后续实验打下了良好的基础。
2、学习简单组合电路的设计、仿真和硬件测试。
二、实验内容:
按照PPT文件“Quartus II 9.0基本设计流程-VerilogHDL.ppt”所讲述的步骤,利用QuartusII完成2选1多路选择器的文本编辑输入(mux21a.v)和仿真测试等步骤,给出仿真波形。
若目标器件是EP3C40Q240C8N,建议选实验电路模式5,用键1作为控制端s;a和b分别接clock5、clock0,输出信号y接扬声器speaker。通过短路帽选择clock0接256Hz信号,clock5接1024Hz。最后进行编译、下载和硬件测试实验。
附表1:
广州大学学生实验报告
开课学院及实验室:物理与电子工程学院-电子楼317室2016年4月18日
学院
物电
年级、专业、班
姓名
Jason.P
学号
实验课程名称
EDA技术实验
成绩
实验项目名称
2选1多路选择器的VerilogHDL设计

Verilog HDL课程设计-多路选择器设计与乐曲硬件演奏电路设计

Verilog HDL课程设计-多路选择器设计与乐曲硬件演奏电路设计

Verilog HDL课程设计(多路选择器设计与乐曲硬件演奏电路设计)目录1.绪论 (1)1.1 EDA介绍 (1)1.2 FPGA介绍 (1)1.3 Verilog HDL硬件描述语言 (2)1.3.1 Verilog HDL硬件描述语言介绍 (2)1.3.2 Verilog HDL功能 (2)1.4. Quartus II 9.0介绍 (3)1.4.1 Quartus II 9.0安装 (3)1.4.2 Quartus II 9.0破解 (5)2.多路选择器的设计 (6)2.1设计要求 (6)2.2设计原理框图 (6)2.3硬件原理图 (7)2.4程序设计 (7)2.5.仿真结果 (8)2.6.引脚锁定如下 (8)2.7.分析报告 (9)3.乐曲硬件演奏电路设计 (9)3.1设计要求 (9)3.2设计原理 (9)3.3设计原理框图 (9)3.4硬件原理图 (10)3.4程序设计 (10)3.5.仿真结果及分析 (11)5.论文总结 (122)参考文献 (13)1.绪论1.1 EDA介绍EDA电子设计自动化是Electronic Design Automation的简称,从20世纪60年代中期发展开始至今,已经取得了飞跃性的进步,在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已经非常普及,这些可编程逻辑器件为数字系统的设计带来了相当大的灵活性。

这些器件可以通过软件编程而对其硬件结构和工作方式进行重构和改变,这就使得硬件的设计可以如同软件设计那样方便快捷效率高,可编程逻辑器件加快了EDA技术的发展,在现代社会,尤其是电子信息科技行业发展突飞猛进,在化工、机械、电子、通信、医学、航空航天、矿产、生物、军事等各个领域都有EDA的广泛应用,相信在为了社会EDA 技术会发展的更加发达。

1.2 FPGA介绍FPGA是Field-Programmable Gate Array的简称,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

基于Verilog多首乐曲选择演奏电路设计

基于Verilog多首乐曲选择演奏电路设计

基于verilog硬件乐曲演奏电路设计〔quartus II〕模块可以实现4x4键盘扫描按键播放音乐,ROM中存四首歌曲,可以通过选择播放。

一、设计任务与要求设计目的:利用数控分频器设计硬件演奏电路。

设计容:学习课本定制音符数据ROM“music〞。

填入新的乐曲。

争取可以在一个ROM装上多首歌曲,可手动或自动选择歌曲。

设计要求:用仿真波形和电路原理图,详细表达硬件电子琴的工作原理及其verilog文件中相关语句功能,表达硬件实现情况。

二、总体框图ROM中的音乐数据文件刚可由编辑好的音符填入MIF文件中再定制LPM_ROM将音符数据加载入ROM中,并设计程序在运行时自动读取ROM中的文件并置入数控分频器中。

当采用四四拍曲子时,每节拍持续时间为0.5秒。

置入数控分频器的速度也应与此同步或一致,防止音乐过快或过快慢而失真。

我给出的C调音阶频率表,各频率对应的预置数就与数控分频推动蜂鸣器发出声音的频率对应。

在编写数控分频器时,不仅要考虑预置数的输入方式,还要考虑输入的速度,以及驱动蜂鸣器发声的频率。

为了在扩展能够在ROM中同时存放多首歌曲,并可以手动选择需要的歌曲,故可将ROM中分假设干段存放不同曲子。

当手动选择歌曲时,可根据输入的选择信号,读出ROM中对应地址的曲子,并将ROM中的曲子完整的播放出来。

为了显示高、中、低三种音调,可在音符>>预置数的译码过程中,同时译出高、中、低三种音阶的信号,并利用三个LED灯输出信号。

同时,也可利用该译码模块,将当前演奏的音符简谱表达出来。

下面给出C调音节频率表:三、功能模块3.1 音符数据地址发生器模块T138T模块T138T是一个10位二进制计数器,部计数最大值为500,作为音乐ROM地址发生器。

这个计数器的计数频率即为4HZ,即每一个数值停留时间为0.25秒。

可以通过选那么en的值00 01 10 11,选择不同的歌曲。

module T138T (clk,t,en);input clk;input [1:0] en;output [9:0]t;reg [9:0]t;always (posedge clk )begincase(en)0:beginif(t<=138)t=t+1;elset=0;end1:begin if(t>=139&&t<=263)t=t+1;elset=139;end2:begin if(t>=263&&t<=335)t=t+1;elset=263;end3:begin if(t>=335&&t<=439)t=t+1;elset=335;endendcaseendendmodule模块图:仿真图:3.2 分频预置查表模块F_CODE模块F_CODE 乐曲简谱码对应的分频预置数查表为SPKER提供所发音符的分频预置数,分频分频预置数共14个,每一个音符的停留时间由音乐节拍和音调发生查表模块MUSIC中简码和时钟inclock的频率决定,为4hz即0.25s一个上升沿到来就传送一次数据。

veriloghdl课程设计

veriloghdl课程设计

veriloghdl课程设计一、课程目标知识目标:1. 理解Verilog HDL的基本语法和结构,掌握数字电路设计的基本原理;2. 学会使用Verilog HDL进行简单的数字电路设计和仿真;3. 掌握Verilog HDL中的模块化设计方法,能够阅读和分析中等难度的Verilog代码;4. 了解FPGA的基本原理,能够将Verilog HDL代码在FPGA开发板上实现硬件编程。

技能目标:1. 能够运用Verilog HDL编写基本的组合逻辑和时序逻辑电路;2. 独立完成简单的数字信号处理系统的设计、仿真和硬件测试;3. 掌握使用Verilog HDL进行代码调试和优化的基本技巧;4. 培养学生的团队合作能力和问题解决能力,能够在项目中进行有效的沟通与协作。

情感态度价值观目标:1. 培养学生对数字电路设计的兴趣,激发学生的创新意识和探索精神;2. 培养学生严谨、细致的学习态度,树立良好的工程伦理观念;3. 增强学生的国家意识,认识到我国在集成电路领域的发展现状和重要性,激发学生的爱国情怀;4. 引导学生树立正确的价值观,认识到科技进步对国家和社会发展的贡献。

本课程针对高年级学生,以项目为导向,注重理论与实践相结合。

在教学过程中,教师需关注学生的学习特点,充分调动学生的主观能动性,培养学生的实际操作能力和创新能力。

课程目标旨在使学生能够掌握Verilog HDL的基本知识和技能,为今后在集成电路设计和开发领域的发展奠定基础。

通过本课程的学习,学生将能够独立完成数字电路的设计和实现,为我国集成电路产业的发展贡献自己的力量。

二、教学内容1. Verilog HDL基础语法:包括数据类型、运算符、赋值语句、控制结构等,对应教材第一章内容;2. 数字电路设计原理:介绍组合逻辑电路和时序逻辑电路设计方法,对应教材第二章内容;3. Verilog HDL模块化设计:学习模块定义、端口声明、模块调用等,对应教材第三章内容;4. 常用数字电路设计实例:分析并实践触发器、计数器、状态机等设计,对应教材第四章内容;5. 仿真与调试技巧:掌握ModelSim仿真工具的使用,学习代码调试和优化方法,对应教材第五章内容;6. FPGA硬件编程:了解FPGA基本原理,学习将Verilog HDL代码烧写到FPGA开发板,对应教材第六章内容;7. 项目实践:分组进行项目设计,包括数字信号处理系统、通信系统等,综合运用所学知识,对应教材第七章内容。

第四章Verilog-HDL设计初步

第四章Verilog-HDL设计初步
Verilog HDL 设计初步
.
组合电路
4.1.1 4选1多路选择器及其Verilog HDL描述1
.
4.1.1 4选1多路选择器及其Verilog HDL描述1
.
4.1.1 4选1多路选择器及其Verilog HDL描述1
.
4.1.1 4选1多路选择器及其Verilog HDL描述1
.
4.1.2 4选1多路选择器及其Verilog HDL描述2
.
4.1.5 简单加法器及其Verilog HDL描述 1. 半加器描述
.
4.1.5 简单加法器及其Verilog HDL描述 1. 半加器描述
.
2. 全加器顶层文件设计
.
2. 全加器顶层文件设计
Verilog中元件例化语句的结构比较简单,一般格式如下: <模块元件名>: <例化元件名> ( .例化元件端口(例化元件外接端口名),...);
.
4.2.3 含异步清0和时钟使能结构的D触发器及其Verilog描述
.
4.2.4 含同步清0结构的D触发器及其Verilog描述
.
4.2.4 含同步清0结构的D触发器及其Verilog描述
.
4.2.5 含异步清0的锁存器及其Verilog描述
.
4.2.5 含异步清0的锁存器及其Verilog描述
.
4.2.6 Verilog的时钟过程描述注意点
.
4.2.6 Verilog的时钟过程描述注意点
.
4.2.7 异步时序电路
.
4.2.7 异步时序电路
.
4.3.1 4位二进制加法计数器及其Verilog描述
.
4.3.1 4位二进制加法计数器及其Verilog描述

基于Verilog_HDL的乐曲演奏电路设计

基于Verilog_HDL的乐曲演奏电路设计

1 引言随着EDA技术的进展,基于可编程的数字电子系统设计的完整方案越来越受到人们的重视。

与利用微处理器(CPU或MCU)来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。

如何使用EDA工具设计电子系统是人们普遍关心的问题。

本课程设计主要是采用FPGA器件驱动小扬声器构成一个乐曲演奏电路,FPGA器件选择Altera的EPF10K10,在MAX + plusⅡ的EDA软件平台上,实现了乐曲演奏电路的设计。

1.1 课程设计的目的本课程设计主要是基于Verilog HDL设计乐曲演奏电路,系统实现是用硬件描述语言Verilog HDL按分频控制的方式进行设计,然后进行编程、时序仿真、电路功能验证,奏出美妙的乐曲。

该设计的目的在于加深对EDA技术的理解,掌握乐曲演奏电路的工作原理,了解怎样控制音调的高低变化和音长,从而完成乐曲的自动循环演奏。

1.2 课程设计的要求本课程设计中由于每一个音调对应不同的频率,从而输出对应频率的声音。

因此本设计要求通过控制输出到扬声器的激励信号频率的高低和持续的时间,从而使扬声器发出连续的乐曲声,且当乐曲演奏完成时,保证能自动从头开始演奏。

1.3 设计平台MAX + plusⅡ是美国Altera 公司的一种EDA 软件,用于开发CPLD 和FPGA 进行数字系统的设计。

2 应用工具介绍作为当今最流行的计算机软件系统,EDA技术是以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

EDA可提供文本输入以及图形编辑的方法将设计者的意图用程序或者图形方式表达出来,而我们经常用到的VHDL语言便是用于编写源程序所需的最常见的硬件描述语言(HDL)之一。

2.1 EDA技术介绍EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来。

VerilogHDL可综合设计举例讲课教案

VerilogHDL可综合设计举例讲课教案
图7-18 两只老虎的简谱
7.4 乐曲硬件演奏电路设计
扩展部分 :
1)填入新的乐曲,如“梁祝”、或其它熟悉的乐曲。操作步骤如 下:
a、根据所填乐曲可能出现的音符,修改例7-11的音符数据,同时 注意每一音符的节拍长短;
b、如果乐曲比较长,可增加模块NOTETABA中计数器的位数,如 9位时可达512个基本节拍。
hour counter
minute counter
second counter
millisecond counter
millisecond pusle
clk
reset pause
7.5 数字跑表和数字钟设计
图7-22 数字钟顶层模块设计
7.5 数字跑表和数字钟设计
图7-23 仿真波形
7.5 数字跑表和数字钟设计
7.2 8位数码扫描显示电路设计
设计要求:
共8个数码管,连成一排,要求可以任意显示其中一个 或多个数码管。具体要求如下:
(1)依次选通8个数码管,并让每个数码管显示相应的 值,比如:让每个数码管依次显示13579BDF。
(2)要求能在实验台上演示出数码管的动态显示过程。
7.2 8位数码扫描显示电路设计
7.3 数控分频器的设计
设计要求:
(1)对于任意频率可以实现数控分频; (2)对于预定频率,均可以通过分频得到。
7.3 数控分频器的设计
图7-10 分频器模块端口框图
7.3 数控分频器的设计
图7-11 数控分频器的仿真结果
7.3 数控分频器的设计
图7-12 引脚锁定
7.3 数控分频器的设计
(2)在一个ROM装上多首歌曲,可手动或自动选择歌曲 。 (3)结合本实验,读者可以查阅电子琴相关知识并设计一个简易 电子琴。 (4)例7-8中的进程DelaySpkS对扬声器发声有什么影响? 在电路 上应该满足哪些条件,才能用数字器件直接输出的方波驱动扬声器发 声?

《EDA技术应用》实验与课程设计要求

《EDA技术应用》实验与课程设计要求

《EDA技术应用》实训(Verilog HDL)基础实验内容实验一多路选择器设计实验P111实验二计数器设计实验P138实验三8位加法器设计实验P111实验四正弦信号发生器设计P194实验五序列检测器设计P278课程设计题目项目一:应用宏模块设计数字频率计P134实验目的:熟悉原理输入法中74系列等宏功能元件的使用方法,掌握原理图层次化设计技术和数字系统设计方法,完成6位十进制频率计的设计。

实验原理:1、2位十进制计数器设计2、频率计主结构电路设计3、时序控制电路设计实验任务1:首先根据以上的原理说明,完成2位频率计的设计,包括各模块和顶层系统的仿真测试,然后进行硬件测试。

实验任务2:设计一个全新的电路,能取代图5-39电路的功能,仿真并硬件测试。

实验任务3:建立一个新的原理图设计层次,在此基础上将其扩展为6位频率计,仿真测试该频率计待测信号的最高频率,并与硬件实测的结果进行比较。

实验报告:给出各层次的原理图、工作原理、仿真波形,详述硬件实验过程和实验结果。

项目二:不同类型的移位寄存器设计P141实验目的:学习设计不同类型的移位寄存器。

实验任务1:参考5.3节,首先在Quartus II上分别对例5-16和例5-17给出的移位寄存器进行仿真,然后在FPGA上进行硬件测试。

实验任务2:用Verilog分别设计并进串出/并出型、串进串出/并出型8位移位寄存器。

给出仿真波形和功能说明,然后在FPGA上进行硬件测试。

实验任务3:用移位操作符设计一个纯组合电路的8位移位器。

要求能控制移位方向和移位位数,以及移位显示,如移空位用1填补的方式,或不同循环移位方式等。

实验报告:给出各层次的原理图、工作原理、仿真波形,详述硬件实验过程和实验结果。

项目三:移位相加型8位硬件乘法器设计P158项目四:半整数与奇数分频器设计P159项目五:基于Verilog代码的频率计设计P161项目六:简易逻辑分析仪设计P195项目七:直流电机综合测控系统设计P222项目八:乐曲硬件演奏电路设计P225项目九:ADC采样控制电路设计P278项目十:DDS正弦信号发生器设计P196项目十一:移相信号发生器设计P197项目十二:自选设计题(可参考《EDA实验教程》或其他书籍或网络上找)如电子抢答器设计、电子秒表电路设计、交通控制器的设计、电子密码锁的设计、数字时钟设计、简易逻辑分析仪设计、数控分频器设计、函数信号发生器的设计(多种波形)、SPWM脉宽调制控制系统设计……关于选题:可独立选题,亦可组成互助小组,但每选题每班不能超过2人,互助小组要根据对选题的贡献排序。

梁祝基于Verilog_HDL的演奏设计说明

梁祝基于Verilog_HDL的演奏设计说明

设计题目:“梁祝乐曲发生器”一、设计任务及要求:利用EDA/SOPC实验开发平台提供的16*16点阵LED以及EP2C35核心板,实现“梁祝”乐曲发生器。

1、查阅相关资料,明确设计步骤;2、采用Verilog HDL编程语言设计程序;3、能够按照设定节拍(每拍持续1s)顺畅的播放“梁祝”乐曲并且听着基本无错;4、扩张要求:自主设计(如快放、倒放、换歌等)。

二、设计原理及方案乐曲播放器的基本原理是,一个音符对应一个频率信号。

频率的高低决定了音调的高低。

音乐的十二个平均率规定:每两个八度音之间的频率相差一倍。

在两个八度音之间又可以分为十二个半音,每两个半音的频率比为2.另外,音名A(简谱中的低音6)的频率为440HZ,音名B到C之间、E到F之间为半音,其余为全音。

由此可以计算出简谱中从低音1至高音1之间每个音名对应的频率,;利用高低音如下关系可得下表:低8度音:基本音频率/2 , 例如低音1的频率为523/2=261.5;高8度音:基本音频率×2,例如高音1的频率为523×2=1046音符与频率的对应关系如下音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定。

本设计中将全音的持续时间设为1s,提供的4Hz的时钟频率即可产生四分音符的时长。

控制音长通过控制计数器预置数的停留时间来实现的,预置数停留的时间越长,则该音符演奏的时间也就越长。

每个音符的演奏时间都是0.25s的整数倍,对于节拍较长的音符,如二分音符,在记谱时将该音名联系记录两次即可。

对照以上规则可编制乐谱的程序。

为了减小输出的偶次谐波分量,最后输出到扬声器上的波形应为对称方波,因此在扬声器之前有一个二分频的分频器。

为了使演奏能循环进行,需另外设置一个时长计数器,当乐曲演奏完成时,保证能自动从头开始演奏!综上所述编制“梁祝”乐曲发生器需要编制分频器、11为计数器、乐谱等部分,综合以上各功能即可实现乐曲发生器。

三、电路设计与实现电路原理图如下:1、外部输入脉冲信号时钟源(50Mhz)经分频器输出4Hz、1Mhz的脉冲信号,分别供控制器和受控器使用。

乐曲演奏硬件电路设计报告

乐曲演奏硬件电路设计报告

乐曲硬件演奏电路设计一、设计任务要求在EDA开发平台上利用VHDL语言设计数控分频器电路,利用数控分频的原理设计乐曲硬件演奏电路,并定制LPM-ROM存储音乐数据,以古典名曲“梁祝”乐曲为例,将音乐数据存储到LPM-ROM,就达到了以纯硬件的手段来实现乐曲的演奏效果。

与利用微处理器来实现乐曲演奏相比,一纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。

二、系统设计总述系统设计由以下五个部分组成,分别是乐曲演奏电路基本原理,音符频率的获得,乐曲节奏的控制,乐谱发生器,乐曲演奏电路总体设计流程这五个部分。

乐曲演奏电路基本原理硬件电路的发声原理是,因为声音的频谱范围约在几十到几千赫兹,若能利用程序来控制FPGA芯片某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。

乐曲中的每一音符对应着一个确定的频率,要想FPGA发出不同音符的音调,实际上只要控制它输出相应音符的频率即可。

乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调。

不过要准确地演奏出一首乐曲,仅仅让扬声器能够发生还是不够的,还必须准确地控制乐曲的演奏节奏,就是指乐曲能够连续演奏的两个关键因素:乐曲中每个音符的发声频率及其持续时间。

音符频率的获得多个不同频率的信号可通过对某个基准频率进行分频获得。

由于各个音符的频率多为非整数,而分频系数又不能为小数,故必须将计算机得到的分频系数四舍五入取整。

若基准频率过低,则分频系数过小,四舍五入取整后的误差较大。

若基准频率过高,虽然可以减少频率的相对误差,但分频结构将变大。

实际上应该综合考虑这两个方面的因素,在尽量减少误差的前提下,选取合适的基准频率。

本设计中选取750KHz的基准频率。

由于现有的高频时钟脉冲信号的频率为12MHz,故需先对其进行16分频,才能获得750KHz的基准频率。

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

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

课程设计名称:乐曲硬件演奏电路设计一、设计要求:利用数控分频器设计硬件乐曲演奏电路二、所用设备:计算机、MaxplusⅡ、下载实验箱(ZY11EDA13BE)三、设计原理:主系统由三个模块组成,其内部有三个功能模块:TONETABA.VHD、NOTABS.VHD和SPEAKERA.VHD。

本设计项目作为“梁祝”乐曲演奏电路的实现。

①组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素,问题是如何来获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果音符的频率由U3---Speakera获得,这是一个数控分频器。

由其时钟信号输入端clk输入一具有较高频率(这里是12MHz)的信号,通过Speakera 分频后由SPKOUT输出,由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲式信号,为了有利于驱动扬声器,需另加一个D触发器以均衡其占空比,但这时的频率将是原来的1/2。

Speakera对clk输入信号的分频比由11位预置数Tone[10...0]决定。

SPKOUT的输出频率将决定每一音符的音调,这样分频计数器的预置值Tone[10...0]与SPKOUT的输出频率就有了对应关系。

例如在ToneTaba模块中若取Tone[10...0]=1036,将发出音符为“3”音的信号频率。

②音符的持续时间需根据乐曲的速度及每个音符的接拍数来确定,模块ToneTaba的功能首先是为Speakera提供决定所发音符的分频预置数,而此数在Speakera输入口停留的时间即为此音符的节拍值。

模块ToneTaba是乐曲简谱码对应的分频预置数查表电路,其中设置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块NoteTabs 的clk的输入频率决定,在此为4Hz。

这13个值的输出由对应于ToneTaba的4位输入值Index[3...0]确定,而Index[3...0]最多有16种可选值。

EDA 课程设计——乐曲演奏电路

EDA 课程设计——乐曲演奏电路

出题教师:李天倩乐曲演奏电路一、 设计简要说明:用FPGA 器件驱动蜂鸣器演奏“梁祝”片段。

一首乐曲包含三个要素:乐曲声音频率,发音时间的长短,停顿的时间。

按照图1乐谱,设计相应电路控制speaker 信号的方波频率,某一频率持续时间长短,各频率间间隔大小,就可以推动蜂鸣器演奏乐曲。

图1 “梁祝”片段乐谱电路功能模块为:1、用分频电路产生不同频率方波;2、利用计数器实现speaker 信号频率选择,某一频率持续时间长短,各频率间间隔大小。

详细内容见教材《数字系统设计与Verilog HDL 》(第三版)P208相关内容。

二、 源代码及说明(参考)//"梁祝"乐曲演奏电路 //信号定义与说明: //clk_4Hz : 用于控制音长(节拍)的时钟频率; //clk_6MHz : 用于产生各种音阶频率的基准频率; //speaker : 用于激励扬声器的输出信号,本例中为方波信号;//high,med,low : 分别用于显示高音、中音和低音音符,各驱动一个数码管来显示。

module song(clk_6MHz,clk_4Hz,speaker ,high,med,low); input clk_6MHz,clk_4Hz; output speaker;output[3:0] high,med,low; reg speaker;reg[3:0] high,med,low; reg[7:0] counter;reg[13:0] divider ,origin; wire carry;assign carry=(divider==16383); always @(posedge clk_6MHz) begin if(carry) divider<=origin; else divider<=divider+1; endalways @(posedge carry)begin speaker<=~speaker;end //2分频产生方波信号356215521 6 1 3 56 52365132651 6 16 57always @(posedge clk_4Hz)begin case({high,med,low}) //分频比预置'b000000000011: origin<=7281;'b000000000101: origin<=8730;'b000000000110: origin<=9565;'b000000000111: origin<=10310;'b000000010000: origin<=10647;'b000000100000: origin<=11272;'b000000110000: origin<=11831;'b000001010000: origin<=12556;'b000001100000: origin<=12974;'b000100000000: origin<=13516;'b000000000000: origin<=16383;endcaseendalways @(posedge clk_4Hz)beginif(counter==63) counter<=0; //计时,以实现循环演奏else counter<=counter+1;case(counter) //记谱0: {high,med,low}<='b000000000011; //低音"3"1: {high,med,low}<='b000000000011; //持续4个时钟节拍2: {high,med,low}<='b000000000011;3: {high,med,low}<='b000000000011;4: {high,med,low}<='b000000000101; //低音"5"5: {high,med,low}<='b000000000101; //发3个时钟节拍6: {high,med,low}<='b000000000101;7: {high,med,low}<='b000000000110; //低音"6"8: {high,med,low}<='b000000010000; //中音"1"9: {high,med,low}<='b000000010000; //发3个时钟节拍10: {high,med,low}<='b000000010000;11: {high,med,low}<='b000000100000; //中音"2"12: {high,med,low}<='b000000000110; //低音"6"13: {high,med,low}<='b000000010000;14: {high,med,low}<='b000000000101;15: {high,med,low}<='b000000000101;16: {high,med,low}<='b000001010000; //中音"5"17: {high,med,low}<='b000001010000; //发3个时钟节拍18: {high,med,low}<='b000001010000;19: {high,med,low}<='b000100000000; //高音"1"20: {high,med,low}<='b000001100000;21: {high,med,low}<='b000001010000;22: {high,med,low}<='b000000110000;23: {high,med,low}<='b000001010000;24: {high,med,low}<='b000000100000; //中音"2"25: {high,med,low}<='b000000100000; //持续11个时钟节拍26: {high,med,low}<='b000000100000;27: {high,med,low}<='b000000100000;28: {high,med,low}<='b000000100000;29: {high,med,low}<='b000000100000;30: {high,med,low}<='b000000100000;31: {high,med,low}<='b000000100000;32: {high,med,low}<='b000000100000;33: {high,med,low}<='b000000100000;34: {high,med,low}<='b000000100000;35: {high,med,low}<='b000000110000; //中音"3"36: {high,med,low}<='b000000000111; //低音"7"37: {high,med,low}<='b000000000111;38: {high,med,low}<='b000000000110; //低音"6"39: {high,med,low}<='b000000000110;40: {high,med,low}<='b000000000101; //低音"5"41: {high,med,low}<='b000000000101;42: {high,med,low}<='b000000000101;43: {high,med,low}<='b000000000110; //低音"6"44: {high,med,low}<='b000000010000; //中音"1"45: {high,med,low}<='b000000010000;46: {high,med,low}<='b000000100000; //中音"2"47: {high,med,low}<='b000000100000;48: {high,med,low}<='b000000000011; //低音"3"49: {high,med,low}<='b000000000011;50: {high,med,low}<='b000000010000; //中音"1"51: {high,med,low}<='b000000010000;52: {high,med,low}<='b000000000110;53: {high,med,low}<='b000000000101; //低音"5"54: {high,med,low}<='b000000000110;55: {high,med,low}<='b000000010000; //中音"1"56: {high,med,low}<='b000000000101; //低音"5"57: {high,med,low}<='b000000000101; //持续8个时钟节拍58: {high,med,low}<='b000000000101;59: {high,med,low}<='b000000000101;60: {high,med,low}<='b000000000101;61: {high,med,low}<='b000000000101;62: {high,med,low}<='b000000000101;63: {high,med,low}<='b000000000101;endcaseendendmodule三、仿真结果四、硬件测试实验开发板(教改项目完成后可以提供相应平台)乐曲需要现场听五、思考题(指导教师根据学生完成思考题情况酌情加分)1、补完整个乐曲。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Verilog HDL课程设计-多路选择器设计与乐曲硬件演奏电路设计Verilog HDL课程设计,多路选择器设计与乐曲硬件演奏电路设计,目录1.绪论 ..................................................................... (1)1.1 EDA介绍 ..................................................................... (1)1.2 FPGA介绍...................................................................... . (1)1.3 Verilog HDL硬件描述语言 ..................................................................... .. (2)1.3.1 Verilog HDL硬件描述语言介绍 (2)1.3.2 Verilog HDL功能 ..................................................................... ................ 2 1.4. Quartus II 9.0介绍 ..................................................................... (3)1.4.1 Quartus II 9.0安装...................................................................... (3)1.4.2 Quartus II 9.0破解...................................................................... ................ 52.多路选择器的设计 ..................................................................... (6)2.1设计要求 ..................................................................... . (6)2.2设计原理框图 ..................................................................... (6)2.3硬件原理图 ..................................................................... . (7)2.4程序设计 ..................................................................... . (7)2.5.仿真结果 ..................................................................... . (8)2.6.引脚锁定如下 ..................................................................... (8)2.7.分析报告 ..................................................................... ........................................ 9 3.乐曲硬件演奏电路设计 ..................................................................... .. (9)3.1设计要求 ..................................................................... . (9)3.2设计原理 ..................................................................... . (9)3.3设计原理框图 ..................................................................... (9)3.4硬件原理图 ..................................................................... .. (10)3.4程序设计 ..................................................................... .. (10)3.5.仿真结果及分析 ..................................................................... .............................11 5.论文总结 ..................................................................... .. (122)参考文献...................................................................... .. (13)1.绪论1.1 EDA介绍EDA电子设计自动化是Electronic Design Automation的简称~从20世纪60年代中期发展开始至今~已经取得了飞跃性的进步~在电子技术设计领域~可编程逻辑器件,如CPLD、FPGA,的应用~已经非常普及~这些可编程逻辑器件为数字系统的设计带来了相当大的灵活性。

这些器件可以通过软件编程而对其硬件结构和工作方式进行重构和改变~这就使得硬件的设计可以如同软件设计那样方便快捷效率高~可编程逻辑器件加快了EDA技术的发展~在现代社会~尤其是电子信息科技行业发展突飞猛进~在化工、机械、电子、通信、医学、航空航天、矿产、生物、军事等各个领域都有EDA的广泛应用~相信在为了社会EDA技术会发展的更加发达。

1.2 FPGA介绍FPGA是Field,Programmable Gate Array的简称~即现场可编程门阵列~它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路,ASIC,领域中的一种半定制电路而出现的~既解决了定制电路的不足~又克服了原有可编程器件门电路数有限的缺点。

FPGA采用了逻辑单元阵列~内部包括可配臵逻辑模块、输出输入模块和内部连线三个部分。

FPGA具有一些重要的特点~例如:采用FPGA设计ASIC电路(专用集成电路)~用户不需要投片生产~就能得到合用的芯片,FPGA可做其它全定制或半定制ASIC电路的中试样片,FPGA内部有丰富的触发器和I,O引脚,FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一,FPGA采用高速CHMOS工艺~功耗低~可以与CMOS、TTL电平兼容。

所以可以这么认为~FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

FPGA是由存放在片内RAM中的程序来设臵其工作状态的~因此~工作时需要对片内的RAM进行编程。

用户可以根据不同的配臵模式~采用不同的编程方式。

加电时~FPGA芯片将EPROM中数据读入片内编程RAM中~配臵完成后~FPGA进入工作状态。

掉电后~FPGA恢复成白片~内部逻辑关系消失~因此~FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器~只须用通用的EPROM、PROM编程器即可。

当需要修改FPGA功能时~只需换一片EPROM即可。

这样~同一片FPGA~不同的编程数据~可以产生不同的电路功能。

因此~FPGA的使用非常灵活。

11.3 Verilog HDL硬件描述语言1.3.1 Verilog HDL硬件描述语言介绍本文的程序采用Verilog HDL硬件描述语言~Verilog HDL硬件描述语言时目前应用最广泛的硬件描述语言~Verilog HDL可以用来进行各种层次的逻辑设计~也可以进行数字系统的逻辑综合~仿真验证和时序分析等。

Verilog HDL适合算法级~寄存器级~逻辑级~门级和版图级等各个层次的设计和描述。

本文就是基于FPGA~产生PWM波形~通过Verilog HDL语言编程实现电机的运转控制的。

1.3.2 Verilog HDL功能Verilog HDL典型的功能~基本逻辑门~例如a n d、o r和n a n d等都内臵在语言中。

用户定义原语, U D P,创建的灵活性。

用户定义的原语既可以是组合逻辑原语~也可以是时序逻辑原语。

开关级基本结构模型~例如p m o s 和n m o s等也被内臵在语言中。

提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。

可采用三种不同方式或混合方式对设计建模。

这些方式包括:行为描述方式—使用过程化结构建模,数据流方式—使用连续赋值语句方式建模,结构化方式—使用门和模块实例语句描述建模。

Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型。

线网类型表示构件间的物理连线~而寄存器类型表示抽象的数据存储元件。

能够描述层次设计~可使用模块实例结构描述任何层次。

设计的规模可以是任意的,语言不对设计的规模,大小,施加任何限制。

Verilog HDL不再是某些公司的专有语言而是I E E E标准。

人和机器都可阅读Verilog 语言~因此它可作为E D A的工具和设计者之间的交互语言。

Verilog HDL语言的描述能力能够通过使用编程语言接口, P L I,机制进一步扩展。

P L I 是允许外部函数访问Verilog 模块内信息、允许设计者与模拟器交互的例程集合。

设计能够在多个层次上加以描述~从开关级、门级、寄存器传送级, RT L,到算法级~包括进程和队列级。

能够使用内臵开关级原语在开关级对设计完整建模。

同一语言可用于生成模拟激励和指定测试的验证约束条件~例如输入值的指定。

Verilog HDL 能够监控模拟验证的执行~即模拟验证执行过程中设计的值能够被监控和显示。

这些值也能够用于与期望值比较~在不匹配的情况下~打印报告消息。

在行为级描述中~ Verilog HDL不仅能够在RT L级上进行设计描述~而且能够在体系结构级描述及其算法级行为上进行设计描述。

相关文档
最新文档