aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/anlogic/brams_init.py
diff options
context:
space:
mode:
authorMiodrag Milanović <mmicko@gmail.com>2022-01-19 08:49:58 +0100
committerGitHub <noreply@github.com>2022-01-19 08:49:58 +0100
commit4525e419f64da95e37eba7c8b43972ab7349800d (patch)
treec97ad2f4dcbc324b8d548382ef63bcc67b3308ac /techlibs/anlogic/brams_init.py
parent59382945a9169b01a8b1b30b5e988e56e4912f06 (diff)
parentc2b7ad3b28ebd7865c8b2e795b2942d5d1bd00f5 (diff)
downloadyosys-4525e419f64da95e37eba7c8b43972ab7349800d.tar.gz
yosys-4525e419f64da95e37eba7c8b43972ab7349800d.tar.bz2
yosys-4525e419f64da95e37eba7c8b43972ab7349800d.zip
Merge pull request #3120 from Icenowy/anlogic-bram
anlogic: support BRAM mapping
Diffstat (limited to 'techlibs/anlogic/brams_init.py')
-rw-r--r--techlibs/anlogic/brams_init.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/techlibs/anlogic/brams_init.py b/techlibs/anlogic/brams_init.py
new file mode 100644
index 000000000..8dda0d33e
--- /dev/null
+++ b/techlibs/anlogic/brams_init.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+
+with open("techlibs/anlogic/brams_init_9.vh", "w") as f:
+ for i in range(4):
+ init_snippets = [" INIT[%3d*9+8]" % (k+256*i,) for k in range(255, -1, -1)]
+ for k in range(4, 256, 4):
+ init_snippets[k] = "\n " + init_snippets[k]
+ print(".INITP_%02X({%s})," % (i, ",".join(init_snippets)), file=f)
+ for i in range(32):
+ init_snippets = [" INIT[%3d*9 +: 8]" % (k+32*i,) for k in range(31, -1, -1)]
+ for k in range(4, 32, 4):
+ init_snippets[k] = "\n " + init_snippets[k]
+ print(".INIT_%02X({%s})," % (i, ",".join(init_snippets)), file=f)
+
+with open("techlibs/anlogic/brams_init_8.vh", "w") as f:
+ for i in range(32):
+ print(".INIT_%02X(INIT[%3d*256 +: 256])," % (i, i), file=f)
+
+with open("techlibs/anlogic/brams_init_16.vh", "w") as f:
+ for i in range(128):
+ print(".INIT_%02X(INIT[%3d*256 +: 256])," % (i, i), file=f)