2017-10-15 03:00:56 +02:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
2018-10-19 06:13:14 +02:00
|
|
|
import sys
|
2017-10-15 03:00:56 +02:00
|
|
|
|
2018-10-18 04:03:16 +02:00
|
|
|
from prjxray.segmaker import Segmaker
|
2017-10-15 03:00:56 +02:00
|
|
|
|
2018-10-22 21:04:55 +02:00
|
|
|
segmk = Segmaker("design_%s.bits" % sys.argv[1])
|
2017-10-15 03:00:56 +02:00
|
|
|
|
2017-10-20 23:41:38 +02:00
|
|
|
print("Loading tags from design_%s.txt." % sys.argv[1])
|
2017-10-18 16:28:35 +02:00
|
|
|
with open("design_%s.txt" % sys.argv[1], "r") as f:
|
2017-10-15 03:00:56 +02:00
|
|
|
for line in f:
|
|
|
|
|
line = line.split()
|
|
|
|
|
site = line[0]
|
|
|
|
|
bel = line[1]
|
|
|
|
|
init = int(line[2][4:], 16)
|
|
|
|
|
|
|
|
|
|
for i in range(64):
|
|
|
|
|
bitname = "%s.INIT[%02d]" % (bel, i)
|
2017-10-20 23:41:38 +02:00
|
|
|
bitname = bitname.replace("6LUT", "LUT")
|
2018-10-16 03:39:06 +02:00
|
|
|
segmk.add_site_tag(site, bitname, ((init >> i) & 1) != 0)
|
2017-10-15 03:00:56 +02:00
|
|
|
|
2017-10-20 23:41:38 +02:00
|
|
|
segmk.compile()
|
|
|
|
|
segmk.write(sys.argv[1])
|