1. Dec 20, 2023
    • Suraj Shirvankar's avatar
      Merge branch 'master' into lsu_drained · 21270acd
      Suraj Shirvankar authored
      21270acd
    • Suraj Shirvankar's avatar
      Lsu allow spec load exec (#92) · f4088b86
      Suraj Shirvankar authored
      
      
      This PR introduces the following
      - Allows loads to perform Virtual address to Physical address
      translation before older loads complete
        This can be configured using a parameter in the LSU (`allow_speculative_load_exec`)
      - Allow non blocking cache lookup requests. Depends on #91 for the cache
      to support this feature
      - Implements Ready queue - simulator-only structure to speed up
      instruction lookup in the LSU
      - Mitigates data hazards introduced by instructions running out of order
      - The length of the different stages of the LSU pipeline can be
      configured through the parameters.
      
      ---------
      
      Co-authored-by: default avatarKnute Lingaard <klingaard@gmail.com>
      f4088b86
  2. Dec 15, 2023
  3. Dec 14, 2023
  4. Dec 08, 2023
  5. Dec 06, 2023
  6. Dec 05, 2023
    • Aaron Chan's avatar
      Ignore Renaming of x0 (#120) · aeaf7c66
      Aaron Chan authored
      Fix renaming to skip renaming of x0 outlined in
      https://github.com/riscv-software-src/riscv-perf-model/issues/118
      
      .
      
      Changes:
      - `renameInstructions_()` now checks if a source is x0, if it is and is
      a data operand for a LSU operation, we still create a data register for
      it, as we need to check in LSU for x0 before issuing instruction
      - Added a boolean `x0` field to `Reg` struct in `RenameData` that tracks
      if a data register is an `x0` instruction. This helps on reclamation of
      rename credits in `getAckFromROB_()` to make sure we don't decrement for
      an x0 data register
      - Updated logic to handle for destination reclamation in
      `getAckFromROB_()` to ensure when we reclaim credits/freelist
      registers/references, we don't process them for x0 destinations
      - Fixed initial allocation of freelist registers for `RF_INTEGER` to
      only map registers for x1 - x31, before we were mapping from x0 - x31,
      so we should technically see a performance improvement as we gained 1
      extra freelist register from not renaming x0
      
      ---------
      
      Signed-off-by: default avatarAaron Chan <achn357@gmail.com>
      Co-authored-by: default avatarKnute <56927209+klingaard@users.noreply.github.com>
      aeaf7c66
  7. Nov 16, 2023
  8. Nov 14, 2023
    • Suraj Shirvankar's avatar
      Rename variable · c60c98e0
      Suraj Shirvankar authored
      c60c98e0
    • Knute's avatar
      New gen_layout commands (#107) · fdf08ff0
      Knute authored
      Removed the old perl generator; uses the new python generator in Sparta.
      
      These changes make a few assumptions: 
      1. The user is using a newer version of sparta map_v2
      2. The path to the clone of map is next to the clone of olympia
      fdf08ff0
    • jeffnye-gh's avatar
      jeffnye-gh/dromajo_stf_update (#119) · 75bdc947
      jeffnye-gh authored
      
      
      improve performance when stf tracing is enabled, issue #55 
       
      retain n_cycles=10000 until the stf trace opc is detected. 
      Once the stop opc is detected restore n_cycles=10000
      
      result is better interactivity under linux, improving overall
      performance and usability when not actively generating a trace.
      
      This is a re-implementation of previous draft PR.
      
      trace opc trigger detection is done in dromajo_template.
      trace record creation and handling is done in dromajo_stf.cpp
      headers gathered into dromajo_stf.h
      
      ---------
      
      Co-authored-by: default avatarjeff <jeffnye-gh@github.com>
      75bdc947
  9. Nov 13, 2023
  10. Nov 10, 2023
  11. Nov 09, 2023
  12. Nov 08, 2023
  13. Nov 03, 2023
  14. Nov 01, 2023
  15. Oct 14, 2023
  16. Oct 13, 2023
  17. Oct 09, 2023
  18. Oct 06, 2023
  19. Sep 28, 2023
  20. Sep 08, 2023
  21. Aug 30, 2023
    • Suraj Shirvankar's avatar
      Setup conda cache and ccache (#82) · d0c90020
      Suraj Shirvankar authored
      The goal of the PR is to improve build times.
      Currently the build steps take around > ~15 mins and most of the time is
      spent building sparta and the other dependencies.
      This should bring it down to roughly ~6 mins.
      
      CCache is used to cache build files, the cache for each branch is unique
      to prevent cache invalidation issues between different branches.
      
      Conda dependencies are also cached although the time to build is not
      affected as much roughly ~1 mins but would be higher if the network is
      slow.Conda spends a lot of time checking the dependencies.
      
      Cached action run
      https://github.com/h0lyalg0rithm/riscv-perf-model/actions/runs/5987171626
      d0c90020
  22. Aug 25, 2023
  23. Aug 09, 2023
  24. Aug 01, 2023