- Feb 28, 2018
-
-
Andrew Waterman authored
AMO.aq should be implemented as AMO;FENCE, whereas AMO.rl should be implemented as FENCE;AMO. These had been swapped. This error does not affect cacheable accesses using the blocking D$, nor does it affect accesses to the data scratchpad, nor does it affect accesses to strongly ordered I/O regions (which is the default). Cacheable accesses using the nonblocking D$ and accesses to weakly ordered I/O regions may manifest memory-ordering violations. For these accesses, the workaround is to use AMO.aqrl whenever AMO.aq or AMO.rl had been used.
-
Andrew Waterman authored
In Rocket, debug triggers are supposed to happen before a store occurs, rather than after. Previously, we reported the exception on the store's PC, but the store occurred anyway. This probably hasn't been problematic in practice because most stores are idempotent.
-
- Dec 09, 2017
-
-
Gleb Gagarin authored
Prevent frontend deadlock fetching from uncacheable memory
-
- Dec 08, 2017
-
-
Andrew Waterman authored
-
Andrew Waterman authored
After detecting a corrupted BTB, don't speculatively update it until the next non-speculative fetch. This prevents the frontend from replaying forever.
-
Jacob Chang authored
Add cover points related to memory error to I/D Cache
-
Andrew Waterman authored
* When writing full words to ITIM, ECC errors are correctable * Disable D$ tag reset state machine when using scratchpad
-
- Dec 05, 2017
-
-
Richard Xia authored
Fix typo in breakpoint cover property.
-
Richard Xia authored
-
- Dec 02, 2017
-
-
Wesley W. Terpstra authored
The reason for the :=? operator was for when you have an adapter chain whose direction of cardinality you could not know. We used explicit directives to tell these compositions which way to go. Unfortunately, that makes the API leaky. You think the chain of adapters is just one adapter, but you have to use strange Cardinality scopes to use it. That's just bad. The new :*=* just automagically figures it out from the graph.
-
Wesley W. Terpstra authored
-
Henry Cook authored
Added coverage point to cover the case when ECC error happens during …
-
Gleb Gagarin authored
-
Gleb Gagarin authored
-
Wesley W. Terpstra authored
In situ unit tests
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
This removes the mostly obsolete 'numIn/Out' range restrictions on nodes. It also makes it possible to connect optional crossbars that disappear. val x = TLXbar() x := master slave := x val y = TLXbar() x :=* y // only connect y if it gets used This will create crossbar x, but crossbar y will disappear.
-
Wesley W. Terpstra authored
The new rule is you should have an object.apply method if you only have a single .node.
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
This is necessary capture the node implementation in the handle, which is in turn necessary to support cloning a Node.
-
- Dec 01, 2017
-
-
Wesley W. Terpstra authored
TileLink compliance: d_bits may not depend on d_ready
-
Wesley W. Terpstra authored
RegField.bytes updates only those bytes which are written every cycle. However, there was a bug that it would try to return the updated value on reads. This led to another TL-spec violating combinational path, just like the Debug module.
-
Wesley W. Terpstra authored
When passed a Wire, WNotify outputs that wire on reads wire => d_bits. Furthermore, it updates the Wire when a write occures d_ready => wire. These registers should be returning undefined value on read, anyway.
-
Richard Xia authored
Add cover properties for exceptions in the core.
-
Richard Xia authored
-
Richard Xia authored
-
Henry Cook authored
Avoid data corruption under correctable tag error during flush
-
- Nov 30, 2017
-
-
Andrew Waterman authored
This esoteric bug manifests if a tag-read error occurs when a FENCE.I is executed, even if the error was correctable. Subsequently, an attempt to flush a dirty line may flush the wrong line's data.
-
Andrew Waterman authored
This reverts commit 44eb4d12.
-
Andrew Waterman authored
This esoteric bug manifests if a tag-read error occurs when a FENCE.I is executed, even if the error was correctable. Subsequently, an attempt to flush a dirty line may flush the wrong line's data.
-
- Nov 28, 2017
-
-
Megan Wachs authored
debug: Remove workaround for Chisel 3 #527
-
Megan Wachs authored
-