diff options
author | Jannis Harder <me@jix.one> | 2022-08-18 13:56:22 +0200 |
---|---|---|
committer | Jannis Harder <me@jix.one> | 2022-08-18 13:56:22 +0200 |
commit | 5142fb3b5c6e7ed89fe74fcdff7775d6f09c34f5 (patch) | |
tree | aaab15eb173aa79587d663e32661cf42990bd118 | |
parent | 1c36f4cc2cfe8832be19c9c6be5592c6ea55df19 (diff) | |
download | yosys-5142fb3b5c6e7ed89fe74fcdff7775d6f09c34f5.tar.gz yosys-5142fb3b5c6e7ed89fe74fcdff7775d6f09c34f5.tar.bz2 yosys-5142fb3b5c6e7ed89fe74fcdff7775d6f09c34f5.zip |
write_aiger: Fix non-$_FF_ FFs
This broke while switching sby's formal flows to always use $_FF_'s.
-rw-r--r-- | backends/aiger/aiger.cc | 2 | ||||
-rw-r--r-- | tests/various/aiger_dff.ys | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/backends/aiger/aiger.cc b/backends/aiger/aiger.cc index 2ea999dc0..513f9d95a 100644 --- a/backends/aiger/aiger.cc +++ b/backends/aiger/aiger.cc @@ -202,7 +202,7 @@ struct AigerWriter ff_map[Q] = D; if (cell->type != ID($_FF_)) { - auto sig_clk = sigmap(cell->getPort(ID::CLK).as_bit()); + auto sig_clk = sigmap(cell->getPort(ID::C).as_bit()); ywmap_clocks[sig_clk] |= cell->type == ID($_DFF_N_) ? 2 : 1; } continue; diff --git a/tests/various/aiger_dff.ys b/tests/various/aiger_dff.ys new file mode 100644 index 000000000..057f3d774 --- /dev/null +++ b/tests/various/aiger_dff.ys @@ -0,0 +1,7 @@ +read_verilog -icells <<EOT +module top(input clk, d, output q); +\$_DFF_N_ dffn(.C(clk), .D(d), .Q(q)); +endmodule +EOT +write_aiger -zinit -ywmap aiger_dff.out /dev/null +!grep -qF negedge aiger_dff.out |