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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

通过Verilog实现交通灯设计实验报告.docx

1、通过Verilog实现交通灯设计实验报告电 子 科 技 大 学实验报告一、实验室名称:虚拟仪器实验室二、实验项目名称:交通灯设计实验三、实验学时:4学时四、实验原理假设交通灯处于南北和东西两条大街的“十”字路口,如图1所示。用FPGA开发板的LED灯来模拟红、黄、绿3种颜色信号,并按一定顺序、时延来点亮LED,如图2所示。图3给出了交通灯的状态转移图。设计使用频率为1Hz的时钟来驱动电路(注1:仿真时采用1MHz的时钟来驱动电路),则停留1个时钟可得到1S的延时,类似停留3个时钟可得到3S的延时,停留15个时钟可得到15S的延时(注2:开发板工作时钟为50MHz)。图1. 六个彩色LED可以表

2、示一组交通信号灯状态机的状态南北大街东西大街开发板延时(单位:s)仿真延时(单位:us)S0红绿1515S1红黄33S2红红33S3绿红1515S4黄红33S5红红33图2. 交通灯状态 南北 东西 红 黄 绿 红 黄 绿S0 1 0 0 0 0 1S1 1 0 0 0 1 0S2 1 0 0 1 0 0S3 0 0 1 1 0 0S4 0 1 0 1 0 0 S5 1 0 0 1 0 0 图3. 交通灯的状态转移图图4. 交通灯的原理框图五、实验目的本实验是有限状态机的典型综合实验,掌握如何使用状态转移图来定义Mealy状态机和Moore状态机,熟悉利用HDL代码输入方式进行电路的设计和仿真

3、的流程,掌握Verilog语言的基本语法。并通过一个交通灯的设计掌握利用EDA软件(Xilinx ISE 13.2)进行HDL代码输入方式的电子线路设计与仿真的详细流程。六、实验容在Xilinx ISE 13.2上完成交通灯设计,输入设计文件,生成二进制码流文件下载到FPGA开发板上进行验证。七、实验器材(设备、元器件)1、计算机(安装Xilinx ISE 13.2软件平台);2、BASYS2 FPGA开发板一套(带USB-MIniUSB下载线)八、实验步骤(1)新建工程,设置器件属性:在Xilinx ISE 13.2平台中,新建一个工程(注意命名规),输入工程名称以及工程所在的目录,设置芯片

4、的具体型号(Spartan 3E XC3S100E)、封装类型(CP132)以及编码使用的语言(Verilog)。(详见实验指导书)(2)Verilog源码文件创建与编辑:选中器件名字,点击鼠标右键,选中New Source,选择Verilog Module以及输入文件名称(详见实验指导书)(3)语法检查,对设计文件进行综合:代码编写完成后,在ISE的主界面的处理子窗口的synthesis的工具检查代码语法(Check Syntax),同时在此窗口可以查看RTL原理图(View RTL schematic)、查看技术原理图(View Technology Schematic)以及产生综合后仿真

5、模型(Generate Post-Synthesis Simulation Model)。(4)对设计进行行为仿真:1)产生测试文件模板;2)完成测试脚本创建与编辑;3)调出仿真窗口对设计进行仿真;4)通过波形查看仿真结果。(详见实验指导书)(5)添加实现约束文件。(详见实验指导书)(6)UCF文件导入。(详见实验指导书)(7)FPGA在线下载配置:1)连接开发板并给开发板供电;2)边界扫描,初始化链;3)下载比特流文件;4)对FPGA进行编程;5)生成PROM文件;6)将生成的PROM文件烧到PROM芯片中。(详见实验指导书)(8)关闭配置界面,不保存任何信息。(一定不要保存任何信息)(9)

6、关闭电源重新上电,程序从PROM自动引导到FPGA芯片中。(10)给开发板断电,清理器件,实验结束。九、实验数据及结果分析9.1状态机转移代码module traffic(input clk, input rst, output reg5:0 lights ); reg2:0 state; reg3:0 count; parameter S0=3b000,S1=3b001,S2=3b010, S3=3b011,S4=3b100,S5=3b101; always(posedge clk or posedge rst)begin if(rst)begin state=S0; count=0; en

7、d else begin case(state) S0:if(count15)begin state=S0; count=count+1; end else begin state=S1; count=0; end S1:if(count3)begin state=S1; count=count+1; end else begin state=S2; count=0; end S2:if(count3)begin state=S2; count=count+1; end else begin state=S3; count=0; end S3:if(count15)begin state=S3

8、; count=count+1; end else begin state=S4; count=0; end S4:if(count3)begin state=S4; count=count+1; end else begin state=S5; count=0; end S5:if(count3)begin state=S5; count=count+1; end else begin state=S0; count=0; end default state=S0; endcaseendend always(*)begin case(state) S0:lights=6b100_001; S

9、1:lights=6b100_010; S2:lights=6b100_100; S3:lights=6b001_100; S4:lights=6b010_100; S5:lights=6b100_100; default lights=6b100_001; endcaseend Endmodule9.2 时钟分频代码module clk_div(input clk, input rst, output reg clk_1hz );parameter CNT_WIDTH=5;regCNT_WIDTH-1:0t;always(posedge clk or posedge rst)begin if

10、(rst)begin cnt=0; end else begin cnt=cnt+1; endend always(posedge clk or posedge rst) if(rst) clk_1hz=0; else if(cnt=25)begin clk_1hz=clk_1hz; cnt=0; endEndmodule9.3 顶层代码module top(input mclk, input wire3:3 btn, output wire7:2 Led ); wire clk_1hz; wire rst; assign rst=btn3; clk_div clk_div_inst( .cl

11、k(mclk), .rst(rst), .clk_1hz(clk_1hz) ); traffic traffic_inst( .clk(clk_1hz), .rst(rst), .lights(Led) );endmodule9.4 测试代码module text; / Inputs reg mclk; reg 3:3 btn; / Outputs wire 7:2 Led; / Instantiate the Unit Under Test (UUT) top uut ( .mclk(mclk), .btn(btn), .Led(Led) ); initial begin / Initial

12、ize Inputs mclk = 0; btn = 1; / Wait 100 ns for global reset to finish #100; btn = 0; / Add stimulus here end parameter PERIOD =20; always begin #(PERIOD/2) mclk =0; #(PERIOD/2) mclk =1;end Endmodule9.5 仿真波形代码(对波形进行相关的文字说明,所截取的波形要覆盖所有状态转移)由图中可以看出,lights显示100001(S0),经过15us后变为100010(S1),接着3us变为100100(S2),再3us变为001100(S3),然后15us变为010100(S4),之后3us变为100100(S5),状态正确。由图可以看出,clk_1hz周期为1000ns,满足1M hz的要求10、实验结论通过实验,实现了用Xilinx ISE 13.2实现了一个交通灯的电子线路设计与仿真,更加熟练掌握Verilog语言的基本语法。十一、实验中遇到的问题及相应的解决办法(1)lights状态不发生变化答:在test文件中,令btn初值为1 报告评分: 指导教师签字:

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

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