1. 11 10月, 2021 1 次提交
    • Y
      bump chisel and code clean up (#1104) · aef67050
      Yinan Xu 提交于
      * bump chisel to 3.5.0-RC1
      
      We don't want to use SNAPSHOT version any more because we don't know
      what will happen when we wake up in the morning.
      
      * misc: remove TMA_* to avoid conflicts
      aef67050
  2. 10 10月, 2021 1 次提交
    • C
      add softprefetch (prefetch.r & prefetch.w). (#1099) · 3f4ec46f
      CODE-JTZ 提交于
      * add soft prefetch
      Add the softprefetch. Actually, prefetch.r&w are an ORI which's ldest is x0, we distinguish it in decodeUnit and send it to ld func unit. Then, we modified some interaction signals in ordinary Load steps.
      3f4ec46f
  3. 28 9月, 2021 1 次提交
  4. 27 9月, 2021 1 次提交
    • J
      128KB L1D + non-inclusive L2/L3 (#1051) · 1f0e2dc7
      Jiawei Lin 提交于
      * L1D: provide independent meta array for load pipe
      
      * misc: reorg files in cache dir
      
      * chore: reorg l1d related files
      
      * bump difftest: use clang to compile verialted files
      
      * dcache: add BankedDataArray
      
      * dcache: fix data read way_en
      
      * dcache: fix banked data wmask
      
      * dcache: replay conflict correctly
      
       When conflict is detected:
      * Report replay
      * Disable fast wakeup
      
      * dcache: fix bank addr match logic
      
      * dcache: add bank conflict perf counter
      
      * dcache: fix miss perf counters
      
      * chore: make lsq data print perttier
      
      * dcache: enable banked ecc array
      
      * dcache: set dcache size to 128KB
      
      * dcache: read mainpipe data from banked data array
      
      * dcache: add independent mainpipe data read port
      
      * dcache: revert size change
      
      * Size will be changed after main pipe refactor
      
      * Merge remote-tracking branch 'origin/master' into l1-size
      
      * dcache: reduce banked data load conflict
      
      * MainPipe: ReleaseData for all replacement even if it's clean
      
      * dcache: set dcache size to 128KB
      
      BREAKING CHANGE: l2 needed to provide right vaddr index to probe l1,
      and it has to help l1 to avoid addr alias problem
      
      * chore: fix merge conflict
      
      * Change L2 to non-inclusive / Add alias bits in L1D
      
      * debug: hard coded dup data array for debuging
      
      * dcache: fix ptag width
      
      * dcache: fix amo main pipe req
      
      * dcache: when probe, use vaddr for main pipe req
      
      * dcache: include vaddr in atomic unit req
      
      * dcache: fix get_tag() function
      
      * dcache: fix writeback paddr
      
      * huancun: bump version
      
      * dcache: erase block offset bits in release addr
      
      * dcache: do not require probe vaddr != 0
      
      * dcache: opt banked data read timing
      
      * bump huancun
      
      * dcache: fix atom unit pipe req vaddr
      
      * dcache: simplify main pipe writeback_vaddr
      
      * bump huancun
      
      * dcache: remove debug data array
      
      * Turn on all usr bits in L1
      
      * Bump huancun
      
      * Bump huancun
      
      * enable L2 prefetcher
      
      * bump huancun
      
      * set non-inclusive L2/L3 + 128KB L1 as default config
      
      * Use data in TLBundleB to hint ProbeAck beeds data
      
      * mmu.l2tlb: mem_resp now fills multi mq pte buffer
      
      mq entries can just deq without accessing l2tlb cache
      
      * dcache: handle dirty userbit
      
      * bump huancun
      
      * chore: l1 cache code clean up
      
      * Remove l1plus cache
      * Remove HasBankedDataArrayParameters
      
      * Add bus pmu between L3 and Mem
      
      * bump huncun
      
      * dcache: fix l1 probe index generate logic
      
      * Now right probe index will be used according to the len of alias bits
      
      * dcache: clean up amo pipeline
      
      * DCacheParameter rowBits will be removed in the future, now we set it to 128
      to make dcache work
      
      * dcache: fix amo word index
      
      * bump huancun
      Co-authored-by: NWilliam Wang <zeweiwang@outlook.com>
      Co-authored-by: Nzhanglinjuan <zhanglinjuan20s@ict.ac.cn>
      Co-authored-by: NTangDan <tangdan@ict.ac.cn>
      Co-authored-by: NZhangZifei <zhangzifei20z@ict.ac.cn>
      Co-authored-by: Nwangkaifan <wangkaifan@ict.ac.cn>
      1f0e2dc7
  5. 16 9月, 2021 1 次提交
  6. 13 9月, 2021 1 次提交
  7. 11 9月, 2021 1 次提交
  8. 10 9月, 2021 1 次提交
    • J
      Use HuanCun instead of block-inclusive-cache (#1016) · a1ea7f76
      Jiawei Lin 提交于
      * misc: add submodule huancun
      
      * huancun: integrate huancun to SoC as L3
      
      * remove l2prefetcher
      
      * update huancun
      
      * Bump HuanCun
      
      * Use HuanCun instead old L2/L3
      
      * bump huancun
      
      * bump huancun
      
      * Set L3NBanks to 4
      
      * Update rocketchip
      
      * Bump huancun
      
      * Bump HuanCun
      
      * Optimize debug configs
      
      * Configs: fix L3 bug
      
      * Add TLLogger
      
      * TLLogger: fix release ack address
      
      * Support write prefix into database
      
      * Recoding more tilelink info
      
      * Add a database output format converter
      
      * missqueue: add difftest port for memory difftest during refill
      
      * misc: bump difftest
      
      * misc: bump difftest & huancun
      
      * missqueue: do not check refill data when get Grant
      
      * Add directory debug tool
      
      * config: increase client dir size for non-inclusive cache
      
      * Bump difftest and huancun
      
      * Update l2/l3 cache configs
      
      * Remove deprecated fpga/*
      
      * Remove cache test
      
      * Remove L2 preftecher
      
      * bump huancun
      
      * Params: turn on l2 prefetch by default
      
      * misc: remove duplicate chisel-tester2
      
      * misc: remove sifive inclusive cache
      
      * bump difftest
      
      * bump huancun
      
      * config: use 4MB L3 cache
      
      * bump huancun
      
      * bump difftest
      
      * bump difftest
      Co-authored-by: Nwangkaifan <wangkaifan@ict.ac.cn>
      Co-authored-by: NTangDan <tangdan@ict.ac.cn>
      a1ea7f76
  9. 01 9月, 2021 1 次提交
  10. 25 8月, 2021 2 次提交
  11. 24 8月, 2021 1 次提交
  12. 24 7月, 2021 1 次提交
  13. 04 6月, 2021 1 次提交
  14. 19 4月, 2021 1 次提交
    • J
      Refactor parameters, SimTop and difftest (#753) · 2225d46e
      Jiawei Lin 提交于
      * difftest: use DPI-C to refactor difftest
      
      In this commit, difftest is refactored with DPI-C calls.
      There're a few reasons:
      (1) From Verilator's manual, DPI-C calls should be more efficient than accessing from dut_ptr.
      (2) DPI-C is cross-platform (Verilator, VCS, ...)
      (3) difftest APIs are splited from emu.cpp to possibly support more backend platforms
      (NEMU, Spike, ...)
      
      The performance at this commit is quite slower than the original emu.
      Performance issues will be fixed later.
      
      * [WIP] SimTop: try to use 'XSTop' as soc
      
      * CircularQueuePtr: ues F-bounded polymorphis instead implict helper
      
      * Refactor parameters & Clean up code
      
      * difftest: support basic difftest
      
      * Support diffetst in new sim top
      
      * Difftest; convert recode fmt to ieee754 when comparing fp regs
      
      * Difftest: pass sign-ext pc to dpic functions && fix exception pc
      
      * Debug: add int/exc inst wb to debug queue
      
      * Difftest: pass sign-ext pc to dpic functions && fix exception pc
      
      * Difftest: fix naive commit num limit
      Co-authored-by: NYinan Xu <xuyinan1997@gmail.com>
      Co-authored-by: NWilliam Wang <zeweiwang@outlook.com>
      2225d46e
  15. 31 3月, 2021 1 次提交
  16. 25 3月, 2021 3 次提交
    • A
      Refactor XSPerf, now we have three XSPerf Functions. · 408a32b7
      Allen 提交于
      XSPerfAccumulate: sum up performance values.
      XSPerfHistogram: count the occurrence of performance values, split them
      into bins, so that we can estimate their distribution.
      XSPerfMax: get max of performance values.
      408a32b7
    • A
      Added several performance counters to L1DCache. · e0a152a4
      Allen 提交于
      Not tested yet.
      
      Added:
      * L1 MSHR occupation
      * L1 MSHR latency
      * L1 Load Miss latency
      * L1 Store latency
      * L1 Store occupation
      * L1 Load req count
      e0a152a4
    • W
      Perf: add queue perf analysis utility (#714) · e90e2687
      wakafa 提交于
      * perf: set acc arg of XSPerf as false by default
      
      * perf: add write-port competition counter for intBlock & floatBlock
      
      * perf: remove prefix of perf signal
      
      * perf: add perf-cnt for interface between frontend & backend
      
      * perf: modify perf-cnt for prefetchers
      
      * Ftq: bypass 'commit state' to fix dequeue bug
      
      * perf: uptimize perf-cnt in ctrlblock & ftq
      
      * perf: fix compilation problem in ftq
      
      * perf: remove duplicate perf-cnt
      
      * perf: calcu extra walk cycle exceeding frontend flush bubble
      
      * Revert "perf: calcu extra walk cycle exceeding frontend flush bubble"
      
      This reverts commit 2c30e9896b6af93a34e2d8d78055d810ebd0ac70.
      
      * perf: add perf-cnt for ifu
      
      * perf: add perf-cnt for rs
      
      * RS: optimize numExist signal
      
      * RS: fix some typo
      
      * perf: add QueuePerf util to monitor usage info of queues
      
      * perf: remove some duprecate perfcnt
      e90e2687
  17. 22 3月, 2021 1 次提交
  18. 10 3月, 2021 1 次提交
  19. 03 3月, 2021 1 次提交
  20. 02 3月, 2021 1 次提交
  21. 01 3月, 2021 1 次提交
    • A
      optimize L1 DCache timing (#616) · 27d2b883
      allen 提交于
      * DCache: remove ecc to improve timing.
      
      * MissQueue: refill_arb change RRArbiter to Arbiter to improve timing.
      27d2b883
  22. 24 2月, 2021 1 次提交
  23. 23 2月, 2021 2 次提交
  24. 20 2月, 2021 1 次提交
  25. 09 2月, 2021 1 次提交
  26. 26 1月, 2021 2 次提交
  27. 25 1月, 2021 2 次提交
  28. 24 1月, 2021 3 次提交