超过飞飞系列-ZYNQ之FPGA学习3.1点亮LED灯(基于正点原子ZYNQ)

一、基础知识

LED灯原理图

  1. 由于二极管样机与ZYNQ的管教相连,只需要改变与LED灯相连的ZYNQ管脚的电平,LED灯的亮灭状态就会发生变化。
  2. 高电平——亮,低电平——灭。
  3. 频率50MHz,周期20ns(1/50MHz)。1S需要累加5000 000次。
    二、程序
module LED_twrinkle(
    input               clk,                                    //输入时钟
    input               rst_n,                                  //输入复位
    
    output[1:0]         led                                     //输出LED
    );
    
 reg [25:0]cnt;                                                 //50000000二进制位26位,所以从0到25是26位
 
 assign led = (cnt < 26'd2500_0000) ? 2'b01 : 2'b10;            //当250000000次计数前为1亮,后为0灭
 
 always @ (posedge clk or negedge rst_n) begin                  //时钟上升沿,复位下降沿
    if(!rst_n)                                                  //是否复位
        cnt <= 26'd0;                                           //复位为0
    else if(cnt < 26'd5000_0000)                                 //当小于50000000次时
        cnt <=cnt+1'b1;                                          //计数值+1   
    else 
        cnt <= 26'd0;                                           //否则计数值为0
 end   
    
endmodule

三、总结

  1. 关于testbench还是没明白,看看后面能搞懂不
  2. 程序编写一开始正确,再打开出现错误,不知道因为什么
  3. 想出波形图,不知道是不是因为没有板子,还是哪里操作失误,只有直线
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值