aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/ast/genrtlil.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-04-23 15:46:40 +0200
committerClifford Wolf <clifford@clifford.at>2019-04-23 21:36:59 +0200
commit71c38d9de527e1a8b55ba295df459fbcf2a0fe47 (patch)
treea51313b07ad0f5029792760cf7a12789a5d97a18 /frontends/ast/genrtlil.cc
parent634482380cfe5d6a1c801af0ce04e8048c5c9baf (diff)
downloadyosys-71c38d9de527e1a8b55ba295df459fbcf2a0fe47.tar.gz
yosys-71c38d9de527e1a8b55ba295df459fbcf2a0fe47.tar.bz2
yosys-71c38d9de527e1a8b55ba295df459fbcf2a0fe47.zip
Add $specrule cells for $setup/$hold/$skew specify rules
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'frontends/ast/genrtlil.cc')
-rw-r--r--frontends/ast/genrtlil.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/frontends/ast/genrtlil.cc b/frontends/ast/genrtlil.cc
index b2a22b49a..48bd466e6 100644
--- a/frontends/ast/genrtlil.cc
+++ b/frontends/ast/genrtlil.cc
@@ -1538,6 +1538,12 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint)
cell->setParam("\\SRC_WIDTH", Const(src_width));
cell->setParam("\\DST_WIDTH", Const(dst_width));
}
+ if (cell->type == "$specrule") {
+ int src_width = GetSize(cell->getPort("\\SRC"));
+ int dst_width = GetSize(cell->getPort("\\DST"));
+ cell->setParam("\\SRC_WIDTH", Const(src_width));
+ cell->setParam("\\DST_WIDTH", Const(dst_width));
+ }
}
break;