465|5

88

帖子

0

资源

一粒金砂(中级)

安路SparkRoad基本功能电灯 [复制链接]

电灯分为两中,第一种纯组合逻辑实现,LED与switch开关各由16个,一一对应,可以直接pin2pin直连,通过SWITCH开关控制

 

assign led = switch;

另外一种就是通过时序逻辑实现,用时钟频率计数,实现LED交替闪烁

 

module led_dri(
input    clk   ,
input    rst   ,
output   [15:0] led
);
//parameter define
parameter   CLK_FS  = 50_000; //1ms

//reg  define
//reg    [15:0]   led  ;
reg    [15:0]   cnt  ;
reg    [15:0]   tim  ;

//wire defien 
wire  cnt_overflow ;
assign cnt_overflow = (cnt == CLK_FS - 1'b1) ;

//clk div  1ms
always@(posedge clk or posedge rst)
begin
   if(rst == 1'b1)
     cnt  <=   16'd0  ;
   else if(cnt_overflow)
     cnt  <=   16'd0  ;
   else
     cnt  <=  cnt  + 1'b1  ;
end

//clk div
always@(posedge clk or posedge rst)
begin
   if(rst == 1'b1)
     tim  <=   16'd0  ;
   else if(tim >= 16'h2000)
     tim  <=   16'd0  ;
   else
     tim  <=  tim  + 1'b1  ;
end

assign led[0]  =  tim[15] ? 1'b1 : 1'b0;
assign led[1]  =  tim[14] ? 1'b1 : 1'b0;
assign led[2]  =  tim[13] ? 1'b1 : 1'b0;
assign led[3]  =  tim[12] ? 1'b1 : 1'b0;

assign led[15:4] =  (tim <= 16'h1000) ? 12'h000 : 12'hfff ;

endmodule

 

两种功能都比较简单,是否实现LED的闪烁,简单验证单板基本功能。

 

 

 


回复

1424

帖子

3

资源

版主

功能实现了,虽然我还没有入门FPGA,只能给你加油,来占个沙发。

回复

659

帖子

0

资源

纯净的硅(中级)

我也刚入门FPGA,给你加油,正在学按键如何消抖,努力中。。。。

点评

按键消抖正点原子和黑金好像有例程可以借鉴一下  详情 回复 发表于 2022-4-11 10:33

回复

5066

帖子

236

资源

管理员

配个代码实现效果gif 就更好了


回复

9784

帖子

21

资源

版主

Fred_1977 发表于 2022-4-11 09:11 我也刚入门FPGA,给你加油,正在学按键如何消抖,努力中。。。。

按键消抖正点原子和黑金好像有例程可以借鉴一下


回复

659

帖子

0

资源

纯净的硅(中级)

谢谢提醒!


回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    关闭
    站长推荐上一条 1/7 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表