def main(): segmk = Segmaker("design.bits") segmk.set_def_bt('BLOCK_RAM') print("Loading tags") ''' ''' with open('params.json') as f: params = json.load(f) for param in params: for initp in range(NUM_INITP_PARAMS): p = 'INITP_{:02X}'.format(initp) val = param[p] for bit in range(BITS_PER_PARAM): segmk.add_site_tag( param['site'], "{p}[{bit:03d}]".format( p=p, bit=bit, ), val & (1 << bit) != 0) for init in range(NUM_INIT_PARAMS): p = 'INIT_{:02X}'.format(init) val = param[p] for bit in range(BITS_PER_PARAM): segmk.add_site_tag( param['site'], "{p}[{bit:03d}]".format( p=p, bit=bit, ), val & (1 << bit) != 0) segmk.compile() segmk.write()
#!/usr/bin/env python3 import sys, re, os from prjxray.segmaker import Segmaker c2i = {'0': 0, '1': 1} segmk = Segmaker("design.bits") segmk.set_def_bt('BLOCK_RAM') print("Loading tags") ''' ''' f = open('params.csv', 'r') f.readline() for l in f: l = l.strip() module, loc, pdata, data = l.split(',') for i, d in enumerate(pdata): # Keep dec convention used on LUT? segmk.add_site_tag(loc, "INITP[%04d]" % i, c2i[d]) for i, d in enumerate(data): # Keep dec convention used on LUT? segmk.add_site_tag(loc, "INIT[%04d]" % i, c2i[d]) segmk.compile() segmk.write()