CPLD570实验一:永恒的跑马灯(看似简单的跑马灯,里面却有很多故事)
说明:从软件的编程转到硬件的编程一定要转变自己的编程思想(1)硬件描述语言对应的是硬件的电路,这个一定要是个牢记,要不老犯浑
(2)编程好后,多看看RTL视图,看这个也很重要。
(3)作为初学者,多做做功能仿真和时序仿真。
程序:
module LED(
led,
clk
);
output led = 8'b0000_0000;
input clk;
reg led;
reg counter = 25'd0;
always@(posedge clk)
begin
if(counter == 25'd24)
begin
led = ~led;
counter = 25'd0;
end
else
begin
counter = counter + 1'b1;
end
end
endmodule
测试TestBench
`timescale 1 ns/ 1 ps//uint accuracy
`define clk_cycle10//10ns
module LED_vlg_tst();
reg clk;
// wires
wire led;
// assign statements (if any)
LED i1 (
// port map - connection between master ports and signals/registers
.clk(clk),
.led(led)
);
initial
begin
clk = 0;
#3000 $stop;
end
always#`clk_cycleclk = ~clk;
endmodule
程序说明:
(1)为了仿真方面,这里counter == 25'd24 的时候,就发生反转。
(2)硬件的描述语句的顺序,和阻塞与非阻塞,一定要注意。 功能仿真
功能仿真
啥都搞
页:
[1]