广东工业大学eda课程设计报告-FPGA(现场可编程门阵列)芯片的设计实践_第1页
广东工业大学eda课程设计报告-FPGA(现场可编程门阵列)芯片的设计实践_第2页
广东工业大学eda课程设计报告-FPGA(现场可编程门阵列)芯片的设计实践_第3页
广东工业大学eda课程设计报告-FPGA(现场可编程门阵列)芯片的设计实践_第4页
广东工业大学eda课程设计报告-FPGA(现场可编程门阵列)芯片的设计实践_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告 课程名称 EDA课程设计 学 院 信息工程学院 年级班别 学 号 学生姓名 指导老师 罗思杰 2017年12月09日目录一、设计目的和要求:3二、EDA设计:3三、 硬件测试:15四、 设计和调试过程中遇到的问题及解决方法15五、 完成课程设计后的收获或体会:15六、 设计参考文献:15一、设计目的和要求: 1、设计目的: 通过对FPGA(现场可编程门阵列)芯片的设计实践,使学生掌握一般的PLD(可编程逻辑器件)的设计过程、设计要求、设计内容、设计方法,能根据要求及工艺需要进行电子芯片设计并制定有关技术文件。培养学生综合运用已学知识解决实际工程技术问题的能力、查阅图书资料和各种工具书的能力、撰写技术报告和编制技术资料的能力,接受一次电子设计自动化方面的基本训练。培养学生利用EDA技术知识,解决电子设计自动化中常见实际问题的能力,使学生积累实际EDA编程经验。通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力。2、设计要求:(1)以EDA技术的基本理论为指导,将设计实验分为基本功能电路和较复杂的电子系统两个层次,要求利用数字电路或者EDA方法去设计并完成特定功能的电子电路的仿真、软硬件调试;(2)熟悉掌握常用仿真开发软件,比如:QuartusII或XilinxISE的使用方法。(3)能熟练运用上述开发软件设计并仿真电路并下载到FPGA中进行调试;(4)学会用EDA技术实现数字电子器件组成复杂系统的方法;学习电子系统电路的安装调试技术。二、EDA设计:(1) 方案比较:1、数字电子钟设计设计一个时钟电路,包括时钟、分钟、秒钟的显示。要求可对时钟、分钟进行预置和修改操作;可设置3组闹铃时间,时间到时给出10秒的报警声或音乐并给出灯光提示。具体输入/输出要求如下: 4位LED数码显示器,分别显示“小时:分钟”或“分钟:秒”时钟;根据需要选择几个LED发光二极管。 3个按键,具体功能描述如下:MODE键模式转换键,具有“正常小时(校准)分钟(校准)小时(闹铃)分钟(闹铃)”等5种模式,每按一次,转换一种模式。假设当前处于正常模式,按一下此键,“小时”闪烁,表示进入“小时”调校模式,再按一次,转入分钟模式,如此类推,正常模式下不闪烁。还可以配合LED灯来显示不同的模式。/状态机键加“1”键,按下此键,被选中的项目加“1”键减“1”键,按下此键,被选中的项目减“1” 1路蜂鸣器,用于报警或按键声。在设计时,学生可充分发挥自己的特长和想象力,自行扩充功能,如“秒表”功能,通信功能,整点报时功能等。并可进一步将其设计为万年历。2、 简易电子琴设计用实验装置提供的7个按键对应中音的7个音符,设计一个简易电子琴。用数码管显示当前的音符,用LED灯显示节拍,并能演奏一段或多段预存的音乐。3、 简易十字路口的交通灯控制系统设计用EDA技术设计一个十字路口的交通信号灯控制器,控制A、B两条交叉道路上的车辆通行,具体要求如下:每条道路设一组信号灯,每组信号灯由红黄绿3个灯组成,绿灯表示允许通行,红灯表示禁止通行,黄灯表示该车道上已过停车线的车辆继续通行,未过停车线的车辆停止通行。每条道路上每次通行的时间为25s。每次变换通行车道之前,要求黄灯先亮5s,才能变换通行车道。黄灯亮时,要求每秒钟闪烁一次。4、其他。经过本人查阅资料以及根据本人实际能力,最后本人选择了难度相对较小的第二个方案,利用Verilog语言实现简易电子琴的制作。(2) Verilog代码编写:Module top(LED_AN,key,clk,rst_n,Led,auto,speaker,tone_7s,high_7s,mid_7s,low_7s);input clk,auto,rst_n;/时钟输入,自动演奏,键盘输入input 7:0 key;wire 7:0 key;/键盘输入信号 output 6:0 tone_7s;/数码管显示音调output reg speaker; output 6:0 high_7s;/显示乐曲高音音符output 6:0 mid_7s;/显示乐曲中音音符output 6:0 low_7s;/显示乐曲低音音符 output 7:0 Led; /led灯显示wire 7:0 Led;output 3:0 LED_AN; /选择所要显示的数码reg 3:0 LED_AN = 4b1000; /初始化,并选择其中一个数码管reg 20:0 i; /控制分频比参数reg clk4; reg3:0 high,mid,low,tone; /高中低音信号和键盘音调信号reg13:0 divider,origin; /自动演奏分频系数和初始值reg carry;reg musicout; /乐谱输出信号reg 19:0 count20; reg7:0 counter;reg 23:0 clk_cnt;assign Led0=(key0); /led高电平有效,assign Led1=(key1); assign Led2=(key2);assign Led3=(key3);assign Led4=(key4);assign Led5=(key5);assign Led6=(key6);assign Led7=(key7);parameter zero=8b10000000,one=8b01000000,two=8b00100000, three=8b00010000, four=8b00001000, five=8b00000100, six=8b00000010, seven=8b00000001; always ( posedge clk or negedge rst_n) if (!rst_n) clk_cnt = 24d0; else clk_cnt = clk_cnt + 1b1; wire clk6m = (clk_cnt2|(clk_cnt1&clk_cnt0);/ 50M降为6M,用于方便控制音调always (posedge clk6m) /通过置数,改变分频比。6M降频到3Mbegin if(divider=16383 ) / 16383begin carry=1;/carry的周期根据origin的值到16383的距离而改变divider=origin; /初始值控制end elsebegin divider=divider+1d1;carry=0;endendalways (posedge carry) /3Mbeginmusicout=musicout; /2分频产生方波信号 /因为carry周期是随时改变,musicout的周期也随时改变endalways (posedge clk6m) begin if(auto)speaker=musicout;/如果automusic为真,输出乐谱else begin /否则判断键盘key的输入case(key) zero:beginspeaker=0;tone=4b0000;i=5736)beginspeaker=!speaker;tone=4b0001; /sperker翻转就会出声,i是用于控制音调i=0;endelsei=5111)beginspeaker=!speaker;tone=4b0010;i=0;endelsei=4552)beginspeaker=!speaker;tone=4b0011;i=0;endelsei=4298)beginspeaker=!speaker;tone=4b0100;i=0;endelsei=3827)beginspeaker=!speaker;tone=4b0101;i=0;endelsei=3409)beginspeaker=!speaker;tone=4b0110;i=0;endelsei=3036)beginspeaker=!speaker;tone=4b0111;i=0;endelsei=i+1d1;enddefault:beginspeaker=0;tone=4b0000;i=0;endendcaseendend always (posedge clk6m) /从6Mhz得到4hz,6M除以2除以4.控制音乐拍子begin if(!auto)begincount20=20d0;clk4=0;endelse if(count20=20d750000) /3000000%4begincount20=20d0;clk4=clk4;endelse count20=count20+20d1;end/reg3:0 high,mid,low,tone; /高中低音信号和键盘音调信号always (posedge clk4) /分频比预置begin case(high,mid,low)h001:origin=4933;h002:origin=6179;h003:origin=7294;h004:origin=7787;h005:origin=8730; h006:origin=9565;h007:origin=10310;/低音h010:origin=10647; h020:origin=11272; h030:origin=11831;h040:origin=12085;h050:origin=12556; h060:origin=12974;h070:origin=13347;/中音h100:origin=13515;h200:origin=13830;h300:origin=14107;h400:origin=14236;h500:origin=14470;h600:origin=14678;h700:origin=14865;/高音endcaseendalways (posedge clk4)begin if(counter=49) counter=0; /计时,以实现循环演奏else counter=counter+1d1;case(counter) /记谱0: high,mid,low=h050;1: high,mid,low=h050; 2: high,mid,low=h100; 3: high,mid,low=h060; 4: high,mid,low=h060;5: high,mid,low=h050; 6: high,mid,low=h050;7: high,mid,low=h050;8: high,mid,low=h050;9: high,mid,low=h030; 10: high,mid,low=h050;11: high,mid,low=h060; 12: high,mid,low=h100;13: high,mid,low=h050;14: high,mid,low=h050; 15: high,mid,low=h050;16: high,mid,low=h050; 17: high,mid,low=h060; 18: high,mid,low=h060;19: high,mid,low=h050; 20: high,mid,low=h030; 21: high,mid,low=h020;22: high,mid,low=h020;23: high,mid,low=h020;24: high,mid,low=h020;25: high,mid,low=h030;26: high,mid,low=h030;27: high,mid,low=h050;28: high,mid,low=h030;29: high,mid,low=h020;30: high,mid,low=h030;31: high,mid,low=h010;32: high,mid,low=h010;33: high,mid,low=h060;34: high,mid,low=h060;35: high,mid,low=h050;36: high,mid,low=h050;37: high,mid,low=h060;38: high,mid,low=h060;39: high,mid,low=h050;40: high,mid,low=h030;41: high,mid,low=h030;42: high,mid,low=h060;43: high,mid,low=h060;44: high,mid,low=h050;45: high,mid,low=h050;46: high,mid,low=h030;47: high,mid,low=h020;48: high,mid,low=h010;49: high,mid,low=h010;endcaseendled_7s u1(high,high_7s); /高音音符显示 led_7s u2(mid,mid_7s); /中音音符显示 led_7s u3(low,low_7s); /低音音符显示 led_7s u4(tone,tone_7s); /键盘输入音调显示endmodulemodule led_7s(datain,ledout); /7段数码管译码显示模块input 3:0 datain;output reg6:0 ledout;always begincase(datain)0:ledout=(7b1000000);1:ledout=(7b1111001);2:ledout=(7b0100100);3:ledout=(7b0110000);4:ledout=(7b0011001);5:ledout=(7b0010010);6:ledout=(7b0000010);7:ledout=(7b1111000);8:ledout=(7b0000000);9:ledout=(7b0010000);default:ledout=(7b1000000);endcaseendendmoduleUcf文件代码:NET clk LOC = K19;NET speaker LOC = F16; /in yonghushouce page 39NET rst_n LOC = K20;NET tone_7s LOC = A16;NET tone_7s LOC = C17; /the board have 4 shumaguan,zhe shi shu ma guan de 8 ge duanNET tone_7s LOC = A17;NET tone_7s LOC = V11;NET tone_7s LOC = W11;NET tone_7s LOC = D7;NET tone_7s LOC = D8;NET key LOC = C6;NET key LOC = D6;NET key LOC = A5;NET key LOC = B6;NET key LOC = A6;NET key LOC = C7;NET key LOC = A7;NET key LOC = B8;NET Led LOC = A8;NET Led LOC = C9;NET Led LOC = A9;NET Led LOC = C11;NET Led LOC = A11;NET Led LOC = B12;NET Led LOC = A12;NET Led LOC = C13;NET auto LOC = A15;NET LED_AN LOC = D11;NET LED_AN L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论