设为首页 加入收藏

TOP

【接口时序】2、Verilog实现流水灯及与C语言的对比(三)
2019-09-03 03:42:43 】 浏览:219
Tags:接口 时序 Verilog 实现 流水 语言 对比
output [3:0] O_led_out ); reg [31:0] R_cnt_ls ; reg [3:0] R_led_out_reg ; reg [2:0] R_state ; parameter C_CNT_1S = 32'd49_999_999 ; parameter C_S0 = 3'b000 , C_S1 = 3'b001 , C_S2 = 3'b010 , C_S3 = 3'b011 , C_S4 = 3'b100 , C_S5 = 3'b101 , C_S6 = 3'b110 , C_S7 = 3'b111 ; ////////////////////////////////////////////////////////////////// // 功能:仿顺序操作 ////////////////////////////////////////////////////////////////// always @(posedge I_clk or negedge I_rst_n) begin if(!I_rst_n) begin R_state <= 3'b000 ; R_cnt_ls <= 32'd0 ; end else begin case(R_state) C_S0: begin R_led_out_reg <= 4'b0001 ; R_state <= C_S1 ; end C_S1: begin if(R_cnt_ls == C_CNT_1S) begin R_cnt_ls <= 32'd0 ; R_state <= C_S2 ; end else R_cnt_ls <= R_cnt_ls + 1'b1 ; end C_S2: begin R_led_out_reg <= 4'b0010 ; R_state <= C_S3 ; end C_S3: begin if(R_cnt_ls == C_CNT_1S) begin R_cnt_ls <= 32'd0 ; R_state <= C_S4 ; end else R_cnt_ls <= R_cnt_ls + 1'b1 ; end C_S4: begin R_led_out_reg <= 4'b0100 ; R_state <= C_S5 ; end C_S5: begin if(R_cnt_ls == C_CNT_1S) begin R_cnt_ls <= 32'd0 ; R_state <= C_S6 ; end else R_cnt_ls <= R_cnt_ls + 1'b1 ; end C_S6: begin R_led_out_reg <= 4'b1000 ; R_state <= C_S7 ; end C_S7: begin if(R_cnt_ls == C_CNT_1S) begin R_cnt_ls <= 32'd0 ; R_state <= C_S0 ; end else R_cnt_ls <= R_cnt_ls + 1'b1 ; end default: R_state <= 3'b000 ; endcase end end assign O_led_out = ~R_led_out_reg ; endmodule

  3、测试记录文件完整代码

module tb_led_work_top;

    // Inputs
    reg I_clk;
    reg I_rst_n;

    // Outputs
    wire [3:0] O_led_out;

    // Instantiate the Unit Under Test (UUT)
    led_work_top U_led_work_top (
        .I_clk(I_clk), 
        .I_rst_n(I_rst_n), 
        .O_led_out(O_led_out)
    );

    initial begin
        // Initialize Inputs
        I_clk = 0;
        I_rst_n = 0;

        // Wait 100 ns for global reset to finish
        #100;
        I_rst_n = 1;
        
        // Add stimulus here

    end
    
    always #5 I_clk = ~I_clk ;
      
endmodule

 

欢迎关注我的公众号:FPGA之禅

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ZYNQ笔记(2):PS端——Hello Wo.. 下一篇剑指Offer - 九度1506 - 求1+2+3+..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目