ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:758.68KB ,
资源ID:10791278      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10791278.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA实验报告南昌大学.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA实验报告南昌大学.docx

1、EDA实验报告南昌大学南昌大学实验报告学生姓名: 胡文松 学 号:6103413007 专业班级:生物医学工程131班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩:_ 实验一 模可变计数器设计 (一) 实验目的1、 进一步熟悉实验装置和Quartus软件的使用;2、 进一步熟悉和掌握EDA设计流程;3、 学习简单组合、时序电路的EDA设计;4、 学习计数器中二进制码到BCD码的转换技巧;5、 学习实验装置上数码管的输出方法。(二) 设计要求完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现模可变计数器功能,具体要求如下:1、 设置一个按键控制改变模值,按键按下时模

2、为10-99之间(具体数值自行确定)的数,没按下时模为100-199之间(具体数值自行确定)的数;2、 计数结果用三位数码管十进制显示。(三) 主要仪器设备3、 微机 1台4、 QuartusII集成开发软件 1套5、 EDA实验装置 1套(四) 实验步骤主要有三个模块1:一个模20和模119的计数器2:数码管的显示3:BCD的调整源程序:module count (clk,m,en,rst,a,sel,SG,d); input clk,m,en,rst; output 7:0 SG; output 2:0 sel; output a; (* synthesis, keep *) reg cl

3、k1; (* synthesis, keep *) wire 3:0 gw,sw,bw; /*(* synthesis, keep *) */reg 3:0a; reg 11:0 q; reg 11:0 model; reg 7:0 cnt,SG; reg 2:0 sel;reg 0:0d;output 0:0d; always (posedge clk) begin cnt=cnt+1; if (cnt=200) begin clk1=1b1; cnt=0; end else clk1=1b0; /200分频,CLK为数码管扫描频率,CLK1为计数频率 if (sel2) sel=sel+1

4、; else sel=0; end /sel为数码管选择 always (sel) begin case (sel) 0: a=bw; /0数码管为百位 1: a=sw; /1数码管为十位 2: a=gw; /2数码管为个位 default: a=0; endcase case (a) 0:SG=8b00111111; 1:SG=8b00000110; 2:SG=8b01011011; 3:SG=8b01001111; 4:SG=8b01100110; 5:SG=8b01101101; 6:SG=8b01111101; 7:SG=8b00000111; 8:SG=8b01111111; 9:S

5、G=8b01101111; /8段译码值 default: SG=8b11111111; endcase end always (m) if (m) model=12b000000100000; /模值20 else model=12b000100011001; /模值119 assign gw=q3:0; assign sw=q7:4; assign bw=q11:8; always (posedge clk1,negedge rst) begin if (!rst) q=0; else if (en) begin if (qmodel) begin if (gw=9) begin q=q+

6、7; if (sw=9) q=q+96; end /BCD调整 else q=q+1; end else q=0; end endalways (q) if(qmodel) d=0; else d=1; endmodule波形仿真:Clk1是计数频率,每来一个clk1信号q计数一次如图所示:rst=1有效时开始计数 clk为扫描频率sel=0时数码管显示百位a=0sel=1时数码管显示十位a=1sel=2时数码管显示个位a=3m=1 模20计数器m=0 模119计数器管脚分配:SG0 PIN_F13 SG1 PIN_F14 SG2 PIN_F15 SG3 PIN_E15 SG4 PIN_F16

7、 SG5 PIN_F17 SG6 PIN_E18 SG7 PIN_F18 clk PIN_C13 en PIN_H8 m PIN_J9 rst PIN_C5 sel0 PIN_G18 sel1 PIN_G17 sel2 PIN_G16 d0 PIN_G13 (五) 实验心得吸取第一次实验的教训,这次实验我事先在寝室设计、编译调试和观察波形等。相比较第一个实验,这个实验感觉更简单,只要想到了程序的设计方法其他的都能解决,所以,对这次实验来说,思路想法是很重要的。在寝室完成实验后担心在实验室出现不可预知的问题,所以在实验前已经把引脚锁定好了,希望实验室能早点做出来。结果还算满意,因为它没有直接原理

8、图和AHDL语言作为参考,它完全是靠我自己的知识积累和创新完成的。在实验箱上看见预期的实验现象时,我体会到了一种喜悦的感觉,同时我也认识到了只有动手才能真正学到东西。其实在大学可能学不到我们预期的那么多知识,但能学会几个实用的软件,锻炼自己的动手能力,我想已经不错了。 实验二 序列信号发生和检测器设计(一) 实验目的1、 进一步熟悉EDA实验装置和Quartus软件的使用方法;2、 学习有限状态机法进行数字系统设计;3、 学习使用原理图输入法进行设计。(二) 设计要求完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现一个串行序列信号发生器和一个序列信号检测器的功能,具体要求如下

