fpga基础试验之流水灯

fpga基础试验之流水灯

ID:31726324

大小:424.47 KB

页数:27页

时间:2019-01-17

fpga基础试验之流水灯_第1页
fpga基础试验之流水灯_第2页
fpga基础试验之流水灯_第3页
fpga基础试验之流水灯_第4页
fpga基础试验之流水灯_第5页
资源描述:

《fpga基础试验之流水灯》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第四组组长:韩欢陈洁饪侯旭涛高耀李欣昊李昊综合实验报告020815350208153602081514020815100208150802081506FPGA基础试验之流水灯一、实验目的通过此实验进一步了解、熟悉和掌握QuartusII开发软件的使用方法及Verilog语言的编程方法。学习简单时序电路的设计分析和硬件测试。二、实验内容1.熟悉信号产生板屮的FPGA的普通I/O的连接;2.根据实际的流水灯分析时序,体会用Verilog语言的编程产生相应时序;3.熟悉集成开发工具QuartusII,学会使

2、用QuartusII对Cyclone系列FPGA的程序开发、编译与调试;4.掌握Cyclone系列FPGA的程序加载,熟练掌握将・sof文件加载到实验板的FPGA屮,实现流水灯的效果。三、实验原理流水灯,顾名思义就是让LED像水一样的点亮。如果把流水做慢动作播放,可以想象到其实就是移动,即:把水块不断地向同一方向移动,而原来的水块保持不动,就形成了流水。同样,如果使得最左边的灯先亮,然后通过移位,在其右侧的灯,从左向右依次点亮,而已经亮的灯又不灭,便形成了向右的流水灯。初始状态时,四个灯都不亮,每来一

3、个时钟脉冲,CLK,计数器就加1.这样通过移位依次点亮所有的灯,就形成了流水灯。而当四个灯都点亮时,需要一个操作使得所有的灯恢复为初始状态。然后,再一次流水即可。如果是右移位,就出现向右流水的现彖;反之,向左流水。!1!实验要求控制4个LED进行花式显示,根据硬件设施设计两种模式:SO:从全亮到全灭,再到全亮,依次循环;S1:从LEDO开始依次点亮,为LED1亮,LED2亮,LED3亮,后再LED2亮,LED1亮,LEDO亮,不停循环。即输出为:SO时,从0000到1111不停循环转换;S1时,011

4、1,1011,1101,1110,1101,1011,0111不断循环。五、实验步骤(1)建立工程(2)建立Verilog文件,编写相关程序(3)将verilog文件编译为可视化电路图文件(4)将可视化电路图文件添加输入输岀组合成电路图文件(5)编译语法及验证原理图(6)根据需要分配管脚并进行编译(1)下载编译后得到的文件.sof(在线方式),,pof(离线方式)。一般考虑用在线方式。(2)显示实验结果六、电路符号:流水灯的电路符号如下图所示。SW1为模式选择输入。rst_n为复位信号,接高电平,sy

5、s_clk为时钟信号输入,led[3・.O]为LED显示信号输出端。七:设计方法:采用文木编辑法,即利用verilogHDL语言描述流水灯,代码如下:moduleliushuideng(sw1,sys_clk,rst_n,led);//^口定义inputsys_clk,rst_n,swl;//输入:系统时钟50MHz,复位输入output[3:0]led;//输出:3个led产生流水现象,轮流点亮+reg[25:0]count;//系统时钟频率过高,需要计数的方式来产牛延时,使led保持状态一段吋间r

6、eg[3:0]led;//led低电平点亮reg[2:0]flag;〃状态转换的入口,发生变化的时候,点亮另外一个ledalways@(posedgesys_clk)beginif(!rst_n)//复位,给寄存器赋初值beginflagv=3'b0;count<=26*b0;end//else//sys_clk上升沿到来//beginif(count==26*d20)begincount<=26*d0;//count归零,便于下次重新开始计数if(flag==3'blll)//当flag等于2'bl

7、O时,flag归零(实际上,当flag==2'blO时,要在下一次归零,即在flag==2,bll时,马上就变成2'b00,而并非当flag==2,blO时马上变为2'b00;)flag<=3*b000;else//否贝!Jflag加一flag<=flag+3'bOOl;endelsecount<=count+26*d1;//当count没计数到指定值是,count执行加一操作endalways@(posedgesys_clk)if(swl=l'bl)begincase(flag)//由于flag会不

8、断变化,并且flag在从一个值变成另一个值的时候,会保持一段很长的时间,我们利用它来产牛流水灯现象3'b000:led<=牢bOOOO;〃点亮所有灯,都为低电平3*b001:led<=4^1111;//没有点亮灯,都为高电平3*b010:ledv=4匕0000;〃点亮所有灯,都为低电平3'b011:led<=4匕1111;〃没有点亮灯,都为高电平3'blOO:led<=4^0000;〃点亮所有灯,都为低电平3*bl01:led<=4^1111;//没有点

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。