Open PoignardAzur opened 1 year ago
Minimal reproduction:
#[derive(LogicBlock)] struct NandGate { pub input_1: Signal<In, Bits<1>>, pub input_2: Signal<In, Bits<1>>, pub output: Signal<Out, Bits<1>>, } impl Logic for NandGate { #[hdl_gen] fn update(&mut self) { self.output.next = !(self.input_1.val() & self.input_2.val()); } }
This triggers the following error
error: custom attribute panicked --> src/level_nand.rs:24:5 | 24 | #[hdl_gen] | ^^^^^^^^^^ | = help: message: assertion failed: `(left != right)` left: `"output"`, right: `"output"`
Even if output is a reserved named and shouldn't be used, the error message should at least be more explicit.
output
(Also happens when naming a signal "input")
Minimal reproduction:
This triggers the following error
Even if
output
is a reserved named and shouldn't be used, the error message should at least be more explicit.