9、:1、 先用设计0111010011011010序列信号发生器,其最后6BIT数据用LED显示出来;2、 再设计一个序列信号检测器,检测上述序列信号,若检测到串行序列“11010”则输出为“1”,否则输出为“0”;(三) 主要仪器设备1、 微机 1台2、 QuartusII集成开发软件 1套3、 EDA实验装置 1套(四) 实验步骤主要两部分 1:序列信号发生器 设置q=16b0111010011011010; q0=q15; Q=q15; q15:1=q14:0 ;通过循环移位串行输出2:序列信号检测器状转移态图 一共有六个状态分别为S = 5d00000, A = 5d00001, B =

10、 5d00011, C = 5d00110, D = 5d01101, E = 5d11010;源程序:module xulie(clk,rst,z,Q,led);input clk,rst;output Q,z;output 4:0 led;reg 4:0 led;reg 4:0 state;reg Q,z;reg 4:0 a;reg 15:0 q;parameter S = 5d00000, A = 5d00001, B = 5d00011, C = 5d00110, D = 5d01101, E = 5d11010;always (posedge clk) begin if(rst=0)

11、 begin q=16b0111010011011010; end else begin q0=q15; Q=q15; q15:1=q14:0 ; end endalways (posedge clk)begin if(state=D & Q=1) begin z=1; led=5b11101;endelse begin z=0;led=5b00000;endendalways (posedge clk or negedge rst) if(!rst) begin state=S;end else casex(state) S: if(Q=1) state=A; else state=S; A

12、: if (Q=1) state=B; else state= S; B: if (Q=1) state=C; else state=S; C: if(Q=0) state=D; else state=C; D: if(Q=1) state=E; else state=S; E: if(Q=0) state=S; else state=A; default: state=S; endcaseendmodule波形仿真当rst=1是序列信号发生器循环发出0111010011011010 当检测到11010是z=1输出高电平,并且同时使11010序列显示在五个led灯上(五) 实验心得 通过以前实

13、验的设计练习,这次实验的设计时间明显短于从前,一方面是对于VHDL有了一定的了解和熟悉,另一方面是加强了和同学的交流以及讨论。比如设计中对于画出正确的状态转移图,自己一直有些考虑不清,在饶水华同学的帮助下,理解并且给出了正确的状态转移,从而使得实验设计得以成功。遇到问题时,在考虑到一定程度时,和身边的老师、同学交流请教是非常必要的。实验三、交通灯的设计一、实验目的1、学习与日常生活相关且较复杂数字系统设计;2、 学习二进制码到BCD码的转换;3、学习有限状态机的设计应用。二、实验要求完成设计、仿真、调试、下载、硬件测试等环节,在型EDA实验装置上实现一个由一条主干道和一条乡间公路的汇合点形成的

14、十字交叉路口的交通灯控制器功能,具体要求如下:1、有LED5(主干道红灯)、LED4(主干道黄灯)、LED3(主干道绿灯)、LED2(乡村道红灯)、LED1(乡村道黄灯)、LED0(乡村道绿灯)六盏交通灯需要控制;2、交通灯由绿转红前有4秒亮黄灯的间隔时间,由红转绿没有间隔时间;3、乡间公路右侧各埋有一个串连传感器,当有车辆准备通过乡间公路时,发出请求信号S=1,其余时间S=0;4、平时系统停留在主干道通行(MGCR)状态,一旦S信号有效,经主道黄灯4秒(MYCR)状态后转入乡间公路通行(MRCG)状态,但要保证主干道通行大于一分钟后才能转换;5、一旦S信号消失,系统脱离MRCG状态,即经乡道

15、黄灯4秒(MRCY)状态进入MGCR状态,即使S信号一直有效,MRCG状态也不得长于20秒钟;6、控制对象除红绿灯之外,还包括分别在主干道和乡间公路各有一个两位十进制倒计时数码管显示。三、实验设备1、PC机2、QUARTUS集成开发软件 3、EDA实验装置四、实验步骤1)建立工程文件,编辑程序设计文件并保存。2)对程序设计文件进行编译。如图显示编译成功:)建立仿真波形文件,进行波形仿真:输入设置:对波形仿真文件进行编译:如图:当s信号为0时,分别是LED2(乡村道红灯)和LED3(主干道绿灯)亮,为主干道通行状态;如图,态平时系统停留在主干道通行状,即主干道绿灯乡道红灯;一旦S信号有效,经主道

16、黄灯4s状态后转入乡间公路通行状态,但要保证主干道通行大于一分钟后才能转换,并开始20s倒计时。之后回到主干道绿灯,乡道红灯状态,60s倒计时。4)进行管脚分配如图对各管脚进行分配:5)在实验箱上进行下载测试将pc与实验箱连接,开始仿真。K1表示信号s,当k1断开,表示乡村道路没有车辆,此时处于主干道通行状态。当合上k1,主干道绿灯转黄灯4s后变为红灯,乡道变为绿灯,倒计时20s,又进入主干道绿灯状态。通过实验现象可知,该程序的设计完全符合设计要求。四、实验总结这次试验用了两个模块,总体思路比较清晰,明白了主绿乡红、主黄乡红、主红乡绿、主红乡黄4个状态之间的循环,另外还有模可变倒计时计数器的设

