版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Verilog HDL课程设计(多路选择器设计与乐曲硬件演奏电路设计)目录1.绪论11.1 EDA介绍11.2 FPGA介绍21.3 Verilog HDL硬件描述语言21.3.1 Verilog HDL硬件描述语言介绍21.3.2 Verilog HDL功能31.4. Quartus II 9.0介绍41.4.1 Quartus II 9.0安装41.4.2 Quartus II 9.0破解52.多路选择器的设计72.1设计要求72.2设计原理框图72.3硬件原理图82.4程序设计82.5.仿真结果82.6.引脚锁定如下92.7.分析报告103.乐曲硬件演奏电路设计103.1设计要求103.
2、2设计原理103.3设计原理框图103.4硬件原理图113.4程序设计113.5.仿真结果及分析125.论文总结12参考文献131.绪论1.1 EDA介绍EDA电子设计自动化是Electronic Design Automation的简称,从20世纪60年代中期发展开始至今,已经取得了飞跃性的进步,在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已经非常普及,这些可编程逻辑器件为数字系统的设计带来了相当大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构和改变,这就使得硬件的设计可以如同软件设计那样方便快捷效率高,可编程逻辑器件加快了EDA技术的发展,在现代社
3、会,尤其是电子信息科技行业发展突飞猛进,在化工、机械、电子、通信、医学、航空航天、矿产、生物、军事等各个领域都有EDA的广泛应用,相信在为了社会EDA技术会发展的更加发达。1.2 FPGA介绍FPGA是FieldProgrammable Gate Array的简称,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列,内部包括可配置逻辑模块、输出输入模块和内部连线三个部分。FPGA具有一些重要的特点,例如
4、:采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片;FPGA可做其它全定制或半定制ASIC电路的中试样片;FPGA内部有丰富的触发器和IO引脚;FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一;FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。所以可以这么认为,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程R
5、AM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。1.3 Verilog HDL硬件描述语言1.3.1 Verilog HDL硬件描述语言介绍本文的程序采用Verilog HDL硬件描述语言,Verilog HDL硬件描述语言时目前应用最广泛的硬件描述语言,Verilog HDL可以用来进行各种层次的逻辑
6、设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。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等也被内置在语言中。 提供显式语言结构指定设计中的端口到端口
7、的时延及路径时延和设计的时序检查。 可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式使用过程化结构建模;数据流方式使用连续赋值语句方式建模;结构化方式使用门和模块实例语句描述建模。 Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。能够描述层次设计,可使用模块实例结构描述任何层次。 设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。Verilog HDL不再是某些公司的专有语言而是I E E E标准。人和机器都可阅读Verilog 语言,因此它可作为E D A的工具和设计者之间
8、的交互语言。Verilog HDL语言的描述能力能够通过使用编程语言接口( P L I)机制进一步扩展。P L I是允许外部函数访问Verilog 模块内信息、允许设计者与模拟器交互的例程集合。 设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级( RT L)到算法级,包括进程和队列级。能够使用内置开关级原语在开关级对设计完整建模。 同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。 Verilog HDL 能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。 在行为级描述中, Veri
9、log HDL不仅能够在RT L级上进行设计描述,而且能够在体系结构级描述及其算 法级行为上进行设计描述。 能够使用门和模块实例化语句在结构级进行结构描述。 在Verilog HDL 的混合方式建模能力,即在一个设计中每个模块均可以在不同设计层次上建模。 Verilog HDL 还具有内置逻辑函数,例如&(按位与)和|(按位或)。对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用。可以显式地对并发和定时进行建模。 提供强有力的文件读写能力。 1.4. Quartus II 9.0介绍1.4.1 Quartus II 9.0安装所需安装包如下图,解压缩之后如图所示然后
10、打开文件90_quartus_windows.exe,选择解压路径,90_quartus_windows.exe解压后如图所示,打开setup.exe开始安装,安装过程如下图所示 :(1)(2)选择第一个。(3)(4)选择路径,安装路径不能出现中文及空格,字母、数字、下划线,然后Next。(5)(6)选Complete完整版安装。(7)安装完成后点击Finish完成安装。1.4.2 Quartus II 9.0破解破解过程如下图所示(1)(2)首先,把电脑联网,然后把用不到的网卡禁用,然后在当前使用的网络上右键选择“状态”“详细信息”记下物理地址。(3) 然后打开CRACK文件夹,把
11、破解器的exe拷贝到安装目录下的quartus文件夹的bin文件夹中,然后双击打开。如图所示(4) 点击“应用补丁”,然后保存在默认目录下,成功后退出(5)在 安装目录下的quartus文件夹的bin文件夹中找到license.DAT文件,找到后用记事本打开它,把两处“XXXXXXXXXXXX”换为前面提到的“网卡的物理地址”,再把最后面的两行汉字去掉,保存、关闭,如图所示,破解完成。2.多路选择器的设计2.1设计要求具有6个输入端口 A、B、C、D、S1、SO,A、B、C、D均为输入端口,位宽为1;Sl、S0为通道选择控制信号端,位宽为1;Y为输出端口,位宽为1。当S1S
12、0为“00”时,A的数据从Y输出,S1S0为“01”时,B的数据从Y输出,S1S0为“10”时,C的数据从Y输出,S1S0为“11”时,D的数据从Y输出。2.2设计原理框图其中输入数据端口为a、b、c、d,s1、s2为控制信号,Y为输出。令s1s2=“00”时,输出Y=a;令s1s2=“01”时,输出Y=b; 令s1s2=“10”时,输出Y=c;令s1s2=“11 时,输出Y=d2.3硬件原理图2.4程序设计多路选择器的程序设计如图所示module MUX41a (A,B,C,D,S1,S0,Y);input A,B,C,D,S1,S0;output
13、 Y;reg 1:0 SEL;reg Y;always (A,B,C,D,SEL) beginSEL = S1,S0;if (SEL=0) Y = A;else if (SEL=1) Y = B;else if (SEL=2) Y = C;else Y = D;endendmodule2.5.仿真结果由原理图,利用QuartusII软件对其进行仿真,仿真图如下:仿真测试如下:(1)打开波形编辑器选择File->new,选择vector waveform file。(2)设定仿真时间区域在Edit->end time,在弹出的窗口time栏处输入50,单位选“us”。(3)波形文件存
14、盘,默认文件名为MUX41.vwf(4)将此工程MUX41的端口信号名选入波形编辑器中View->utility windows项的Node Finder选项。点击“list”。(5)将端口信号名拖入波形编辑器中,拖完信号后可以关掉浮动窗口(6)按键盘上“CTRL+W”,显示全部仿真时间区域。(7)编辑输入波形(输入激励信号)(8) 仿真器参数设置 (9)启动仿真器。提示是否保存,选择“是”,仿真成功后选“确定”。(10) 观察仿真结果 2.6.引脚锁定如下2.7.分析报告由4选1多路选择器的时序波形图可知,程序的功能符合设计要求。当S1S0为“00”时,A的数据从Y输出,S1S0为“0
15、1”时,B的数据从Y输出,S1S0为“10”时,C的数据从Y输出,S1S0为“11”时,D的数据从Y输出。系统演示时,分别按下或放开键K1、K2,蜂鸣器发出四种不同的声音。3.乐曲硬件演奏电路设计3.1设计要求(1)定制音符数据ROM MUSIC。(2)通过联合测试模块F_CODE和SPKER,进一步确认F_CODE中的音符预置数的精确性。3.2设计原理组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和持续的时间,就可以使扬声器发出连续的乐曲声3.3设计原理框图3.4硬件原理图3.4程序设计音乐电路的程序如
16、下所示(1)数控分屏器模块程序module SPKER (CLK,TN,SPKS); input CLK;input10:0 TN;output SPKS; reg SPKS;reg10:0 CNT11; always (posedge CLK) begin:CNT11B_LOADif (CNT11=11h7FF) begin CNT11=TN;SPKS<1b1; endelse begin CNT11=CNT11+1; SPKS<=1b0; endendendmodule(2)译码电路,查表方式,控制音调的预置程序module F_CODE(INX,CODE,H,TO); inp
17、ut3:0 INX;output3:0 CODE;output H;output10:0 T0; reg10:0 T0; reg3:0 CODE; reg H;always (INX) case(INX)0:begin T0<=11H7FF;CODE<=0;H<=0;end1:begin T0<=11H305;CODE<=1;H<=0;end2:begin T0<=11H390;CODE<=2;H<=0;end3:begin T0<=11H40C;CODE<=3;H<=0;end4:begin T0<=11H45C;
18、CODE<=4;H<=0;end5:begin T0<=11H4AD;CODE<=5;H<=1;end6:begin T0<=11H50A;CODE<=6;H<=1;end7:begin T0<=11H55C;CODE<=7;H<=1;end8:begin T0<=11H582;CODE<=1;H<=1;end9:begin T0<=11H5C8;CODE<=2;H<=1;end10:begin T0<=11H606;CODE<=3;H<=1;end11:begin T0&l
19、t;=11H640;CODE<=4;H<=1;end12:begin T0<=11H656;CODE<=5;H<=1;end13:begin T0<=11H684;CODE<=6;H<=1;end14:begin T0<=11H69A;CODE<=7;H<=1;end15:begin T0<=11H6C0;CODE<=1;H<=1;end default:begin T0<=11HC60;CODE<=1;H<=1; endendcase end endmodule(3)音符数据地址发生器程序:
20、module CNT138T (CLK, CNT8); input CLK; output7:0 CNT8 ; reg7:0 CNT; wire LD; always (posedge CLK or posedge LD ) begin if (LD) CNT <= 8'b00000000 ; else CNT <= CNT + 1 ; end assign CNT8=CNT; assign LD=(CNT = 138) ;endmodule3.5.仿真结果及分析(1)数控分屏器模块仿真此波形仿真分析比较复杂,如果由于输入型号为12MHz,其中的分频系数比较大,如果直接用该
21、模块城西进行仿真可能导致仿真时间过长而失败,因此更改程序,减小其分频系数,同样能说明问题,在此,我将12为的预置初值改为3位,得到如上的仿真波形图,可发现在TN给出不同的预置初值时的分频效果,仔细细数一下,发现数控分频功能完全正确。 (2)译码电路,查表方式,控制音调的仿真由波形可看出,当输入信号index为00110时,code显示6(即中音6),预置初值为101010111000,查询上文所列的表,可发现功能完全正确。(3)音符数据地址发生器仿真由波形可以看出,CLK为输入时钟信号,八位输出二进制信号在每个时钟上升沿加一。地址发生器模块设置了一个8位二进制计数,作为音符数据ROM的地址发生器,每来一个时钟脉冲信号(CLK),8位二进制计数器就计数一次,ROM文件中的地址也就随着递增,音符数据ROM中的音符也就一个接一个的取出来了。经分析,该模块功能完全正确。 5.论文总结在本次课程设计中,我们完成了四选一多路选择器以及乐曲硬件演奏电路的设计,通过本次课程设计,我了解了一个新的软件Quartus II 9.0,掌握了该软件的安装及破解方法,同时,对V
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年全国初级银行从业资格之初级风险管理考试快速提分题附答案
- 2026年软考《信息系统项目管理师》真题及答案
- 2026年注册土木工程师(水利水电)之专业基础知识考试练习题库包及答案
- 水上活动场所雷电灾害防御培训讲义
- 人工智能应用工程师性能调优规范
- 园区消防设施日常巡检作业SOP
- 小学四年级综合实践活动《风筝的故事》项目化教学设计
- 高中一年级化学教学设计:乙烯乙醇乙酸性质与塑料橡胶纤维串联复习
- 初中地理九年级中考一轮复习《日本、印度、俄罗斯》教学设计
- 六年级下册科学相貌各异的我们遗传变异探究教学设计
- 第一单元第一课我们走在大路上(课件)-初中美术湘美版七年级上册
- 《骨关节健康科普》课件
- 雷雨剧本文件完整版电子书下载
- 2025年浙江中新嘉善现代产业园开发有限公司招聘笔试题库含答案解析
- 2021年学校节水教育宣传制度
- 南瑞继保在线测评题库
- 柴油发电机操作培训
- 中建企业定额2023版
- 2024北京低碳清洁能源研究院招聘笔试参考题库附带答案详解
- 市政道路工程进度计划横道图
- 水泥路面灌缝施工方案
评论
0/150
提交评论