FPGA学习系列:8. 流水灯的设计.doc

上传人:白大夫 文档编号:3251741 上传时间:2019-08-06 格式:DOC 页数:3 大小:18KB
返回 下载 相关 举报
FPGA学习系列:8. 流水灯的设计.doc_第1页
第1页 / 共3页
亲,该文档总共3页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《FPGA学习系列:8. 流水灯的设计.doc》由会员分享,可在线阅读,更多相关《FPGA学习系列:8. 流水灯的设计.doc(3页珍藏版)》请在三一文库上搜索。

1、FPGA学习系列:8. 流水灯的设计设计原理:在以后的设计中,用的开发板都将是我们至芯科技自主设计的开发板,我们的芯片用的是Cyclone4系列的EP4CE10F17C8,在以后的设计中我们将不再讨论我们的开发板今天的设计是流水灯,在单片机中我们也了解到流水灯的点亮,不就是高电平或者低电平亮或者灭,然后通过依次的点亮LED灯,就形成了流水我们用的开发板的电路图如下在点图中我们可以了解到我们的点亮电路,几个灯都是公用的是高电平也就是3.3V,所以只要给一个低电平就可以点亮我们的流水灯我们的开发板提供的晶振是50M的,50M一个周期是20ns,我们人眼能够分辨的的速度是45ms左右,也就是物体如果

2、45ms移动一次我们看清它是停一下走一下的,如果快于这个时间的话,那么我们看到的物体的移动就是连贯的。我们要设计出人眼可以分辨的流水就需要我们设计出大于这个时间灯亮灭,然后形成人眼可以分辨的流水。本次我们的设计流水灯的流水时间是1s,那么我们就需要一个时间寄存器,当计数到1s的时候我们点亮一个灯,等下一个1s来的时候,我们点亮下一个等,然后形成流水,50M是20ns,1s是1hz,那么我们需要计数50 000 000 值得提的是我们算计数的时间是一面的等式 :计数 = 晶振 / 需要的频率 ,计数的时间就是我们1hz的周期,那么计数到一半的时候就是半个周期,我们可以在计数一半的时候clk 翻转

3、,那么当技计数到的时候就是占空比50%的1hz的周期设计架构图:设计代码:设计模块0moduleled_run (clk,rst_n,led);12 inputclk,rst_n;34 outputreg3:0led;56 reg25:0count;7 regclk_1hz;89 always(posedgeclk)10 if(!rst_n)11 begin12 clk_1hz 时钟19 count 测试模块0timescale1ns/1ps12moduletb();34 regclk,rst_n;/定义模块的端口5 wire3:0led;67 initialbegin89 clk =1;10

4、 rst_n =0;1112 #200.1rst_n =1;1314 #20000$stop;/延迟20000 Ns后 停止计数1516 end1718 always#10clk =clk;/产生一个50M的时钟1920 led_run dut( /例化设计模块21 .clk(clk),22 .rst_n(rst_n),23 .led(led)24 );2526endmodule仿真图:在仿真中我们可以调下我们设计模块的中的计数值,这样在仿真中我们可以我们可以快速的等到仿真结果,要不然你仿真几个小时可能才会出结果在仿真中我们可以可以看到在我们的1hz时钟的上升沿,我们led的4位中的一位将有一位变化为0,从而实现流水大家可以下板测试

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1