719fffff40
make sure updates from irel and iacq gated by tracker allocation
2016-06-17 17:15:02 -07:00
b75b6fdcda
make sure no-data voluntary releases get tracked
2016-06-17 17:15:02 -07:00
ebe95fa827
fix wmask buffer clearing in L2 agents
2016-06-16 15:34:31 -07:00
16bfbda3c9
Refactor the TransactionTracker logic in all the L2 TileLink Managers.
...
They now share common sub-transactions within traits, and use a common
set of state transitions and scoreboarding logic. Tracker allocation
logic has also been updated. No changes to external IOs or the TileLink protocol.
A new bufferless Broadcast hub is also included, but does not yet pass fuzzing checks.
2016-06-16 15:18:48 -07:00
31e145eaf0
fix BroadcastHub allocation and routing
2016-04-05 16:21:18 -07:00
c13b8d243d
BroadcastHub race on allocating VolWBs vs Acquires
2016-03-17 18:32:35 -07:00
5f3d3a0b2d
Bugfix for probe flags in L2BroadcastHub
...
Closes #25
2016-03-17 16:42:40 -07:00
49d82864bf
Fix StoreDataQueue allocation bug in BroadcastHub
...
Closes #27
2016-03-17 12:31:18 -07:00
93773a4496
Refactor L2 transaction trackers to each be capable of processing Voluntary Writebacks.
...
To elide several races between reading and writing the metadata array for different types of transactions, all L2XactTrackers can now sink Voluntary Releases (writebacks from the L1 in the current implementation). These writebacks are merged with the ongoing transaction, and the merging tracker supplies an acknowledgment of the writeback in addition to its ongoing activities. This change involved another refactoring of the control logic for allocating new trackers and routing incoming Acquires and Releases. BroadcastHub uses the new routing logic, but still processes all voluntary releases through the VoluntaryReleaseTracker (not a problem because there are no metadata update races).
Closes #18
Closes #20
2016-03-10 17:14:34 -08:00
929d8e31f7
refactor ready/valid logic for routing release messages in the l2
2016-02-19 16:30:26 -08:00
4ff1aea288
fix more Chisel3 deprecations
2016-01-14 14:55:45 -08:00
55a85cc67a
make sure wmask is passed for PutBlock in broadcast hub
2015-11-20 14:09:24 -08:00
2b977325e3
Make prefetch type available in a_type, issue probeInvalidates for putPrefetches
2015-11-16 23:26:13 -08:00
d4b8653002
fix too strict assertion in broadcast hub
2015-10-31 15:58:10 -07:00
f8594da1d3
depend on external cde library
2015-10-21 18:17:17 -07:00
e1f573918d
simplify TileLinkParameters with Option
2015-10-16 18:24:38 -07:00
49667aa4b0
make sure broadcast acquire tracker doesn't try to send requests back-to-back
2015-10-14 18:56:13 -07:00
1d362d6d3a
make sure correct parameters are used for TileLink constructors
2015-10-14 17:58:54 -07:00
7fa3eb95e3
refactor tilelink params
2015-10-14 12:13:37 -07:00
31be6407ec
Removed all traces of params
2015-10-14 00:23:28 -07:00
1e7f656527
get release block address from inner release
2015-09-28 15:02:51 -07:00
6ee6ea4f1e
use Put/Get/PutBlock/GetBlock constructors in broadcast hub
2015-09-14 12:57:54 -07:00
24f3fac90a
fix broadcast hub and TL -> NASTI converter to support subblock operations
2015-09-14 12:56:44 -07:00
05d311c517
Use Vec.apply, not Vec.fill, for type nodes
2015-08-27 09:47:02 -07:00
77cf26aeba
Chisel3: Flip order of := and <>
2015-08-03 18:53:39 -07:00
6fc807f069
Chisel3: Avoid subword assignment
2015-08-01 21:08:35 -07:00
6d574f8c1b
Fix incompatible assignment
2015-07-31 00:59:34 -07:00
377e17e811
Add Wire() wrap
2015-07-31 00:32:02 -07:00
0e06c941df
Chisel3 compatibility fixes
2015-07-23 14:58:46 -07:00
15cec0eab7
Vec(Reg) -> Reg(Vec)
2015-07-15 12:44:54 -07:00
f3a838cedf
nasti converters, hub bugfix
2015-05-21 19:49:17 -07:00
6d40a61060
TileLink scala doc and parameter renaming
2015-04-19 22:06:44 -07:00
ba7a8b1752
TileLink refactor; TileLinkPorts now available. L2Banks no longer have unique ids (suitable for hierarhical P&R).
2015-04-17 16:55:20 -07:00
ce3271aef2
refactor LNClients and LNManagers
2015-04-15 15:48:36 -07:00
9708d25dff
Restructure L2 state machine and utilize HeaderlessTileLinkIO
2015-04-06 12:19:51 -07:00
b7af610569
broadcast hub bugfix
2015-03-26 11:29:04 -07:00
4176edaa34
clean up tracker allocation
2015-03-26 10:17:51 -07:00
6d565d22e3
clean up acquire alloc in hub
2015-03-17 13:09:45 -07:00
23a6b007c1
Fix BroadcastHub AcquiteTracker allocation bug and clean up tracker wiring
2015-03-15 23:10:51 -07:00
8181262419
clean up incoherent and probe flags
2015-03-12 16:22:14 -07:00
1bed6ea498
New metadata-based coherence API
2015-02-28 17:32:03 -08:00