aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Zonenberg <azonenberg@drawersteak.com>2017-09-13 15:47:06 -0700
committerAndrew Zonenberg <azonenberg@drawersteak.com>2017-09-14 10:26:32 -0700
commit122532b7e137a53a91be155668687246a25d27e7 (patch)
tree9b1dc818cc24503b83a0c107f4d1b9e60c6c08bd
parent0484ad666d765c84d7a06a97ee9c7f6280733ed8 (diff)
downloadyosys-122532b7e137a53a91be155668687246a25d27e7.tar.gz
yosys-122532b7e137a53a91be155668687246a25d27e7.tar.bz2
yosys-122532b7e137a53a91be155668687246a25d27e7.zip
Added RESET_TO_MAX parameter to $__COUNT_ cell. Cannot yet be extracted.
-rw-r--r--passes/techmap/extract_counter.cc1
-rw-r--r--techlibs/greenpak4/cells_blackbox.v1
-rw-r--r--techlibs/greenpak4/cells_map.v5
3 files changed, 5 insertions, 2 deletions
diff --git a/passes/techmap/extract_counter.cc b/passes/techmap/extract_counter.cc
index 3746a3cb6..1e20b1fd8 100644
--- a/passes/techmap/extract_counter.cc
+++ b/passes/techmap/extract_counter.cc
@@ -493,6 +493,7 @@ void counter_worker(
//Hook up hard-wired ports (for now up/down are not supported), default to no parallel output
cell->setParam("\\HAS_POUT", RTLIL::Const(0));
+ cell->setParam("\\RESET_TO_MAX", RTLIL::Const(0));
cell->setParam("\\DIRECTION", RTLIL::Const("DOWN"));
cell->setPort("\\CE", RTLIL::Const(1));
cell->setPort("\\UP", RTLIL::Const(0));
diff --git a/techlibs/greenpak4/cells_blackbox.v b/techlibs/greenpak4/cells_blackbox.v
index 8dd38a027..1895b90de 100644
--- a/techlibs/greenpak4/cells_blackbox.v
+++ b/techlibs/greenpak4/cells_blackbox.v
@@ -9,6 +9,7 @@ module \$__COUNT_ (CE, CLK, OUT, POUT, RST, UP);
parameter COUNT_TO = 1;
parameter RESET_MODE = "RISING";
+ parameter RESET_TO_MAX = "1";
parameter HAS_POUT = 0;
parameter HAS_CE = 0;
parameter WIDTH = 8;
diff --git a/techlibs/greenpak4/cells_map.v b/techlibs/greenpak4/cells_map.v
index 9897d4e35..b971a51fa 100644
--- a/techlibs/greenpak4/cells_map.v
+++ b/techlibs/greenpak4/cells_map.v
@@ -156,6 +156,7 @@ module \$__COUNT_ (CE, CLK, OUT, POUT, RST, UP);
parameter COUNT_TO = 1;
parameter RESET_MODE = "RISING";
+ parameter RESET_TO_MAX = 0;
parameter HAS_POUT = 0;
parameter HAS_CE = 0;
parameter WIDTH = 8;
@@ -196,7 +197,7 @@ module \$__COUNT_ (CE, CLK, OUT, POUT, RST, UP);
GP_COUNT8_ADV #(
.COUNT_TO(COUNT_TO),
.RESET_MODE(RESET_MODE),
- .RESET_VALUE("COUNT_TO"),
+ .RESET_VALUE(RESET_TO_MAX ? "COUNT_TO" : "ZERO"),
.CLKIN_DIVIDE(1)
) _TECHMAP_REPLACE_ (
.CLK(CLK),
@@ -230,7 +231,7 @@ module \$__COUNT_ (CE, CLK, OUT, POUT, RST, UP);
);
GP_COUNT14_ADV #(
.COUNT_TO(COUNT_TO),
- .RESET_MODE(RESET_MODE),
+ .RESET_MODE(RESET_TO_MAX ? "COUNT_TO" : "ZERO"),
.RESET_VALUE("COUNT_TO"),
.CLKIN_DIVIDE(1)
) _TECHMAP_REPLACE_ (