Andrew Waterman
e3b12e0b85
Make BTB more complexity-effective
...
BTB entries reference a small number of unique pages, so we separate the
storage of pages from indices. This makes much larger BTBs feasible. It's
easy to exacerbate cycle time this way, so one-hot encoding is used as needed.
2014-03-25 05:22:04 -07:00
Andrew Waterman
6465e2df14
Make Int -> Bool conversions explicit
2014-03-24 04:36:53 -07:00
Andrew Waterman
0266c1f76a
Support retirement width > 1 in CSR file
2014-01-24 16:37:40 -08:00
Andrew Waterman
07a91bb99a
Miscellaneous cleanup
2013-12-09 19:53:14 -08:00
Andrew Waterman
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
Andrew Waterman
3895b75a56
Support non-power-of-2 BTBs; prefer invalid entries
2013-08-24 17:33:11 -07:00
Andrew Waterman
d4a0db4575
Reflect ISA changes
2013-08-24 14:43:55 -07:00
Henry Cook
3a266cbbfa
final Reg changes
2013-08-15 15:28:15 -07:00
Henry Cook
1a9e43aa11
initial attempt at upgrade
2013-08-12 10:39:11 -07:00
Andrew Waterman
7cc53c7725
clean up Str
2013-06-15 00:45:53 -07:00
Andrew Waterman
95c5147dc5
Add RISC-V instruction disassembler
2013-06-13 10:31:04 -07:00
Yunsup Lee
0f50970913
move HellaQueue to uncore
2013-03-19 00:43:20 -07:00
Yunsup Lee
a0bd0adeb2
change write/read port ordering for vlsi_mem_gen script
2013-01-29 21:32:42 -08:00
Andrew Waterman
66eb3720a4
fix SRAM semantics bug in HellaFlowQueue
2013-01-29 21:16:42 -08:00
Andrew Waterman
6275e009f8
fix HellaQueue deq.valid signal
2013-01-28 20:57:43 -08:00
Andrew Waterman
45d8066f45
add HellaQueue, an SRAM-based queue
2013-01-28 20:54:25 -08:00
Andrew Waterman
5b9f938263
correctly sign-extend badvaddr, epc, and ebase
2013-01-24 17:54:59 -08:00
Andrew Waterman
f5c53ce35d
add ecc support to d$ data rams
...
i haven't injected errors yet; it may well be incorrect.
2012-12-11 15:58:53 -08:00
Andrew Waterman
9c857b83f0
refactor PCR file
2012-11-27 01:28:06 -08:00
Andrew Waterman
608f65e716
don't wastefully read 2x the bits from D$ RAMs
2012-11-26 20:34:30 -08:00
Andrew Waterman
8a6ff5f9aa
fix D$ writeback bug
...
I swear I did this last week... perhaps I am finally losing it!
2012-11-25 19:46:48 -08:00
Andrew Waterman
55082e45c4
add AVec, which automatically infers element type
...
should consider modifying Vec as such
2012-11-24 18:19:28 -08:00
Andrew Waterman
5a7777fe4d
clock gate integer datapath more aggressively
2012-11-17 06:48:44 -08:00
Henry Cook
88ac5af181
Merged consts-as-traits
2012-10-16 16:32:35 -07:00
Andrew Waterman
fc648d13a1
remove old Mux1H; add implicit conversions
2012-10-16 02:24:37 -07:00
Henry Cook
dfdfddebe8
constants as traits
2012-10-07 22:20:03 -07:00
Huy Vo
d9cb96c0ae
factored out common stuff to ChiselUtil
2012-09-27 22:53:34 -07:00
Andrew Waterman
d4a001b867
add PriorityMux; use to implement PriorityEncoder
2012-08-22 13:38:25 -07:00
Andrew Waterman
be4fa936dd
fix PriorityEncoderOH bug
2012-07-30 18:28:54 -07:00
Andrew Waterman
2ec76390e3
improve PriorityEncoderOH and add Counter util
2012-07-30 16:06:55 -07:00
Huy Vo
a99cebb483
ioDecoupled -> FIFOIO, ioPipe -> PipeIO
2012-06-06 18:22:56 -07:00
Huy Vo
04304fe788
moving util out into Chisel standard library
2012-06-06 12:51:26 -07:00
Huy Vo
7408c9ab69
removing wires
2012-05-24 10:42:39 -07:00
Andrew Waterman
e1f9dc2c1f
generalize page table walker
...
also, don't instantiate vitlb when !HAVE_VEC
2012-05-03 02:29:09 -07:00
Andrew Waterman
eafdffe125
simplify page table walker; speed up emulator
2012-05-01 01:24:36 -07:00
Andrew Waterman
2ed0be65f9
fix RRArbiter
2012-03-19 00:19:33 -07:00
Yunsup Lee
ba06cd953e
add chosen
2012-03-18 20:43:17 -07:00
Andrew Waterman
7dde7099d2
use broadcast hub and coherent HTIF
2012-03-14 16:44:35 -07:00
Henry Cook
c5dd37ae80
bugfix in locking arbiter
2012-03-11 15:47:27 -07:00
Henry Cook
4ebf637642
More broadcast hub bugfixes
2012-03-11 14:17:27 -07:00
Andrew Waterman
e3a68848e0
fix D$ critical paths and fix verilog build
2012-03-09 20:02:51 -08:00
Andrew Waterman
766bac88f8
refactor D$ writebacks and flushes
...
MSHRs now arbitrate for writebacks and handle flushes.
2012-03-09 02:55:46 -08:00
Henry Cook
7f43dee0c9
PriorityEncoder apply() no longer has recursive depth param
2012-03-08 01:04:26 -08:00
Andrew Waterman
6e2610b0ad
fix Mux1H for bundles
2012-03-06 23:38:36 -08:00
Henry Cook
962e5a54af
Added store dependency queues to BroadcastHub. Minor improvements to utils.
2012-03-06 15:54:41 -08:00
Andrew Waterman
1e1926ce63
flip direction of ioPipe to match ioDecoupled
2012-03-02 16:18:32 -08:00
Yunsup Lee
8678b3d70c
clean up ioDecoupled/ioPipe interface
2012-03-01 20:48:46 -08:00
Henry Cook
da39810bb2
Fixed elaboration errors in LockingArbiter and BoradcastHub. Fixed ioDecoupled direction error in XactTracker
2012-03-01 18:24:22 -08:00
Henry Cook
c6162ac743
Unified hub ios. Fixed some hub elaboration errors.
2012-03-01 01:20:57 -08:00
Henry Cook
008ad1f45b
Added 'locking' arbiter that won't rearbitrate until the lock signal on the current winning input is low
2012-02-29 17:05:06 -08:00