1. Jan 31, 2022
  2. Jan 30, 2022
  3. Jan 29, 2022
  4. Jan 28, 2022
  5. Jan 26, 2022
  6. Jan 25, 2022
  7. Jan 20, 2022
  8. Jan 18, 2022
  9. Jan 13, 2022
  10. Jan 12, 2022
  11. Jan 06, 2022
    • sinofp's avatar
      Add FileInfo to asyncResetAlwaysBlocks (#2451) · 3e494b5c
      sinofp authored
      * Add FileInfo to asyncResetAlwaysBlocks
      
      Always blocks need three FileInfo (if, true, false) to show line numbers,
      but initially, every always blocks only have one FileInfo (false).
      
      RemoveReset adds the extra two FileInfo to sync always blocks,
      so sync always blocks can have line numbers.
      
      Async always blocks don't provide their only FileInfo, so there are no line numbers.
      
      This commit gives async always block the extra FileInfo to show line numbers for them.
      
      This code:
      
      ```scala
      import chisel3._
      import chisel3.stage._
      import firrtl.CustomDefaultRegisterEmission
      
      class Test extends Module with RequireAsyncReset {
        val io = IO(new Bundle {
          val in = Input(Bool())
          val out = Output(Bool())
        })
        val valid = RegInit(false.B)
        valid := io.in
        io.out := valid
      }
      
      object Test extends App {
        new ChiselStage().execute(Array(), Seq(
          ChiselGeneratorAnnotation(() => new Test()),
          CustomDefaultRegisterEmission(useInitAsPreset = false, disableRandomization = true)
        ))
      }
      ```
      
      will generate this Verilog:
      
      ```verilog
      module Test(
        input   clock,
        input   reset,
        input   io_in,
        output  io_out
      );
        reg  valid; // @[Playground.scala 10:22]
        assign io_out = valid; // @[Playground.scala 12:10]
        always @(posedge clock or posedge reset) begin
          if (reset) begin // @[Playground.scala 10:22]
            valid <= 1'h0; // @[Playground.scala 10:22]
          end else begin
            valid <= io_in; // @[Playground.scala 11:9]
          end
        end
      endmodule
      ```
      
      they have correct line numbers (10, 10, 11).
      
      * Add test for async always block line numbers
      
      * Add comment for review
      3e494b5c
  12. Dec 28, 2021
  13. Dec 22, 2021
    • Jack Koenig's avatar
      Remove some warnings (#2448) · 4f3d1003
      Jack Koenig authored
      * Fix unreachable code warning by changing match order
      
      Simulation Statements did not previously extend IsDeclaration, but now
      they do so their match blocks need to be above IsDeclaration.
      
      * Handle MemoryNoInit case in RtlilEmitter
      
      * Remove use of deprecated logToFile
      
      * Fix uses of LegalizeClocksTransform
      
      Replaced all uses of LegalizeClocksTransform with
      LegalizeClocksAndAsyncResetsTransform.
      
      * Remove use of CircuitForm in ZeroWidth
      4f3d1003
    • Kevin Laeufer's avatar
      2d197c84
  14. Dec 18, 2021
  15. Dec 17, 2021
  16. Dec 14, 2021
  17. Dec 05, 2021
  18. Dec 02, 2021
  19. Nov 30, 2021
  20. Nov 24, 2021