1
0
Commit Graph

197 Commits

Author SHA1 Message Date
a1b7774f5d Simplify handling of CAUSE register 2014-01-24 16:37:39 -08:00
6ba2c1abe5 Use auto-generated CAUSE constants 2014-01-21 15:01:54 -08:00
57f4d89c90 Generate D$ replay_next signals correctly 2014-01-16 00:16:09 -08:00
31060ea8ae Fix fubar long-latency writeback control logic
Load miss writebacks happening at the same time as multiplication
wasn't working.  Hopefully this does it.
2014-01-14 04:02:43 -08:00
e8486817e6 Clean up formatting (i.e. remove tabs, semicolons) 2014-01-13 21:43:56 -08:00
07a91bb99a Miscellaneous cleanup 2013-12-09 19:53:14 -08:00
da3135ac9b Begin integer unit clean-up
...to make it easier to generate the superscalar version of the core.
2013-12-09 15:06:13 -08:00
16d5250924 Correct FP trap behavior on FCSR 2013-12-05 04:18:04 -08:00
924261e2b2 Update to new privileged ISA... phew 2013-11-25 04:35:15 -08:00
65b8340cea Mitigate D$ hit -> branch -> NPC critical path 2013-11-24 14:21:03 -08:00
3532ae0b79 From Andrew, actually mark scoreboard when rocc instruction with a writeback is issued. Also, fix an issue with AccumulatorExample not properly tagging its memory requests. Finally, reverted changes from f27429c to more properly follow the spike model (always return previous value of accumulator). 2013-09-24 10:54:09 -07:00
1d2f4f8437 New ISA encoding, AUIPC semantics 2013-09-21 06:32:40 -07:00
f12bbc1e43 working RoCC AccumulatorExample 2013-09-14 22:34:53 -07:00
a0cb711451 Start adding RoCC 2013-09-14 15:31:50 -07:00
d053bdc89f Remove Hwacha from Rocket
Soon it will use the coprocessor interface.
2013-09-12 22:34:38 -07:00
59f5358435 Implement AQ/RL; move fence logic out of cache 2013-09-12 16:07:30 -07:00
243c4ae342 sync up rocket with new isa 2013-09-12 03:44:38 -07:00
d1b5076fee Don't update BTB when garbage was fetched 2013-08-24 14:44:11 -07:00
52e31f3298 Bypass scoreboard updates
This reduces div/mul/D$ miss latency by 1 cycle.
2013-08-24 14:44:04 -07:00
d4a0db4575 Reflect ISA changes 2013-08-24 14:43:55 -07:00
3a266cbbfa final Reg changes 2013-08-15 15:28:15 -07:00
b570435847 Reg standardization 2013-08-13 17:50:02 -07:00
1a9e43aa11 initial attempt at upgrade 2013-08-12 10:39:11 -07:00
9abdf4e154 Make compatible with scala 2.10. List.sort deprecated. Refactor constants into package object. 2013-07-23 20:27:58 -07:00
c837c1d800 fix bug in previous JALR commit
on commit tag 9a122c06d1bf11237d7fb0769d454a67bbb7400e
2013-05-21 18:28:44 -07:00
28f914c3f2 don't JALR to speculatively-bypassed addresses
Technically not necessary, but probably improves performance.
2013-05-21 16:56:58 -07:00
3a1b5f01b2 don't take interrupts while they're disabled!
a control bug allowed an interrupt to be taken on the instruction immediately
following an interrupt-disabling instruction (but not thereafter).
2013-05-19 23:27:47 -07:00
50ccc20bf3 replace RDNPC with AUIPC 2013-04-22 04:20:15 -07:00
8cbdeb2abf add LR/SC support 2013-04-04 17:07:09 -07:00
fc46daecf6 don't flush pipeline on writes to side-effect-free PCRs
notably, K0, K1, and EPC
2013-04-04 17:07:09 -07:00
d4a3351cfc expose pending interrupts in status register 2013-04-04 17:07:08 -07:00
575bd3445a re-generalize scoreboard 2013-01-24 18:00:39 -08:00
63060bc0a8 minor tweaks for eos18 tapeout (SRAM r/w port ordering, etc) 2013-01-23 19:27:53 -08:00
e1225c5114 standardize IO naming convention 2013-01-07 13:41:36 -08:00
05f19b21d0 merge multiplier and divider 2012-12-12 02:22:47 -08:00
9c857b83f0 refactor PCR file 2012-11-27 01:28:06 -08:00
352bb464b5 clock gate X/M and M/W store data registers 2012-11-26 20:33:41 -08:00
de2f28193a get rid of more global constants 2012-11-25 04:24:25 -08:00
c036cdc1ea add option for 2-cycle load-use delay 2012-11-24 22:01:08 -08:00
29bc361d6c remove global constants; disentangle hwacha a bit 2012-11-17 17:24:08 -08:00
5a7777fe4d clock gate integer datapath more aggressively 2012-11-17 06:48:44 -08:00
8dce89703a new D$ with better QoR and AMO pipelining
Vector unit is disabled because nack handling needs to be fixed.
2012-11-16 02:39:33 -08:00
ff8c736d94 move icache invalidate out of request bundle 2012-11-16 01:55:45 -08:00
be1980dd2d refactored vector queue interface 2012-11-07 01:15:33 -08:00
4d1ca8ba3a remove more global consts; refactor DTLBs
D$ now contains DTLB. provide full VAddr with initial request.
VU now has its own DTLBs.
2012-11-06 08:13:44 -08:00
e76892f758 remove more global constants 2012-11-06 02:55:45 -08:00
c5b93798fb factor out more global constants 2012-11-05 23:52:32 -08:00
5b20ed71be move rd=0 check into bypass logic
before, the check was in the write enable logic, but moving it obviated
an awkward corner case for mtpcr with rd=0.
2012-11-05 01:30:57 -08:00
7380c9fe60 aggressively clock gate int and fp datapaths 2012-11-04 16:40:14 -08:00
88ac5af181 Merged consts-as-traits 2012-10-16 16:32:35 -07:00