基于XILINX BASYS 3板
组合逻辑电路:二选一多路器、三八译码器
D端口送到Q端口需满足CK(时钟的)上升沿(0->1)出现,故D触发器具有存储特性–计数器。

50MHz 20ns(T=20ns)
500ms/20ns
500 000000/20=25000000
BIN:25位的值才能最大表示
设计一个4位加法器结构图

(亮灭各500ms)
module led_flash(
Clk,
Reset_n,
Led
);
input Clk;
input Reset_n;
output reg Led;
reg [24:0] counter;
always@(posedge Clk or negedge Reset_n)
if(!Reset_n)
//低电平,清零,复位状态
counter <= 0;
// <=非阻塞赋值
else if(counter == 25000000-1)
counter <= 0;
else
counter <= counter + 1'd1;
always@(posedge Clk or negedge Reset_n)
if(!Reset_n)
Led <= 0;
else if(counter == 25000000-1)
Led <= !Led;
endmodule
module led_flash_tb;
reg Clk;
reg Reset_n;
wire Led;
led_flash(
.Clk(Clk),
.Reset_n(Reset_n),
.Led(Led)
);
initial Clk = 1;
always #10 Clk = !Clk;
initial begin
Reset_n = 0;
#201;
Reset_n = 1;
end
endmodule
set_property IOSTANDARD LVCMOS33 [get_ports Clk]
set_property IOSTANDARD LVCMOS33 [get_ports Led]
set_property IOSTANDARD LVCMOS33 [get_ports Reset_n]
set_property PACKAGE_PIN U16 [get_ports Led]
set_property PACKAGE_PIN V17 [get_ports Reset_n]
set_property PACKAGE_PIN W5 [get_ports Clk]

引脚分配表格
所得时间-1
4
| 0–1 |
|---|
| 1–2 |
| 2–3 |
| 3–0 |
| 0–1 |
计数器闪烁