summaryrefslogtreecommitdiff
path: root/techlibs/xilinx/brams_init.py
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2015-04-06 17:07:10 +0200
committerClifford Wolf <clifford@clifford.at>2015-04-06 17:07:10 +0200
commit8520b7fbe0b24dda47749aa870881b6b03480d4a (patch)
treebd26ef8c9adc39cb296f04614b3c4fb33714ed13 /techlibs/xilinx/brams_init.py
parent169d1c471165f77612d049478ca25720071272c4 (diff)
Added support for initialized xilinx brams
Diffstat (limited to 'techlibs/xilinx/brams_init.py')
-rw-r--r--techlibs/xilinx/brams_init.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/techlibs/xilinx/brams_init.py b/techlibs/xilinx/brams_init.py
new file mode 100644
index 00000000..be61d3f6
--- /dev/null
+++ b/techlibs/xilinx/brams_init.py
@@ -0,0 +1,37 @@
+#!/usr/bin/python
+
+from __future__ import division
+from __future__ import print_function
+
+with open("brams_init_18.vh", "w") as f:
+ for i in range(8):
+ 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(64):
+ 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("brams_init_36.vh", "w") as f:
+ for i in range(16):
+ 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(128):
+ 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("brams_init_16.vh", "w") as f:
+ for i in range(64):
+ print(".INIT_%02X(INIT[%3d*256 +: 256])," % (i, i), file=f)
+
+with open("brams_init_32.vh", "w") as f:
+ for i in range(128):
+ print(".INIT_%02X(INIT[%3d*256 +: 256])," % (i, i), file=f)
+