mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-06 06:03:23 +00:00
Initialization support for all iCE40 bram modes
This commit is contained in:
parent
b4d7a590e8
commit
752851954b
8 changed files with 65 additions and 28 deletions
17
techlibs/ice40/brams_init.py
Normal file
17
techlibs/ice40/brams_init.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
|
||||
def write_init_vh(filename, initbits):
|
||||
with open(filename, "w") as f:
|
||||
for i in range(16):
|
||||
print("localparam [255:0] INIT_%X = {" % i, file=f)
|
||||
for k in range(32):
|
||||
print(" %s%s" % (", ".join(["INIT[%4d]" % initbits[i*256 + 255 - k*8 - l] for l in range(8)]), "," if k != 31 else ""), file=f)
|
||||
print("};", file=f);
|
||||
|
||||
write_init_vh("brams_init1.vh", [i//2 + 2048*(i%2) for i in range(4096)])
|
||||
write_init_vh("brams_init2.vh", [i//4 + 1024*(i%4) for i in range(4096)])
|
||||
write_init_vh("brams_init3.vh", [i//8 + 512*(i%8) for i in range(4096)])
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue