aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/ecp5/brams_init.py
diff options
context:
space:
mode:
authorBenedikt Tutzer <benedikt.tutzer@tuwien.ac.at>2019-03-28 12:16:39 +0100
committerBenedikt Tutzer <benedikt.tutzer@tuwien.ac.at>2019-03-28 12:16:39 +0100
commit03d1606b42110f8eac7311ac57c7334d1f781273 (patch)
tree9fc490a93fbb75ac3e23b276a151e22ca1a3b84e /techlibs/ecp5/brams_init.py
parentb9288b216dce110ad11eb0615a6a911a9fcae05b (diff)
parent32bd0f22ec93202e67395901cdc64c20df7f0da7 (diff)
downloadyosys-03d1606b42110f8eac7311ac57c7334d1f781273.tar.gz
yosys-03d1606b42110f8eac7311ac57c7334d1f781273.tar.bz2
yosys-03d1606b42110f8eac7311ac57c7334d1f781273.zip
Merge remote-tracking branch 'origin/master' into feature/python_bindings
Diffstat (limited to 'techlibs/ecp5/brams_init.py')
-rwxr-xr-xtechlibs/ecp5/brams_init.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/techlibs/ecp5/brams_init.py b/techlibs/ecp5/brams_init.py
new file mode 100755
index 000000000..96a47bdcd
--- /dev/null
+++ b/techlibs/ecp5/brams_init.py
@@ -0,0 +1,22 @@
+#!/usr/bin/env python3
+with open("techlibs/ecp5/bram_init_1_2_4.vh", "w") as f:
+ for i in range(0, 0x40):
+ init_snippets = []
+ for j in range(32):
+ init_snippets.append("INIT[%4d*8 +: 8]" % (32 * i + j))
+ init_snippets.append("3'b000" if (j % 2 == 1) else "1'b0")
+ init_snippets = list(reversed(init_snippets))
+ for k in range(8, 64, 8):
+ init_snippets[k] = "\n " + init_snippets[k]
+ print(".INITVAL_%02X({%s})," % (i, ", ".join(init_snippets)), file=f)
+
+with open("techlibs/ecp5/bram_init_9_18_36.vh", "w") as f:
+ for i in range(0, 0x40):
+ init_snippets = []
+ for j in range(16):
+ init_snippets.append("INIT[%3d*18 +: 18]" % (16 * i + j))
+ init_snippets.append("2'b00")
+ init_snippets = list(reversed(init_snippets))
+ for k in range(8, 32, 8):
+ init_snippets[k] = "\n " + init_snippets[k]
+ print(".INITVAL_%02X({%s})," % (i, ", ".join(init_snippets)), file=f)