




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字系统设计实验指导书课程名称:数字系统设计实验性质:设计性、验证性指导教师:李明面向对象:2011级电子信息工程所有学生机电学院教学实验中心电子信息综合实验室实验一 bcd2seg译码器设计【实验目的】掌握CPLD/FPGA的开发软件Quartus II的使用流程;熟悉DE2-115开发板的结构,并会使用板上的拨码开关和七段数码管。【实验仪器】PC机1台Quartus-II 软件1套DE2-115开发板 1套,板载usb-blaster下载线。【实验原理】使用altera公司的Quartus II软件可以在其公司的FPGA上实现各种任意数字逻辑的设计。ALTERA公司的QuartusII是Altera公司的第四代EDA集成开发环境,它操作方便、功能强大,提供了原理图输入和HDL语言输入功能,在环境中可以完成编译、查错、设计驱动信号、逻辑功能模拟、时序功能模拟、对FPGACPLD芯片编程以及SOPC的设计开发等功能。【实验内容】在DE2开发板上实现4位的二进制输入七段数码管显示的译码功能模块。【实验步骤】 本实验中利用VerilogHDL在FPGA里面设计一个与门,请同学们按照以下步骤操作:1. 在e盘新建一个目录e:fpgaexperiment1,(如果此目录已经存在,则删除experiment1目录)用于存放本次实验中的设计文件。2. 按下图操作打开QuartusII 10.0软件3. 弹出界面如下图所示,按下图选择选项,点击OK,如果没有弹出下面界面,跳至步骤5.4. 弹出窗口如下图,点击OK5. 弹出界面如下图,点击欢迎界面左上角的X关闭欢迎界面6. 点击菜单FileNew出现如下图,7. 选择Verilog HDL File,然后点击OK按钮在空白处敲入代码,如下图所示。点击save按钮,将此文件保存到e:fpgaexperiment1目录下,并且命名为bcd2seg.v(注意:这里的文件名必须和module的模块名一致,不包括扩展名!)图1-38. 在出现的对话框中按下图设置:点击Yes9. 出现创建项目向导,见下图,点击next10. 出现下面窗口,阅读一下说明,了解其含义,不要修改内容,点击next11. 添加文件窗口,系统默认把刚才创建的文件加入到项目中了。12. 选择器件窗口,Family选择 Cyclone IV,器件选择EP4CE115F29C7,和DE2-115开发板上的FPGA型号必须一致。见下图,然后点击Next13. EDA工具选择界面,默认都选择None14. 创建项目的最后页面,没有需要填写的内容,点击Finish即可。15. 在quartus-ii中,执行菜单Processing-Start Compilation进行代码编译(快捷键Ctrl+L),如下图16. 若没有语法错误,会弹出Full Compilation was successful,如下图,若有错误,会在quartus的下面的message栏中给出错误的信息,请根据提示,修改代码至正确为止。17. 编译正确后,需要对芯片进行引脚锁定。操作方式见下图:18. 在此窗口中给出了设计中的端口,见下图要想验证本设计是否正确,就需要在本设计的四个输入端口D3,D2,D1和D0输入高低电平的逻辑,而开发板上,可以提供高低电平输入的外设有switch。DE2-115上提供了18个switch,可以任意使用其中的4个,这里使用sw0sw3,根据DE2-115的用户手册得知,这4个switch分别连接到了FPGA的4个特定的引脚上,因此,将本设计的4个输入锁定到这4个特定的引脚,就可以使用这4个引脚上的switch了。这四个引脚分别是(见图),其余的switch所连接的引脚参见DE2-115_User_manual 的Page36表4-1。19. 在Location中对应的位置三击,找到这些引脚并输入,见下图。同理设定7段数码管的所连接的引脚。参照DE2-115_User_manual 的Page37表4-4,这里使用Hex0的连接的引脚,选择相应的引脚20. 关闭引脚锁定界面,在Quartus-II中,执行Processing-Start Compilation进行代码编译(快捷键Ctrl+L),在这次编译中,会把引脚锁定的信息编译到生成的下载文件中。见下图21. 编译结束后,会弹出对话框,点击OK。接下来进行程序下载操作。将开发板供电,然后将usb下载线D型头插入板子左上角的blaster插座中,另一端插入电脑任意一个usb口上。按下开发板红色按钮,给开发板供电。打开Quartus-II的下载界面,命令见下图:22. 弹出如下窗口,若在此窗口的左上角显示 No Hardware,则按下图操作,确保开发板已经供电并且下载线已经正确连接至电脑,点击Hardware Setup按钮,弹出设置对话框,点击Current selected hardware旁边的下拉箭头,选择USB-BlasterUSB-0,然后点击Close按钮。若显示为USB-BlasterUSB-0,则跳过下图23. 这时候下载界面变化为如下图注意这里,和上面的NoHardware不一样24. 检查开发板子上的sw19,确保在RUN一边。点击Start按钮,进行下载,注意Progress进度25. 当Progress显示为100%后,下载完成。拨动SW0Sw3四个开关,查看不同的输入数码管上显示的值,并做记录。Sw3Sw2Sw1Sw0显示数字Sw3Sw2Sw1Sw0显示数字0000101000011101001001101000010010010011【思考与分析】关闭此实验的Quartus II工程和软件,关闭开发板电源,独立完成此项目,并将本代码修改使其能用16进制的方式显示0F。修改引脚锁定,使用HEX5数码管显示,SW13SW16作为二进制的输入端。重复此设计。【报告要求】字迹工整,每项均要填写。实验二 数字跑表(本实验为设计性实验)【实验目的】掌握分频器的工作原理和设计方法;掌握秒表的HDL描述方法;了解项目设计的构思及实现过程;掌握DE2-115开发板上有源晶振的作用和使用方法。【实验仪器】PC机1台Quartus-II 软件1套DE2-115开发板 1套,板载usb-blaster下载线。【实验原理】将板载的50M有源晶振分频出100Hz时钟信号,在100Hz的时钟作用下,百分之一秒所在的计数器开始加1,当计数到9时,自身清0,同时产生一个进位(此时进位位的频率为10Hz),利用此进位位作为十分之一秒的计数时钟,计数范围从0到9,并且也产生一个进位(频率为1Hz),此进位再作为秒位的计数时钟依次递推下去,便会产生一个秒表,计数器的显示可以采用实验一的Bcd2seg转化为数码管显示。用原理图表示如下图:50MFPGADE2-115开发板分频器100Hz模10计数模10计数模10计数模6计数Bcd2segBcd2segBcd2segBcd2seg模10计数Bcd2seg百分之一秒位十分之一秒位秒位十秒位分钟位分钟十位.小时位小时十位.【实验内容】在DE2开发板上实现一个8位数显示的秒表。【实验步骤】 1. 在e盘新建一个目录e:fpgaexperiment2,(如果此目录已经存在,则删除它)用于存放本次实验中的设计文件。2. 新建一个Verilog文件并创建项目,Verilog文件命名为e:fpgaexperiment2watch.v。端口和功能如下:clk50MPsl6.0Psh6.0sl6.0sh6.0Ml6.0Mh6.0hl6.0hh6.0watch.vClk50M为50MHz的有源晶振输入,经分频后得到100Hz的时钟, PSL6.0显示对应秒表的百分之一秒,PSH6.0对应显示秒表的十分之一秒,SL6.0对应显示秒表的秒,SH 6.0对应显示秒表的“十”秒位,ML6.0对应显示秒表的分钟,MH6.0对应显示秒表的“十”分钟位,HL6.0对应显示秒表的小时个位,HH6.0对应显示秒表的小时“十”位。3. 按照原理中的思想编写相应的代码。4. 按照DE2-115_User_manual提供的有源晶振输入引脚和数码管的连接引脚分别锁定图中的clk50M端口和相应的秒表显示端口(数码管使用自定义)。5. 重新编译整个工程并下载到DE2-115上进行验证。【思考与分析】为秒表增加2个控制端,clr:“清零/启动”键,pause:“暂停/继续”键。当clr输入为高电平时启动秒表,当clr端输入低电平时,输出显示全为0,即00 00 0000;当pause输入端为高电平时,秒表正常计数,当pause输入端为低电平时,秒表暂停计数。分别将clr端口和pause端口用任意2个switch控制。并在开发板上验证。clk50MPsl6.0Psh6.0sl6.0sh6.0Ml6.0Mh6.0hl6.0hh6.0watch.vclrpause【报告要求】字迹工整。在实验过程遇到的各类问题需要做记录,以及解决办法和解决过程都要写到数据分析栏目中,并给出自己的体会。实验三“双时钟”模10计数器【实验目的】掌握按键去抖动原理;掌握输入信号的边沿检测方法;掌握任意模计数器设计方法。【实验仪器】PC机1台Quartus-II 软件1套DE2-115开发板 1套,板载usb-blaster下载线。【实验原理】利用系统时钟对两个按键进行滤波去抖动处理后,分别使用边沿检测电路,当检测到一个键的边沿时,对计数器进行加1操作;当检测到另一个键的边沿时,对计数器进行减1操作;计数的的模值为10。50MFPGADE2-115开发板去抖动电路Bcd2seg去抖动电路边沿检测边沿检测模10计数器【实验内容】在DE2开发板上实现一个模10计数器,一个按键输入计数器增加,另一个按键输入时,计数器减少。【实验步骤】 1. 在e盘新建一个目录e:fpgaexperiment3,(如果此目录已经存在,则删除它)用于存放本次实验中的设计文件。2. 新建一个Verilog文件并创建项目,Verilog文件命名为e:fpgaexperiment3cntr10.v。端口和功能如下:clk50MCntrDisp6.0cntr10.vUpDown3. 按照原理中的思想编写相应的代码。4. 按照DE2-115_User_manual提供的有源晶振输入引脚和数码管的连接引脚分别锁定图中的clk50M端口和相应显示端口(数码管使用HEX0HEX7中任意一个即可)。Up和down 两个端口必须要使用琴键按钮作为输入。5. 重新编译整个工程并下载到DE2-115上进行验证。【思考与分析】怎样能节省滤波(即去抖动)所使用的寄存器数量?通过实验验证,并根据编译报告的提示进行证明。【报告要求】字迹工整。在实验过程遇到的各类问题需要做记录,以及解决办法和解决过程都要写到数据分析栏目中,并给出自己的体会。实验四VGA图像显示控制器(彩条)实验目的掌握动态显示原理;掌握用HDL描述LED动态点阵显示的方法;掌握EDA2000实验箱上LED点阵的使用;实验仪器PC机1台;Quartus II软件1套;EDA2000实验箱1个;并行、串行电缆各1根。实验原理很多仪器设备都有LED显示设备,如果每个显示的LED都用一个相应的IO口来控制的话,通常占有系统的大部分资源,且会造成系统的功耗大大增加。为了解决以上问题,常常在设计中使用动态显示。动态显示原理:对需要显示的LED轮流点亮,当依次点亮的频率较快时(通常为60100赫兹),由于人的视觉暂留性,感觉所有的LED象是同时点亮一样,这就是动态显示原理。在此电路图中,每个发光二极管的两端只有满足导通关系时,发光二极管才会被点亮。如果列选通端都为低电平,则所有的LED都不会被点亮,如果第一列(row)被选通,即列输入为8b10000000,当行(col)输入为8b11111111,则第一行所有的LED被点亮。若输入为8b10000000,则第一行最左边的LED被点亮.,即哪个位为高电平,哪个位就被点亮。如果要显示一个字符“1”(参见实验结果),按照下表给出row和col的值rowcol8b100000008b000100008b010000008b001100008b001000008b010100008b000100008b000100008b000010008b000100008b000001008b000100008b000000108b111111108b000000018b00000000实验步骤1) 打开QuartusII软件,在e:fpgaexperiment4(如果此目录已经存在,则删除experiment4目录)新建一个名为led的项目, 顶层文件名为led.v文件,保存到“experiment4”下,对应端口如下:2) 功能描述:rst为高电平时,LED不显示;把时钟设置为1KHz,LED上显示出数字“1”;EDA2000的“外部设备”标签页中的8x8显示点阵勾选;clk接实验箱上的1KHz时钟作为输入,rst用按钮作为输入,并设置为“高/低”方式。参考程序/LED.v,由同学们自行完成 实验结果 思考与练习在此实验的基础上,增加数字“1”的移动功能,即增加上移和下移按钮,每按一下上移按钮,字符上移一行;每按一下下移按钮,字符下移一行;在此实验的基础上,增加数字“1”的移动功能,即增加左移和右移按钮,每按一下左移按钮,字符左移一列;每按一下右移按钮,字符右移一列。报告要求实验报告上要求手工绘出实验箱上的运行结果。并简单分析一下为什么当刷新频率(clk)过高的时候,出现了几乎所有led都显示的现象(提示:可以根据仿真波形中出现的毛刺的值以及毛刺占用的显示时间来分析)。实验五 用状态机实现LCD1602显示控制实验目的掌握分频器原理;掌握用HDL描述分频的方法;掌握EDA2000实验箱上蜂鸣器的使用。 实验仪器PC机1台;Quartus II 软件1套EDA2000实验箱一个,并行电缆、串行电缆各一根。实验原理一个音的音节由频率决定,基本的音节频率表如下:音节1234567高音1频率440.00493.88554.37587.33659.26739.99830.61880.00周期(us)/21136.441012.4901.9851.3758.4675.7602.0568.2要发出“1”的声音,只需产生440Hz(周期为1136.4us*2)的频率即可。以10MHz(100ns)基准时钟为例,用预置数为11364的减法计数器,当减法器为零时,驱动一个触发器翻转(实际上就是2分频,因为用方波驱动蜂鸣器效果好些),再将触发器的输出送往扬声器即可。要产生其他频率的输出,只需将预置数改变即可。实验步骤1) 打开QuartusII软件,在e:fpgaexperiment5(如果此目录已经存在,则删除experiment5目录)下新建一个项目名称music2) 新建一个music.v文件并添加到项目中,music.v对应的模块图如下:要求:key对应8个按键,每按下一个按键,从蜂鸣器(由TONE端驱动)中输出对应的音调,即:按下key0时,扬声器发1音,按下key1时,扬声器发2音,按下key7时,扬声器发高音1。同时在七段数码管上显示对应的音符(由DIS3.0输出)。实验结果思考与练习在此实验的基础上,加上音乐自动循环演奏功能,演奏一段乐曲(两只老虎)123112313455345556543156543115111511参考程序/此处给出部分代码,用来加快输入速度,也可以使用自己写的代码module music(key,clk,tone,dis);input 7:0 key;input clk;output reg tone; /用于驱动蜂鸣器的端口output reg 3:0 dis;/在数码管上显示音阶/ 1 2 3 4 5 6 7 1/1136.441012.4901.9851.3758.4675.7602.0568.2reg15:0 value;always(key)begin case(key) 8b00000001:begin value = 11364;dis=1;end 8b00000010:begin value = 10124;dis=2;end 8b00000100:begin value = 9019;dis=3;end 8b00001000:begin value = 8513;dis=4;end 8b00010000:begin value = 7584;dis=5;end 8b00100000:begin value = 6757;dis=6;end 8b01000000:begin value = 6020;dis=7;end 8b10000000:begin value = 5682;dis=1;end default:begin value = 0;dis=0;end endcaseend/以下加入自己的代码endmodule数据分析如果将代码中的default:begin value = 0;dis=0;end去掉,会出现什么现象,试验一下,并给出分析结果。 实验六 UART设计实验目的学习用HDL进行有限状态机编程;掌握用CPLD/FPGA实现与ADC0809电路接口的控制;掌握AD转换原理。实验仪器PC机1台;Quartus II 软件1套EDA2000实验箱一个,并行电缆、串行电缆各一根。实验步骤1) 在d:fpga experiment6(如果此目录已经存在,则删除experiment6目录)下建立一个QuartusII的项目,项目名称为adc08092) 新建一个verilog文件 名称为adc0809.v。编写一段程序,用来控制adc0809芯片实现对模拟信号的AD转换。要求:将eda2000实验箱中的电位器上的电压经AD转换后由LED将其值显示出来。旋拧电位器,LED显示的数值将随之变化。电路模块图如下:ADC0809和FPGA的连接电路图如下:(此电路是EDA2000实验箱上的电路连接,此处给出,供同学们参考) 上图中AD模数转换器和和FPGA的引脚连接已经在EDA2000实验箱上固化好了,同学们只需编写相应的程序功能即可。实现原理ADC0809工作时序图:根据ADC0809的工作原理,按照ADC0908的工作时序将模数转换过程分为5个状态(当然状态的数量也可以不是5个,由同学们自行分析)。按照状态机编程原则,是整个转换过程在5个状态之间循环,实现模数转换的控制过程。注:ADC0809工作时候需要一个不超过600KHz的时钟,这个时钟接到ADC0809的clock引脚上。实验箱上面的ADC0809没有连接时钟信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银川市中石油2025秋招笔试模拟题含答案炼油工艺技术岗
- 中国联通天水市2025秋招财务审计类专业追问清单及参考回答
- 临沧市中石油2025秋招笔试模拟题含答案炼油设备技术岗
- 渭南市中储粮2025秋招面试专业追问题库财务资产岗
- 中国广电神农架林区2025秋招写作案例分析万能模板直接套用
- 国家能源白银市2025秋招面试专业追问及参考财务审计岗位
- 2025年普法课堂考试题及答案
- 鸡西市中储粮2025秋招质检化验岗高频笔试题库含答案
- 益阳市中储粮2025秋招面试专业追问题库财务资产岗
- 大唐电力哈尔滨市2025秋招综合管理专业面试追问及参考回答
- 不知足常乐最终辩论稿
- 2025云南昆明元朔建设发展有限公司第一批收费员招聘20人考试参考试题及答案解析
- 2026农业银行四川省分行秋季校园招聘1374人考试参考题库及答案解析
- 建筑垃圾回收利用全过程信息化管理方案
- 第9课《天上有颗“南仁东星”》 课件 2025-2026学年统编版语文八年级上册
- 《山水相逢》课件2025-2026学年人美版(2024)八年级美术上册
- 法警安全检查培训课件
- 人员密集场所安全培训教学课件
- 知识产权保护与运用培训课件
- 2025年广东省政府采购评审专家考试真题含答案
- 新疆省中考英语真题全解析
评论
0/150
提交评论