17、计。实验四、多功能数字钟设计一、实验要求1、数字显示当前的时、分、秒;2、闹钟和24小时计时显示;3、经设置应具有整点报时、跑表、闹钟功能;三、实验材料微机、QuartusII集成开发软件、EDA实验装置三、实验步骤1.建立工作库文件夹,输入计数器的verilog代码并存盘。2.选目标器件CycloneII中的EP2C35F672C8并编译。3.建立仿真波形文件,进行波形仿真。 当Mode1=1为正常时间模式,输出的秒钟如图LED_Sec当到59秒时进位,分钟加1,秒钟重新计数,分钟如图LED_Min,当到59分时进位,时钟加1,分钟重新计数,通过按下AdjMinKey调节分钟时间,时钟如图L

18、ED_Hr,通过按下AdjHrKey可调节时钟时间,当LED_hr到23时,重新开始计数。当Mode1=0,Mode2=1,为闹钟模式,按键按下SetHrKey调节闹钟的小时,按键按下SetMinKey调节闹钟的分钟,秒钟始终为零。当时钟到闹钟时间时,Alarm信号为1,触发闹钟响铃。当Mode1=0,Mode2=0,为秒表模式,其中LED_Sec位到99进位为零,LED_Min加1,可通过按键按下stopwatchen使秒表暂停,按键按下stopwatchnCR使秒表归零。四、管脚分配依据下表,分配好管脚。五、硬件测试1、调节Mode1=1(即K1打开,K2任意)时,显示正常时间,通过按下S

19、2,S3分别调节小时和分钟时间。2、调节Mode1=0,Mode2=1时(即K1关闭,K2打开),显示闹钟时间,通过按下S4,S5分别调节闹钟小时和分钟时间。当正常时间到闹钟时间时,Alarm信号为1,触发闹钟,即LED8亮一分钟,通过关闭CtrlBell(即K3关闭)可立即关闭闹钟。3、调节Mode1=0,Mode2=0时(即K1关闭,K2关闭),显示秒表时间,通过关闭stopwatchen(即K4)可暂停秒表时间,通过按下S6可是秒表归零。4、当正常时间到XX:59:55- XX:59:59时,具有整点报时功能,即LED8灯亮起。通过以上测试,所设计的多功能数字钟完全符合要求。六、实验总结

20、 1、学会复杂数字电路系统的设计:对一般复杂的电路系统可以分模块设计,这样可以使设计简单明了 2、引脚绑定要和试验箱上的各个键对上号,在操作试验箱时才不会出错. 3、学会了数码管动态扫描电路的设计。 南昌大学实验报告学生姓名:胡文松 学 号:6103413007 专业班级:生物医学工程131班实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 综合实验 出租车计费器的设计一、实验目的1、了解出租车计费器的工作原理。2、学会用 verilog HDL 语言编写正确的七段码管显示程序。3、数量掌握用 verilog HDL 编写复杂功能模块。4、进一步数量状态积在系统设计中的应用。二、实验

21、原理出租车计费器一般都是按公里计费,通常是起步价 xx元(xx元可以行走x公里),然后再是 xx元/公里。所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。在这个实验中,就要模拟出租车计费器的工作过程,用步进电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。结果的显示用 8个七段码管,前四个显示里程,后四个显示费用。在设计verilog HDL程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态

22、,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。三、实验内容本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价 3元,准行 1 公里,以后 1.5元/公里。 显示部分的七段码管扫描时钟选择时钟模块的 1KHz,电机模块的跳线选择“开”端,这样通过旋钮电机模块的电位器,即可达到控制电机转速的目的。另外用按键模块的S1来作为整个系统的复位按钮,每复位一次,计费器从头开始计费。步进电机用来模拟出租车的车轮子,没转动一圈认为是行走 1米,所以每旋转 1000 圈,认为车子前进 1公里。系统

23、设计是需要检测电机的转动情况,每转一周,计米计数器增加 1。七段码管显示要求为前 4个显示里程,后 3个显示费用。实验箱中用到的数字时钟模块、按键开关、步进电机模块、数码管与FPGA的接口电路. 4、实验步骤 1.建立工作库文件夹,输入计数器的VHDL代码并存盘。 2.选目标器件CycloneII中的EP2C35F672C8并编译。在k30,开始计费,当k=40时,也就是4公里。M=450,也就是4.5元。 4.如图所示,符合实验要求起步价 3元,以后 1.5元/公里。5.下载测试下载到实验箱上测试,七段码管前 4个显示里程,后 3个显示费用。下推K8(stop=0),开始计费,当超过三公里后,开始以1.5元每公里计费。上推k8停止计费,按下RST,计费器重新开始。符合要求。5、实验小结通过本次实验让我了解出租车计费器的工作原理,掌握用 verilog HDL 语言编写正确的七段码管显示程序,调试过程中出现不少问题,但是通过同学老师的帮助都迎刃而解了,经过本次实验,也是收获量多。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1