FPGA初试

最开始是看到了图灵完备这个游戏

然后是数字电路模拟器,试着用Ripes写一个简单的RSICV汇编点灯玩

再后萌生了自己做个RSICV的CPU玩玩,但手动搭建逻辑门电路我是没时间,但可以用FPGA学着写一个软核,顺带可以在上面跑个RTOS试试,于是买了Tangnano20k

第一天跑跑例程,改下流水灯用按钮操作,但似乎防抖操作没有生效,不过总算是能看懂一点verilog用它控制LED亮灭了


  module top(
      input       clk,
      input       butten,
      output      led
  );

  reg led_value = 'd1;
  reg [31:0] debounce_counter = 32'd0;

  always @(posedge clk) begin

      if(butten > 'd0) begin

          debounce_counter <= debounce_counter + 1;

          if(debounce_counter > 27000) begin
              led_value <= ~led_value;
          end

      end else begin
          debounce_counter <= 0;
      end

  end


  assign led = led_value;

  endmodule

posted @ 2024-09-05 17:46  炽杨  阅读(31)  评论(0)    收藏  举报