Commit Graph
31 Commits
Author SHA1 Message Date
Christopher Celio e22bf02a80 [commitlog] CSR's cycle optionally set to instret
- Allows debugging Rocket against Spike by having timer interrupts
    occur in the same place in the instruction stream for both.
2015-09-15 16:47:26 -07:00
Christopher Celio 7d14abf262 [commitlog] Added privilege-level to output 2015-09-15 16:47:24 -07:00
Christopher Celio 53a02a62c8 [commitlog] Fix sp/dp bug in FPU writeback 2015-09-15 16:46:47 -07:00
Christopher Celio d630a03857 [commitlog] Added FP instructions to the commitlog 2015-09-15 15:59:13 -07:00
Christopher Celio 91458bef1c [commitlog] Initial commit log for integer working 2015-09-15 15:59:03 -07:00
Christopher Celio b09832f1b5 ICache now returns the "next PC" signal.
useful for other modules that need access to the fetch PC on the
   cycle it is sent to the SRAM.
2015-05-07 04:53:05 -07:00
Christopher Celio 517d0d4b89 feedback on PR 2015-04-12 18:44:03 -07:00
Christopher Celio 4d6ebded02 Added assert to nbdcache 2015-04-11 02:58:34 -07:00
Christopher Celio a564f08702 Rename dmem.sret signal to more accurate invalidate_lr 2015-04-11 02:26:33 -07:00
Christopher Celio 8fc2d38ca9 Removed unnecessary signal in CSRIO 2015-04-11 02:20:34 -07:00
Christopher Celio 2f88c5ca9d Renamed PCR to CSR 2015-04-11 02:16:44 -07:00
Christopher Celio 11dbd4221a Fixed front-end to support four-wide fetch. 2015-04-10 17:53:47 -07:00
Christopher Celio 06dea3790a Removed sret from ptw; sret now comes thru io.cpu to dcache 2015-03-03 16:50:41 -08:00
Christopher Celio 5d07733057 Removed TLBPTWIO from the io.cpu bundle for icache/dcache 2015-03-03 16:40:39 -08:00
Christopher Celio f19b3ca43e Deleted extra spaces at EOL in ctrl.scala 2014-11-16 22:04:33 -08:00
Christopher Celio 6749f67b7f Fixed BHT update error.
- separated out BTB/BHT update
   - BHT updates counters on every branch
   - BTB update only on mispredicted and taken branches
2014-11-16 22:02:27 -08:00
Christopher Celio fea31d2167 Significant changes and fixes to BTB for superscalar fetch.
- BTBUpdate only occurs on mispredicts now.
   - RASUpdate broken out from BTBUpdate (allows RASUpdate to be performed in
      Decode).
   - Added optional 2nd CAM port to BTB for updates (for when updates to the
      BTB may occur out-of-order).
   - Fixed resp.mask bit logic.
2014-11-11 03:34:05 -08:00
Christopher Celio 3be3cd7731 Fixed error with icache/btb resp mask. 2014-11-03 01:13:22 -08:00
Christopher Celio 08d2c13330 Fixed btb/icache bugs regarding resp mask, fw==1 2014-10-20 18:45:23 -07:00
Christopher Celio 91efdc379b Merge remote-tracking branch 'origin/master' into ss-frontend
Also fixed bridx logic and zero-width wire logic.

Conflicts:
	src/main/scala/btb.scala
2014-10-14 18:10:29 -07:00
Christopher Celio 59eb7d194d Finalize superscalar btb. 2014-10-03 16:08:08 -07:00
Christopher Celio 99614e37aa Merge remote-tracking branch 'origin/master' into ss-frontend
Conflicts:
	src/main/scala/btb.scala
	src/main/scala/core.scala
2014-10-03 04:22:58 -07:00
Christopher Celio 9cc35dee9a Returned history update to fetch.
- Global history only contains branches.
   - Only update BHT and history on BTB hits.
   - Gate off speculative update on stall or icmiss.
   - Fixed bug where BHT updates were delayed a cycle.
2014-09-29 21:41:07 -07:00
Christopher Celio 8ccd07cfeb Moved updating global history from fetch to decode.
- No longer update global history in fetch stage.
   - Only update global history when instruction is a branch.
   - Does allow for the possibility of back-to-back branches to see
     slightly different histories on subsequent executions.
2014-09-28 05:16:36 -07:00
Christopher Celio 681b43f398 Bug fixes with global history register.
- Updated in fetch speculatively.
      * Updates gated off by cpu.resp.fire().
      * BTB direction factored into history update.
   - All branches update the BHT.
   - Each instruction carries history; index into BHT is recomputed by
     passing in mem_reg_pc.
2014-09-26 10:39:57 -07:00
Christopher Celio a71bdbbc54 Update history register in fetch speculatively 2014-09-26 05:42:08 -07:00
Christopher Celio f917810061 Removed RocketCoreParameters from use.
- The nbdache (among others?) use CoreParameters, which has nothing to do with RetireWidth requirements.
   - This conflicts with other cores which uses nbdcache.
   - RocketCoreParameters may be unneccessary, and the require() check can be moved deeper into Rocket.
2014-09-26 05:14:50 -07:00
Christopher Celio 868e747656 Factored out Rocket specifics from CoreParameters
- Added new RocketCoreParameters
   - Other cores using Rocket as a library will no longer conflict against
      Rocket's requires().
2014-09-25 18:52:58 -07:00
Christopher Celio 180d3d365d Expanded front-end to support superscalar fetch. 2014-09-17 14:24:03 -07:00
Christopher Celio a2be21361e Allow ICacheConfig to toggle fetch-width. 2014-01-22 16:19:57 -08:00
Christopher Celio 1be9d15944 Fixed bug regarding case sensitivity regarding ioICache,ioDCache 2012-02-07 14:07:42 -08:00