diff options
| author | azidar | 2015-08-04 12:32:45 -0700 |
|---|---|---|
| committer | azidar | 2015-08-04 12:32:45 -0700 |
| commit | 45a54fadf735742b819590f3209224636e56c715 (patch) | |
| tree | 025d0b33f7e1455d25adbffc2ec7c419e1a2053a /test/errors | |
| parent | ff6dfecf42560ed2e2eb678adc9ca8d868a472bd (diff) | |
Fixed reading from instance's input ports. Fixed unique naming bug.
Diffstat (limited to 'test/errors')
| -rw-r--r-- | test/errors/gender/BulkWrong.fir | 28 | ||||
| -rw-r--r-- | test/errors/gender/InstancePorts.fir | 17 | ||||
| -rw-r--r-- | test/errors/high-form/RemoveChar.fir | 12 |
3 files changed, 48 insertions, 9 deletions
diff --git a/test/errors/gender/BulkWrong.fir b/test/errors/gender/BulkWrong.fir index f65d0aa9..830e8156 100644 --- a/test/errors/gender/BulkWrong.fir +++ b/test/errors/gender/BulkWrong.fir @@ -1,16 +1,26 @@ ; RUN: firrtl -i %s -o %s.v -X verilog -p c 2>&1 | tee %s.out | FileCheck %s -; CHECK: Expression req is used as a sink but can only be used as a source. +; CHECK: Expression in is used as a sink but can only be used as a source. +; CHECK: Expression out.y is used as a sink but can only be used as a source. +; CHECK: Expression in.y.z is used as a sink but can only be used as a source. +; CHECK: Expression in.y.z is used as a sink but can only be used as a source. circuit BTB : module BTB : - input clk : Clock - input reset : UInt<1> - input req : {valid : UInt<1>, bits : {addr : UInt<39>}} + input in : {x : UInt<1>, flip y : {flip z : UInt<1>}} + output out : {x : UInt<1>, flip y : {flip z : UInt<1>}} - output r : { x : UInt<1>, flip y : UInt<1>} + in <> out + out.y <> in.y + out.y.z <> in.y.z + + wire w : {x : UInt<1>, flip y : {flip z : UInt<1>}} + w <> in + in.y <> w.y + in.y.z <> w.y.z - wire x : {valid : UInt<1>, bits : {addr : UInt<39>}} - req <> x + w.x := addw(in.x,in.y.z) + + out <> in + in.y <> out.y + in.y.z <> out.y.z - wire z : {x : UInt<1>, flip y : UInt<1> } - x.valid := r.x diff --git a/test/errors/gender/InstancePorts.fir b/test/errors/gender/InstancePorts.fir new file mode 100644 index 00000000..d8d1355c --- /dev/null +++ b/test/errors/gender/InstancePorts.fir @@ -0,0 +1,17 @@ +; RUN: firrtl -i %s -o %s.v -X verilog -p c 2>&1 | tee %s.out | FileCheck %s +; CHECK-NOT: Expression queue.in is used as a sink but can only be used as a source. +; CHECK: Done! + +circuit BTB : + module Queue : + input in : UInt<1> + output out : UInt<1> + out := in + module BTB : + input in : UInt<1> + output out : UInt<1> + + inst queue of Queue + queue.in := in + out := queue.in + diff --git a/test/errors/high-form/RemoveChar.fir b/test/errors/high-form/RemoveChar.fir new file mode 100644 index 00000000..c9c2286e --- /dev/null +++ b/test/errors/high-form/RemoveChar.fir @@ -0,0 +1,12 @@ +; RUN: firrtl -i %s -o %s.flo -X flo -p c 2>&1 | tee %s.out | FileCheck %s +; CHECK: Done! + +circuit Top : + module Top : + wire x_1 : UInt<1> + x_1 := UInt(1) + wire x : UInt<1> + x := addw(addw(UInt(1),UInt(1)),UInt(1)) + + + |
