完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
FPGA 按键控制1秒计数器的启动与停止来控制led[7:0],每当满一秒时,led[7:0]+1。编写程序后,对IO属性分配时,只有LED逻辑,缺少了key,clk这两个逻辑(如图),请问是什么原因?本人刚学习FPGA,希望大佬指点一下,非常感谢。
////////////////////////以下为代码部分,写的不好之处,请大佬批评指导,(FPGA资源为美高森美A3PE) module keyin( clk,led,key1); input clk; input key1; output led; //software reset reg [31:0]rst_cnt=0; reg rst_n; always@(posedge clk)begin if(rst_cnt==32'd39999999) rst_n<=1'b1; else begin rst_cnt<=rst_cnt+1; rst_n<=0; end end //check key change reg low_sw1; reg low_sw1_r; reg [19:0] sample_cnt; //key_a always@(posedge clk or negedge rst_n)begin if(!rst_n)begin low_sw1<=1'b1; sample_cnt<=0; end else if(sample_cnt==799999)begin sample_cnt<=0; low_sw1<=key1; end else sample_cnt<=sample_cnt+1; end always@(posedge clk or negedge rst_n)begin if(!rst_n)begin low_sw1_r<=1'b1; end else begin low_sw1_r<=low_sw1; end end wire key_en; assign key_en=low_sw1_r&(~low_sw1); //pulse edge check //1s timer reg [24:0]time_cnt; reg time_en; reg [7:0]led; always@(posedge clk )begin //这里想用按键来控制计数器开始与停止 if(!key_en)begin time_cnt<=0; //time_en<=0; led<=0; end else begin // if(key_en) if(time_cnt==25'd39999999)begin time_cnt<=0; //time_en<=1; led<=led+8'd1; end else begin time_cnt<=time_cnt+1; //time_en<=0; led<=led; end // else // time_cnt<=time_cnt; end end endmodule
|
|
相关推荐
1个回答
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1446 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1061 浏览 0 评论
2525 浏览 1 评论
2217 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2486 浏览 0 评论
1944 浏览 53 评论
6030 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 10:50 , Processed in 0.780284 second(s), Total 86, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号