Andrew Waterman
|
bc298bf146
|
Optimize ShiftQueue for late-arriving deq.ready
|
2017-08-04 22:06:37 -07:00 |
|
Andrew Waterman
|
6112adfbb0
|
Get L2 TLB tag/parity check off the D$ arbitration path
|
2017-08-04 17:01:51 -07:00 |
|
Andrew Waterman
|
8d97684555
|
Fix L2 TLB perfctr
It was counting conflict misses but not cold misses.
|
2017-08-04 17:01:31 -07:00 |
|
Andrew Waterman
|
df7f09b9ce
|
Get I$ ECC check further off critical path
|
2017-08-04 16:59:21 -07:00 |
|
Andrew Waterman
|
4bfbe75d74
|
Avoid pipeline replays when fetch queue is full
|
2017-08-04 16:59:21 -07:00 |
|
Andrew Waterman
|
a45997d03f
|
Separate I$ parity error from miss signal
Handle parity errors with a pipeline flush rather than a faster
frontend replay, reducing a critical path.
|
2017-08-04 16:59:21 -07:00 |
|
Andrew Waterman
|
06a831310b
|
Shave a gate delay off I$ backpressure path
The deleted code was a holdover from Hwacha's vector fences.
|
2017-08-04 13:12:43 -07:00 |
|
Andrew Waterman
|
ecc2ee366c
|
Shave a few gate delays off IBuf control logic
It takes a while for the pipeline to compute the stall signal, so avoid
using it until the last logic levels in the clock cycle.
|
2017-08-04 13:12:43 -07:00 |
|
Andrew Waterman
|
82ff81e40d
|
Merge pull request #924 from freechipsproject/dont-build-debug-verilog
Don't build verilog twice for emulator and emulator-debug
|
2017-08-04 10:16:59 -07:00 |
|
Andrew Waterman
|
7937db0c84
|
Merge pull request #919 from freechipsproject/imiss-perf-counter
Fix I$ miss perfctr
|
2017-08-04 01:04:23 -07:00 |
|
Andrew Waterman
|
21ac28b57a
|
Don't build verilog twice for emulator and emulator-debug
Since we aren't using chisel2, the output is the same either way.
|
2017-08-04 01:02:33 -07:00 |
|
Megan Wachs
|
017ac130c1
|
Merge pull request #922 from freechipsproject/bigger_tl_xbar
TLXbar: Allow more masters and slaves and issue a warning.
|
2017-08-03 16:52:56 -07:00 |
|
Megan Wachs
|
50c85f1b62
|
TLXbar: Allow more masters and slaves and issue a warning.
|
2017-08-03 15:46:06 -07:00 |
|
Andrew Waterman
|
ba4eecc0f0
|
Use UIntToOH1 (#921)
Closes #920
|
2017-08-03 14:55:39 -07:00 |
|
Andrew Waterman
|
f483bab4aa
|
Fix I$ miss perfctr
The old version was counting prefetches, too.
|
2017-08-03 00:52:12 -07:00 |
|
Andrew Waterman
|
1be1433f04
|
Merge pull request #918 from freechipsproject/icache-prefetch
Icache prefetch
|
2017-08-02 21:22:20 -07:00 |
|
Andrew Waterman
|
d66e8f8e80
|
Merge pull request #914 from freechipsproject/critical-paths
Fix some critical paths
|
2017-08-02 19:05:31 -07:00 |
|
Megan Wachs
|
3fc7100048
|
Merge pull request #917 from freechipsproject/fuzzer_order
TLFuzzer: Allow Ordered clients to be created as well by the fuzzer
|
2017-08-02 18:39:59 -07:00 |
|
Andrew Waterman
|
2537d0d54e
|
Optionally prefetch next I$ line into L2$ on miss
|
2017-08-02 17:10:56 -07:00 |
|
Andrew Waterman
|
744cdb2f72
|
Make TLB report when it's safe to prefetch within a page
|
2017-08-02 17:09:38 -07:00 |
|
Megan Wachs
|
d9821a74ce
|
Merge pull request #916 from freechipsproject/transfer_sizes_print
diplomacy: Pretty Print for TransferSizes
|
2017-08-02 16:56:36 -07:00 |
|
Megan Wachs
|
595415d207
|
TLFuzzer: Correct the number of ordered clients created
|
2017-08-02 15:48:21 -07:00 |
|
Megan Wachs
|
fc5c04ed4b
|
TLFuzzer: Allow Ordered clients to be created as well by the fuzzer
|
2017-08-02 14:44:18 -07:00 |
|
Andrew Waterman
|
7d2dd3769f
|
Optimize a hazard check critical path
|
2017-08-02 14:27:25 -07:00 |
|
Megan Wachs
|
85bdae0fa8
|
diplomacy: Pretty Print for TransferSizes
|
2017-08-02 11:40:50 -07:00 |
|
Andrew Waterman
|
2eb239d03f
|
Add option to retime D$ way mux into subsequent pipeline stage
|
2017-08-01 23:59:20 -07:00 |
|
Andrew Waterman
|
9464c6db40
|
Mitigate(?) frontend critical path
|
2017-08-01 18:51:17 -07:00 |
|
Andrew Waterman
|
735701382f
|
Mitigate some I$ response valid critical paths
|
2017-08-01 18:51:17 -07:00 |
|
Andrew Waterman
|
2ecea2ef60
|
Don't use a pipe queue on D$ TL A-channel
This cuts an I$->D$ path.
|
2017-08-01 15:17:07 -07:00 |
|
Yunsup Lee
|
f988b91575
|
Merge pull request #912 from freechipsproject/add-mask-rom
tilelink: add mask rom
|
2017-07-31 22:28:11 -07:00 |
|
Yunsup Lee
|
6ef8ee5d4d
|
tilelink: add mask rom
|
2017-07-31 21:34:04 -07:00 |
|
Yunsup Lee
|
4b33249812
|
Merge pull request #911 from freechipsproject/fix-dcache-bug
Fix D$ ready-valid signaling bug
|
2017-07-31 19:14:16 -07:00 |
|
Wesley W. Terpstra
|
42ff74bd34
|
Merge pull request #910 from freechipsproject/tilelink-map
Tilelink map
|
2017-07-31 18:33:09 -07:00 |
|
Andrew Waterman
|
e140893a01
|
Use 1-entry queue on processor-side E-channel
The cache can't sink a grant every cycle, so extra E buffering doesn't help.
|
2017-07-31 18:06:54 -07:00 |
|
Andrew Waterman
|
5681693ccc
|
Fix a D$ ready-valid signaling regression
I broke this in 66d06460fa .
|
2017-07-31 18:05:14 -07:00 |
|
Wesley W. Terpstra
|
d7fd9d2b82
|
tilelink: Filter, add another case
|
2017-07-31 16:51:26 -07:00 |
|
Yunsup Lee
|
71a250b071
|
Merge pull request #909 from freechipsproject/tile-buffer
add optional tile boundary buffers
|
2017-07-31 16:46:22 -07:00 |
|
Wesley W. Terpstra
|
b126105230
|
tilelink: add TLMap to make it possible to move slaves
|
2017-07-31 16:39:00 -07:00 |
|
Wesley W. Terpstra
|
13d3ffbcaa
|
tilelink: Filter now support arbitrary filter functions
|
2017-07-31 16:38:38 -07:00 |
|
Yunsup Lee
|
7adfd5c431
|
Merge pull request #906 from freechipsproject/critical-paths
Mitigate I$->D$->I$ critical path
|
2017-07-31 16:14:11 -07:00 |
|
Megan Wachs
|
07b4edfc87
|
Merge pull request #908 from freechipsproject/combo-breaker
dcache: break potential combinatorial loop
|
2017-07-31 16:13:01 -07:00 |
|
Yunsup Lee
|
f473e6bad0
|
tile: add optional boundary buffers
|
2017-07-31 15:57:22 -07:00 |
|
Yunsup Lee
|
cb3529bbc3
|
util: tweak rational crossings to avoid mux in source
|
2017-07-31 15:10:15 -07:00 |
|
Henry Cook
|
11332c1226
|
dcache: break potential combinatorial loop by making pstore_drain_on_miss more conservative
|
2017-07-31 14:03:30 -07:00 |
|
Andrew Waterman
|
d811692c3b
|
Mitigate I$->D$->I$ critical path
This seemingly irrelevant change shaves several gate delays off the I$
tl.a.valid path.
|
2017-07-31 01:43:04 -07:00 |
|
Yunsup Lee
|
ea1840c4b1
|
Merge pull request #904 from freechipsproject/fix-dcache-bug
Fix D$ ready-valid signaling bug
|
2017-07-29 20:30:47 -07:00 |
|
Andrew Waterman
|
ac4339a8e7
|
Pass D$ backpressure to D-channel, rather than asserting
|
2017-07-29 11:48:36 -07:00 |
|
Andrew Waterman
|
edcd2c696c
|
Avoid needless stall on E-channel back pressure
|
2017-07-29 11:47:58 -07:00 |
|
Wesley W. Terpstra
|
8e2e931770
|
Merge pull request #903 from freechipsproject/monitor-probes
tilelink: use the Monitor to enforce Probe sourcing
|
2017-07-29 01:12:08 -07:00 |
|
Wesley W. Terpstra
|
56e28026a6
|
TLError: does not need to be fast; cut the loop
The SystemBus already has a flow buffer on outputs.
|
2017-07-29 00:22:21 -07:00 |
|