diff options
| author | Jack Koenig | 2019-12-26 13:27:39 -0800 |
|---|---|---|
| committer | Jack Koenig | 2019-12-30 21:24:20 -0800 |
| commit | 1f63318b849012ba5655ac26774db383cf57f37d (patch) | |
| tree | 258b18b1d36c2ac853d933caa90df9d958604a97 /src/test/scala/firrtlTests/ExtModuleTests.scala | |
| parent | 70088cd22d842fd757d39150062e81c32e427dde (diff) | |
Respect last connect semantics in InferResets
InferResets will now support last connect semantics (within the same
scope) when determining the concrete reset type for components of type
Reset. This only includes *unconditional* last connects; it remains
illegal to drive a component of type Reset with different concrete types
under differing when conditions.
For example, the following is now legal:
input a : UInt<1>
input b : AsyncReset
output z : Reset
z <= a
z <= b
The second connect will when and z will be of type AsyncReset.
The following remains illegal:
input a : UInt<1>
input b : AsyncReset
input c : UInt<1>
output z : Reset
z <= a
when c :
z <= b
This commit also ensures that components of type Reset with no drivers
(or only invalidation) default to type UInt<1>. This fixes a bug where
the transform would crash with such input.
Diffstat (limited to 'src/test/scala/firrtlTests/ExtModuleTests.scala')
0 files changed, 0 insertions, 0 deletions
