aboutsummaryrefslogtreecommitdiffstats
path: root/machxo2/bitstream.cc
diff options
context:
space:
mode:
authorWilliam D. Jones <thor0505@comcast.net>2021-01-30 22:10:37 -0500
committergatecat <gatecat@ds0.me>2021-02-12 10:36:59 +0000
commit56656b2b244127763ced9cb95332b09e1aa5ab81 (patch)
treea774cfd9af3b9575336dc8171f6805ab5ec4b97f /machxo2/bitstream.cc
parent695fb7e569a9b8368ecf623029997248910d753e (diff)
downloadnextpnr-56656b2b244127763ced9cb95332b09e1aa5ab81.tar.gz
nextpnr-56656b2b244127763ced9cb95332b09e1aa5ab81.tar.bz2
nextpnr-56656b2b244127763ced9cb95332b09e1aa5ab81.zip
machxo2: Emit empty bitstream file.
Diffstat (limited to 'machxo2/bitstream.cc')
-rw-r--r--machxo2/bitstream.cc37
1 files changed, 37 insertions, 0 deletions
diff --git a/machxo2/bitstream.cc b/machxo2/bitstream.cc
index 6e1dbb11..eec07cb1 100644
--- a/machxo2/bitstream.cc
+++ b/machxo2/bitstream.cc
@@ -18,15 +18,52 @@
*
*/
+#include <fstream>
+
#include "bitstream.h"
#include "config.h"
NEXTPNR_NAMESPACE_BEGIN
+// These seem simple enough to do inline for now.
+namespace BaseConfigs {
+ void config_empty_lcmxo2_1200hc(ChipConfig &cc)
+ {
+ cc.chip_name = "LCMXO2-1200HC";
+
+ cc.tiles["EBR_R6C11:EBR1"].add_unknown(0, 12);
+ cc.tiles["EBR_R6C15:EBR1"].add_unknown(0, 12);
+ cc.tiles["EBR_R6C18:EBR1"].add_unknown(0, 12);
+ cc.tiles["EBR_R6C21:EBR1"].add_unknown(0, 12);
+ cc.tiles["EBR_R6C2:EBR1"].add_unknown(0, 12);
+ cc.tiles["EBR_R6C5:EBR1"].add_unknown(0, 12);
+ cc.tiles["EBR_R6C8:EBR1"].add_unknown(0, 12);
+
+ cc.tiles["PT4:CFG0"].add_unknown(5, 30);
+ cc.tiles["PT4:CFG0"].add_unknown(5, 32);
+ cc.tiles["PT4:CFG0"].add_unknown(5, 36);
+
+ cc.tiles["PT7:CFG3"].add_unknown(5, 18);
+ }
+} // namespace BaseConfigs
+
void write_bitstream(Context *ctx, std::string text_config_file)
{
ChipConfig cc;
+ switch (ctx->args.type) {
+ case ArchArgs::LCMXO2_1200HC:
+ BaseConfigs::config_empty_lcmxo2_1200hc(cc);
+ break;
+ default:
+ NPNR_ASSERT_FALSE("Unsupported device type");
+ }
+
+ // Configure chip
+ if (!text_config_file.empty()) {
+ std::ofstream out_config(text_config_file);
+ out_config << cc;
+ }
}
NEXTPNR_NAMESPACE_END