aboutsummaryrefslogtreecommitdiffstats
path: root/mistral/bitstream.cc
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-05-30 15:50:12 +0100
committergatecat <gatecat@ds0.me>2021-05-30 15:50:12 +0100
commiteb2265a2bf6415665e31a13157fb561d3c14bf73 (patch)
tree75758c78b88c7e54cc37104c608e22ef408805c4 /mistral/bitstream.cc
parente2b838a10a3eac7572d8702fb5353588aa80ec0c (diff)
downloadnextpnr-eb2265a2bf6415665e31a13157fb561d3c14bf73.tar.gz
nextpnr-eb2265a2bf6415665e31a13157fb561d3c14bf73.tar.bz2
nextpnr-eb2265a2bf6415665e31a13157fb561d3c14bf73.zip
mistral: Make RBF compression optional
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'mistral/bitstream.cc')
-rw-r--r--mistral/bitstream.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/mistral/bitstream.cc b/mistral/bitstream.cc
index 92d86410..340ba6b9 100644
--- a/mistral/bitstream.cc
+++ b/mistral/bitstream.cc
@@ -34,6 +34,8 @@ struct MistralBitgen
ctx->init_base_bitstream();
// Default options
cv->opt_b_set(CycloneV::ALLOW_DEVICE_WIDE_OUTPUT_ENABLE_DIS, true);
+ if (!ctx->setting<bool>("compress_rbf", false))
+ cv->opt_b_set(CycloneV::COMPRESSION_DIS, true);
cv->opt_n_set(CycloneV::CRC_DIVIDE_ORDER, 8);
cv->opt_b_set(CycloneV::CVP_CONF_DONE_EN, true);
cv->opt_b_set(CycloneV::DEVICE_WIDE_RESET_EN, true);
@@ -42,7 +44,10 @@ struct MistralBitgen
cv->opt_b_set(CycloneV::NCEO_DIS, true);
cv->opt_b_set(CycloneV::OCT_DONE_DIS, true);
cv->opt_r_set(CycloneV::OPT_A, 0x1dff);
- cv->opt_r_set(CycloneV::OPT_B, 0xffffff402dffffffULL);
+ if (!ctx->setting<bool>("compress_rbf", false))
+ cv->opt_r_set(CycloneV::OPT_B, 0xffffff40adffffffULL);
+ else
+ cv->opt_r_set(CycloneV::OPT_B, 0xffffff402dffffffULL);
cv->opt_b_set(CycloneV::RELEASE_CLEARS_BEFORE_TRISTATES_DIS, true);
cv->opt_b_set(CycloneV::RETRY_CONFIG_ON_ERROR_EN, true);
cv->opt_r_set(CycloneV::START_UP_CLOCK, 0x3F);