赞
踩
刚开始学习verilog,自己写了个密码锁,看上去有不少bug,不过在老师那里过关了,是自己的第一个独立完成的verilog程序,试着发个博客记录下,同样也是第一次发博客。
下面贴代码,先是消抖部分:
之后是状态机:
module mimasuo(clk,key_in,led,rst,led_test); input clk; input [3:0] key_in; input rst; output [2:0]led; output [2:0]led_test; reg [23:0] count; reg [3:0] key_scan; always@(posedge clk or negedge rst) begin if(rst) count <= 24'd0; else begin if(count == 24'd3999999) begin count <= 24'b0; key_scan <= key_in; end else count <= count + 24'b1; end end reg [3:0] key_scan_r; always@(posedge clk) key_scan_r <= key_scan; wire [3:0] flag_key = key_scan_r[3:0] & (~key_scan[3:0]);
- reg [3:0] ouut;
- always@(posedge clk or negedge rst)
- beg
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。