summaryrefslogtreecommitdiff
path: root/backends/blif
diff options
context:
space:
mode:
Diffstat (limited to 'backends/blif')
-rw-r--r--backends/blif/blif.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/backends/blif/blif.cc b/backends/blif/blif.cc
index 6a379e67..d9d0cc17 100644
--- a/backends/blif/blif.cc
+++ b/backends/blif/blif.cc
@@ -77,9 +77,6 @@ struct BlifDumper
case State::S1:
init_bits[initsig[i]] = 1;
break;
- case State::Sx:
- init_bits[initsig[i]] = 2;
- break;
default:
break;
}
@@ -126,7 +123,7 @@ struct BlifDumper
sigmap.apply(sig);
if (init_bits.count(sig) == 0)
- return "";
+ return " 2";
string str = stringf(" %d", init_bits.at(sig));
@@ -315,6 +312,12 @@ struct BlifDumper
continue;
}
+ if (!config->icells_mode && cell->type == "$_FF_") {
+ f << stringf(".latch %s %s%s\n", cstr(cell->getPort("\\D")), cstr(cell->getPort("\\Q")),
+ cstr_init(cell->getPort("\\Q")));
+ continue;
+ }
+
if (!config->icells_mode && cell->type == "$_DFF_N_") {
f << stringf(".latch %s %s fe %s%s\n", cstr(cell->getPort("\\D")), cstr(cell->getPort("\\Q")),
cstr(cell->getPort("\\C")), cstr_init(cell->getPort("\\Q")));