版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EDA 技术与 Verilog HDL实验报告学生姓名:樊奇峰学生学号:所在班级:10 级电科( 2)班实验老师:陈亮亮实验地点地点:理工楼实验一EDA 实验箱使用一实验目的1GW48教学实验系统原理与使用介绍2熟悉 QuartusII两种输入方式下编译、仿真简单的组合电路。二实验内容首先了解 GW48系统使用注意事项以及 GW48系统主板结构与使用方法, 接着对各实验电路结构图特点与适用范围简述。 最后在 QuartusII 界面下,用文本输入和图形输入分别验证 七选一多路选择器的功能。三程序清单文本输入如下所示:module mux71(a,b,c,d,e,f,g,s,y);input a
2、,b,c,d,e,f,g;output y;input 2:0 s;reg y ;always (a,b,c,d,e,f,g,s)case (s)y=a;y=b;y=c;y=d;y=e;y=f;y=g; default: y=a;endcaseendmodule图形输入如下所示:四、实验步骤1、新建一个名称为MUX71a的工程,并在该文件夹中新建一个的文件。2、编译代码,编译成功后进行第三步,若不成功则查改代码中的错误。3、在工程文件夹中新建一个的波形文件,导入工程端口,设置输入波形,仿真得出输出端口波形。4、 验证输出端口波形是否达到七选一多路选择器的功能。五、实验数据仿真波形如下图所示。六
3、、实验小结通过对 EDA实验箱使用,了解了 GW48教学实验系统原理与使用介绍;熟悉 QuartusII两种输入方式下编译、仿真简单的组合电路。实验二用原理图和 VerilogHDL 语言设计一位全加器一实验目的熟悉在 QuartusII下用原理图和 VerilogHDL 语言设计一位全加器。二实验内容在 QuartusII 下用原理图和 VerilogHDL 语言设计一位全加器, 并编译、仿真验证其功能。三程序清单全加器顶层文件设计:半加器描述:四实验步骤1、新建一个名称为f_adder 的工程,并在该文件夹中新建一个的文件。2、新建一个名称为的文件。3、编译工程,编译成功后进行下一步,若不
4、成功则查改错误。4、 在工程文件夹中新建一个的波形文件,导入工程端口,设置输入波形,仿真得出输出端口波形。5、 验证输出端口波形是否实现一位全加器的功能。五、实验数据、全加器仿真波形如下图所示:、半加器仿真波形如下图所示:六、实验小结通过此次实验熟悉在QuartusII下用原理图和VerilogHDL 语言设计一位全加器。实验三含异步清 0 和同步时钟使能的4 位加法计数器一实验目的熟悉在 QuartusII下设计含异步清0 和同步时钟使能的4 位加法计数器。二实验内容在 QuartusII 下设计含异步清 0 和同步时钟使能的 4 位加法计数器,并编译、仿真验证其功能。三程序清单计数器顶层文
5、件设计:进制计数器文本输入:module CNT10(clk,rst,en,load,cout,dout,data);input clk,en,rst,load;input 3:0 data;output3:0 dout;output cout;reg 3:0 q1;reg cout;assign dout = q1;always (posedge clk or negedge rst)beginif (!rst) q1=0;else if(en)beginif (!load) q1=data;else if(q19) q1=q1+1;else q1=4b0000;endendalways (
6、q1)if (q1=4h9) cout= 1b1;elsecout= 1b0;endmodule位计数器文本输入:module CNT60(CLK,EN,RST,LOAD,COUT1,COUT2,DOUT1,DOUT2,DATA); input CLK,EN,RST,LOAD;input 3:0 DATA;output3:0 DOUT1;output2:0 DOUT2;output COUT1;output COUT2;reg 3:0 Q1;reg 2:0 Q2;reg COUT1;reg COUT2;assign DOUT1 = Q1;assign DOUT2 = Q2;always (ne
7、gedge CLK or negedge RST)beginif(!RST) Q1=0;else if (EN) beginif (!LOAD) Q1=DATA;else if (Q19) Q1=Q1+1;else Q1=4b0000;endendalways (Q1)if (Q1=4h9) COUT1=1b1;elseCOUT1=1b0;always (negedge COUT1 or negedge RST)beginif(!RST) Q2=0;else if (EN) beginif (!LOAD) Q2=DATA;else if (Q25) Q2=Q2+1;else Q2=4b0000
8、;endendalways (Q2)if (Q1=4h9)&(Q2=3h5) COUT2=1b1;elseCOUT2=1b0;endmodule60 位计数器图形输入 :四实验步骤1、新建一个名称为CNT10的工程,并在该文件夹中新建一个的文件。2、编译工程,编译成功后进行下一步,若不成功则查改错误。3、在工程文件夹中新建一个的波形文件,导入工程端口,设置输入波形,仿真得出输出端口波形。4、验证输出端口波形是否实现异步清 0 和同步时钟使能的 4 位加法计数器的功能。五、实验数据10 位计数器文本输入仿真波形:60 位计数器文本输入仿真波形:60 位计数器图形输入仿真波形:六、实验小结通过此次
9、实验熟悉在 QuartusII 下设计含异步清 0 和同步时钟使能的 4 位加法计数器实验四8位十进制频率计设计一实验目的熟悉在 QuartusII下设计 2 位和 8 位十进制频率计。二实验内容在 QuartusII 下设计 2 位和 8 位十进制频率计, 并编译、仿真验证其功能。三程序清单频率计顶层文件设计:1) 2 位十进制频率计图形输入:图形输入:图形输入 :文本输入 :module conter100(CLK,CLR,EN,cout,ge,shi);input CLK,EN,CLR;output 3:0ge;output 3:0shi ;output cout;reg cout;re
10、g 3:0ge;reg 3:0shi;always (posedge CLK )if (!CLR)beginge=0;shi=0;cout=0;endelse if(ge=9)&(shi=9)beginge=0;shi=0;cout=1;endelse if (ge=9)beginge=0;shi=shi+1;cout=0;endelsebeginge=ge+1;shi=shi;cout=0;endendmodule文本输入:module tf_ctro(clk,en,clr,lock);input clk;output en,clr,lock;reg en,clr,lock;integer
11、d=0;always (posedge clk)begind=d+1;if (d=1)beginen=0;lock=0;clr=0; endelse if(d=2)beginlock=1;en=0;clr=0;endelse if (d=3)beginlock=0;clr=0;en=0;endelse if (d=6)beginlock=0;clr=1;en=0;endelse if (d=7)beginlock=0;clr=0;en=0;endelse if(d=8)beginlock=0;clr=0;en=1;endelse if(d=16)begind=0;en=0;lock=0;clr
12、=0;endendendmodule74374 锁存器文本输入 :module octal(clk,en,d_in,q_in );input clk,en;input 3:0 d_in;output 3:0 q_in;reg 3:0 Q;assign q_in=Q;always (posedge clk)if(!en)beginQ=d_in;endendmodule2) 8 位十进制频率计图形输入 :四实验步骤1、 新建一个名称为 CTR10的工程,并在该文件夹中新建一个的文件, 在工程文件夹中新建一个的文件。2、 编译工程,编译成功后进行下一步,若不成功则查改错误。3、 在工程文件夹中新建一
13、 个的波形文件,导入工程端口,设置输入波形,仿真得出输出端口波形。4、 验证输出端口波形是否实现8 位十进制频率计的功能。五、实验数据仿真波形如下图所示:(1)2 位十进制频率计图形输入仿真波形:文本输入仿真波形:图形输入仿真波形输入:图形输入仿真波形:(2)8 位十进制频率计图形输入仿真波形六、实验小结通过本次实验熟悉在 QuartusII 下设计 2 位和 8 位十进制频率计,并编译、仿真验证其功能。实验五用状态机实现对ADC0809采样控制一实验目的熟悉在 QuartusII下用状态机实现对ADC0809采样控制。二实验内容在 QuartusII 下用状态机实现对 ADC0809采样控制
14、,并编译、仿真验证其功能。三实验原理四、实验程序清单module ADC0809(D,CLK,EOC,RST,ALE,START,OE,ADDA,Q,LOCK_T); input 7:0D;input CLK,RST;input EOC;output ALE;output START,OE;output ADDA,LOCK_T;output 7:0Q;reg ALE,START,OE;parameter s0=0, s1=1, s2=2, s3=3, s4=4;reg 4:0 cs,next_state;reg 7:0 REGL;reg LOCK;always (cs or EOC) begi
15、ncase(cs)s0:next_state=s1;s1:next_state=s2;s2:if (EOC=1b1) next_state=s3;else next_state=s2;s3:next_state=s4;s4:next_state=s0;default:next_state=s0;endcaseendalways (cs ) begincase(cs)s0:begin ALE=0;START=0;OE=0;LOCK=0;ends1:begin ALE=1;START=1;OE=0;LOCK=0;ends2:begin ALE=0;START=0;OE=0;LOCK=0;ends3
16、:begin ALE=0;START=0;OE=1;LOCK=0;ends4:begin ALE=0;START=0;OE=1;LOCK=1;end default:begin ALE=0;START=0;OE=0;LOCK=0;endendcase endalways (posedge CLK or posedge RST) beginif (RST) cs= s0;else cs=next_state; endalways (posedge LOCK)if (LOCK) REGL=D;assign ADDA=0; assign Q=REGL;assign LOCK_T=LOCK;endmo
17、dule五实验步骤1新建一个名称为ADC0809的工程,并在该文件夹中新建一个的文件。2编译工程,编译成功后进行下一步,若不成功则查改错误。3在工程文件夹中新建一个的波形文件,导入工程端口,设置输入波形,仿真得出输出端口波形。4.验证输出端口波形是否实现用状态机实现对ADC0809采样控制仿真波形如下图所示:状态转换图:六、实验小结通过此次实验熟悉在QuartusII下用状态机实现对ADC0809采样控制,并编译、仿真验证其功能。实验六交通灯设计实验一实验目的熟悉在 QuartusII下设计十字路口交通灯控制电路。二实验内容在 QuartusII 下设计十字路口交通灯控制电路, 并编译、仿真验
18、证其功能。三实验原理状态表:四、实验程序清单moduletraffic(clk,enb,accounth,account1,bccounth,bccount1,lampa1,lampa2,lampa3,lampa4,lampb1,lampb2,lampb3,lampb4);input clk,enb;output 3:0 accounth,account1,bccounth,bccount1;output lampa1,lampa2,lampa3,lampa4,lampb1,lampb2,lampb3,lampb4; reg tempa,tempb;reg 2:0 counta,countb;
19、reg 7:0 numa,numb;reg 7:0 ared,ayellow,agreen,aleft,bred,byellow,bgreen,bleft;reg lampa1,lampa2,lampa3,lampa4,lampb1,lampb2,lampb3,lampb4; assign accounth,account1=numa; assign bccounth,bccount1=numb;always(enb)if(!enb)beginared=8b01010101;ayellow=8b00000101;agreen=8b01000000;aleft=8b00010101;bred=8
20、b01100101;byellow=8b00000101;bleft=8b00010101;bgreen0)if(numa3:0=0)beginnuma3:0=9;numa7:4=numa7:4-1;endelsenuma3:0=numa3:0-1;if(numa=0)tempa=0;endelsebegintempa=1;case(counta)0: beginnuma=agreen;lampa1,lampa2,lampa3,lampa4=2;counta=1;endbegin numa=ayellow;lampa1,lampa2,lampa3,lampa4=4;counta=2;endbe
21、gin numa=aleft;lampa1,lampa2,lampa3,lampa4=1;counta=3;endbegin numa=ayellow;lampa1,lampa2,lampa3,lampa4=4;counta=4;endbegin numa=ared;lampa1,lampa2,lampa3,lampa4=8;counta=0;enddefault:lampa1,lampa2,lampa3,lampa4=8;endcaseendendelsebeginlampa1,lampa2,lampa3,lampa4=4b1000;counta=0;tempa0)if(numb3:0=0)
22、beginnumb3:0=9;numb7:4=numb7:4-1;endelsenumb3:0=numb3:0-1;if(numb=0)tempb=0;endelsebegintempb=1;case(countb)begin numb=bred;lampb1,lampb2,lampb3,lampb4=8;countb=1;endbeginnumb=bgreen;lampb1,lampb2,lampb3,lampb4=2;countb=2;endbegin numb=byellow;lampb1,lampb2,lampb3,lampb4=4;countb=3;endbegin numb=ble
23、ft;lampb1,lampb2,lampb3,lampb4=1;countb=4;endbegin numb=byellow;lampb1,lampb2,lampb3,lampb4=4;countb=0;enddefault:lampb1,lampb2,lampb3,lampb4=8; endcaseendendelsebeginlampb1,lampb2,lampb3,lampb4=4b1000;countb=0;tempb=0;endendendmodule状态图:五、实验步骤1新建一个名称为traffic的工程,并在该文件夹中新建一个的文件。2编译工程,编译成功后进行下一步,若不成功则
24、查改错误。3、在工程文件夹中新建一个的波形文件,导入工程端口,设置输入波形,仿真得出输出端口波形。4、 验证输出端口波形是否实现用状态机实现对十字路口交通灯控制。仿真波形如下图所示。引脚分配图:六、实验小结通过此次实验熟悉在 QuartusII 下设计十字路口交通灯控制路,并编译、仿真验证其功能。实验七简易数字时钟系统实验-考试实验一实验目的熟悉在 QuartusII下设计简易数字时钟系统。二实验内容在 QuartusII下设计简易数字时钟系统,并编译、仿真验证其功能。三、实验要求1)能正常计时2)有暂停键,清零键3)小时、分钟、秒钟可调(可加减)(4)整点报时四、程序清单module shi
25、zhong(CLK,CLR,HOUR,MIN,SEC,EN,HOUT,SW,MODE,up);input CLK,EN,CLR,SW,up;output HOUT,HOUR,MIN,SEC;output 3:0 MODE;reg 7:0HOUR,MIN,SEC;reg HOUT,CLK1;reg 3:0 MODE;/CLK 为时钟, EN 为使能,也就是暂停按钮,SW为调整 MODE的按钮/UP 为调整时钟的加按钮也是减按钮,当MODE为1 到6 为加按钮,当MODE为7 到 12 为减按钮/HOUT 为报警器的控制always (CLK or up)/UP是时分秒加减按钮,在MODE 1到6
26、为加,7到12 为减beginif(MODE=0) CLK1=CLK;/*MODE 0 为时钟自动走,其他MODE为暂停调整时钟else CLK1=up;endalways (posedge SW) /*调整模式,范围为模式1 到模式 12beginif(SW)beginMODE12) MODE=0;endend/*always (posedge CLK1 or posedge CLR)beginif(CLR)/* 清除时间,使其为00 : 00:00beginSEC=0;HOUR=0;MIN=0;end/* 清除时间,使其为00 :00:00下面为:时钟自动运行代码 elsebeginif(
27、!EN)if(MODE=0)beginif(SEC3:0=9)&(SEC7:4=5)&(MIN3:0=9)&(MIN7:4=5)&(H OUR3:0=3) /* 当 分为 59,秒为 59 且时为的个位为 3 时,将进行下一部判断beginif(HOUR7:4=2)/*当 分为 59,秒为 59 且时为 23 时,下一秒清零 , 且报警beginHOUR7:4=0;HOUR3:0=0;MIN7:4=0;MIN3:0=0;SEC3:0=0;SEC7:4=0;HOUT=1;end/*当 分为 59,秒为 59 且时为 23 时,下一秒清零 , 且报警else/*当 分为 59,秒为 59 且小时不
28、为 23 时,小时将加 1,且报警beginHOUR3:0=HOUR3:0+1; HOUT=1;MIN7:4=0;MIN3:0=0;SEC3:0=0;SEC7:4=0;end/*当 分为 59,秒为 59 且小时不为 23 时,小时将加 1,且报警endelseif(SEC3:0=9)&(SEC7:4=5)&(MIN3:0=9)&(MIN7:4=5)&(HOUR3:0=9)begin/*小时的十位进位是在: 小时的个位为 9,分钟为 59,秒为 59if(HOUR7:4=1)beginHOUR7:4=HOUR7:4+1;HOUR3:0=0;MIN7:4=0;MIN3:0=0;SEC3:0=0;
29、SEC7:4=0;HOUT=0;end /* 小时的十位进位是在: 小时的个位为 9,分钟为 59,秒为 59endelseif(SEC3:0=9)&(SEC7:4=5)&(MIN3:0=9)&(MIN7:4=5)begin/*小时的个位进位是在: 分钟为59,秒为59HOUR3:0=HOUR3:0+1;MIN7:4=0;MIN3:0=0;SEC3:0=0;SEC7:4=0;HOUT=1;end/*小时的个位进位是在: 分钟为59,秒为59elseif(SEC3:0=9)&(SEC7:4=5)&(MIN3:0=9)begin/*分的十位进位是在:分钟的个位为 9,秒为 59MIN7:4=MIN7:4+1;MIN3:0=0;SEC3:0=0;SEC7:4=0;end/*分的十位进位是在:分钟的个位为 9,秒为 59else if(SEC3:0=9)&(SEC7:4=5)begin/*分的个位进位是在:秒为59MIN3:0=MIN3:0+1;SEC3:0=0;SEC7:4=0;end/*分的个位进位是在:秒为59else if(SEC3:0=9)begin/*秒的十位进位是在:秒为59SEC7:4=SEC7:4+1;SEC3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024铁路物业买卖正式协议文件版B版
- 2025年度海洋资源开发承包经营合同3篇
- 商品房销售合同范本
- 2025年私募基金代持资产清算与分配合同3篇
- 二零二四年度专业农场灭鼠及作物保护合同2篇
- 2025年度航空航天装备采购合同3篇
- 2025年新能源电动车租赁及绿色出行服务合同范本2篇
- 2025版铝模回收利用与环保处理服务合同4篇
- 二零二五年度环保节能设施安全生产合同范本3篇
- 二零二五年高速公路建设土石方供应合同3篇
- 劳动合同续签意见单
- 大学生国家安全教育意义
- 2024年保育员(初级)培训计划和教学大纲-(目录版)
- 河北省石家庄市2023-2024学年高二上学期期末考试 语文 Word版含答案
- 企业正确认识和运用矩阵式管理
- 分布式光伏高处作业专项施工方案
- 陈阅增普通生物学全部课件
- 检验科主任就职演讲稿范文
- 人防工程主体监理质量评估报告
- 20225GRedCap通信技术白皮书
- 燃气有限公司客户服务规范制度
评论
0/150
提交评论