eric2013 发表于 2013-2-2 14:28:15

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)硬件的描述语句的顺序,和阻塞与非阻塞,一定要注意。

eric2013 发表于 2013-2-2 14:36:55

eric2013 发表于 2013-2-2 14:45:05

功能仿真

eric2013 发表于 2013-2-2 14:58:19

功能仿真

打洞者 发表于 2017-7-31 11:17:04

啥都搞
页: [1]
查看完整版本: CPLD570实验一:永恒的跑马灯(看似简单的跑马灯,里面却有很多故事)