From b75c5bf74374156c802461acf0a868f7e5fad3fd Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Mon, 13 Apr 2020 15:25:37 -0700 Subject: [PATCH] zinit: resolve one more comment by @mwkmwkmwk --- passes/techmap/zinit.cc | 8 +++++--- tests/techmap/zinit.ys | 9 ++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/passes/techmap/zinit.cc b/passes/techmap/zinit.cc index b7beb4e9d..9eb47ff6d 100644 --- a/passes/techmap/zinit.cc +++ b/passes/techmap/zinit.cc @@ -153,9 +153,11 @@ struct ZinitPass : public Pass { else if (cell->type.in(ID($_DFF_NN0_), ID($_DFF_NN1_), ID($_DFF_NP0_), ID($_DFF_NP1_), ID($_DFF_PN0_), ID($_DFF_PN1_), ID($_DFF_PP0_), ID($_DFF_PP1_))) { - std::string t = cell->type.str(); - t[8] = (t[8] == '0' ? '1' : '0'); - cell->type = t; + if (initval == State::S1) { + std::string t = cell->type.str(); + t[8] = (t[8] == '0' ? '1' : '0'); + cell->type = t; + } } } } diff --git a/tests/techmap/zinit.ys b/tests/techmap/zinit.ys index c74218f7c..18b17621f 100644 --- a/tests/techmap/zinit.ys +++ b/tests/techmap/zinit.ys @@ -23,6 +23,8 @@ design -load postopt select -assert-count 20 t:$_NOT_ select -assert-count 1 w:unused a:init %i select -assert-count 1 w:Q a:init=13'bxxxx1xxxxxxxx %i +select -assert-count 4 c:dff0 c:dff2 c:dff4 c:dff6 %% t:$_DFF_??1_ %i +select -assert-count 4 c:dff1 c:dff3 c:dff5 c:dff7 %% t:$_DFF_??0_ %i design -reset @@ -45,6 +47,11 @@ $adff #(.WIDTH(2), .CLK_POLARITY(1), .ARST_POLARITY(1'b0), .ARST_VALUE(2'b10)) d $adff #(.WIDTH(2), .CLK_POLARITY(0), .ARST_POLARITY(1'b1), .ARST_VALUE(2'b01)) dff9 (.CLK(C), .ARST(R), .D(D), .Q(Q[12:11])); endmodule EOT +equiv_opt -assert -map +/simcells.v -multiclock zinit +design -load postopt + select -assert-count 0 t:$_NOT_ select -assert-count 1 w:unused a:init %i -select -assert-count 1 w:Q a:init=13'bx00x100000000 %i +select -assert-count 1 w:Q a:init=13'bxxxx1xxxxxxxx %i +select -assert-count 4 c:dff0 c:dff2 c:dff4 c:dff6 %% t:$_DFF_??0_ %i +select -assert-count 4 c:dff1 c:dff3 c:dff5 c:dff7 %% t:$_DFF_??1_ %i -- 2.30.2