1. 09 12月, 2021 1 次提交
    • Y
      core: refactor writeback parameters (#1327) · 6ab6918f
      Yinan Xu 提交于
      This commit adds WritebackSink and WritebackSource parameters for
      multiple modules. These traits hide implementation details from
      other modules by defining IO-related functions in modules.
      
      By using WritebackSink, ROB is able to choose the writeback sources.
      Now fflags and exceptions are connected from exe units to reduce write
      ports and optimize timing.
      
      Further optimizations on write-back to RS and better coding style to
      be added later.
      6ab6918f
  2. 08 12月, 2021 4 次提交
  3. 07 12月, 2021 3 次提交
  4. 06 12月, 2021 9 次提交
  5. 05 12月, 2021 6 次提交
  6. 04 12月, 2021 2 次提交
  7. 03 12月, 2021 2 次提交
  8. 02 12月, 2021 6 次提交
  9. 01 12月, 2021 7 次提交
    • J
      Change L2 to 4 banks (#1256) · 59239bc9
      Jiawei Lin 提交于
      * misc: soc timing optimize
      
      * XSTile: insert buffer between L1Dcache and L2
      
      * Bump huancun
      
      * Change L2 to 4 banks
      
      * Adjust buffers
      
      * Add more buffers for peripheral port
      
      * Fix submodule version
      59239bc9
    • J
      ICacheMainPipe: fix a bug in set conflict (#1284) · 3665ef30
      Jay 提交于
      3665ef30
    • W
      dcache: optimize wbq enqueue logic for timing (#1277) · 77af2bae
      William Wang 提交于
      * sbuffer: do flush correctly while draining sbuffer
      
      * ci: enable ci for timing-memblock branch
      
      * mem: disable EnableFastForward for timing reasons
      
      * sbuffer: optimize forward mask gen timing
      
      * dcache: block main pipe req if refill req is valid
      
      Refill req comes from refill arbiter. There is not time left for index
      conflict check. Now we simplily block all main pipe req when refill
      req comes from miss queue.
      
      * dcache: delay some resp signals for better timing
      
      * dcache: optimize wbq enq entry select timing
      
      * WritebackQueue: optimize enqueue logic fir timing
      
      * WritebackQueue: always reject a req when wbq is full
      
      * Revert "ci: enable ci for timing-memblock branch"
      
      This reverts commit 32453dc4.
      
      * WritebackQueue: fix bug in secondary_valid
      Co-authored-by: Nzhanglinjuan <zhanglinjuan20s@ict.ac.cn>
      77af2bae
    • L
      mmu: timing optimization for TLB's mux, PTWFilter and LoadUnit's fastUop (#1270) · cccfc98d
      Lemover 提交于
      * Filter: hit dont care asid for when asid change, flush all
      
      * TLB: timing opt in hitppn and hitperm Mux
      
      * l2tlb.filter: timing opt in enqueue filter logic
      
      add one more cycle when enq to break up tlb's hit check and filter's
      dup check.
      
      so there are 3 stage: regnext -> enqueue -> issue
      when at regnext stage:
        1. regnext after filter with ptw_resp
        2. do 'same vpn' check with
          1) old entries &
          2) new reqs &
          3) old reqs.
          but don't care new reqs'valid
      when at enqueue stage:
        use last stage(regnext)'s result with valid signal at this stage
        to check if duplicate or not. update ports or enq ptr, et al.
        alse **optimize enqPtrVec generating logic**
        also **optimize do_iss generating logic**
      
      * TLB: add fast_miss that dontcare sram's hit result
      
      * L2TLB.filter: move lastReqMatch to first stage
      cccfc98d
    • L
      Fix div -1 bug (#1285) · 7eabd47c
      Li Qianruo 提交于
      7eabd47c
    • Y
      rob,lsq: delay one more cycle for commits (#1286) · 8a33de1f
      Yinan Xu 提交于
      8a33de1f
    • Y
      fdiv: enable fast uop to reduce latency (#1275) · dcbc69cb
      Yinan Xu 提交于
      dcbc69cb