mirror of https://github.com/openXC7/prjxray.git
Fix review comments.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
This commit is contained in:
parent
8387eb8c32
commit
b1c822cb98
|
|
@ -29,28 +29,28 @@ def main():
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
j = {}
|
design_json = {}
|
||||||
j['ports'] = []
|
design_json['ports'] = []
|
||||||
j['info'] = {}
|
design_json['info'] = {}
|
||||||
with open(args.design_txt) as f:
|
with open(args.design_txt) as f:
|
||||||
for d in csv.DictReader(f, delimiter=' '):
|
for d in csv.DictReader(f, delimiter=' '):
|
||||||
j['ports'].append(d)
|
design_json['ports'].append(d)
|
||||||
|
|
||||||
with open(args.design_info_txt) as f:
|
with open(args.design_info_txt) as f:
|
||||||
for l in f:
|
for l in f:
|
||||||
name, value = l.strip().split(' = ')
|
name, value = l.strip().split(' = ')
|
||||||
|
|
||||||
j['info'][name] = int(value)
|
design_json['info'][name] = int(value)
|
||||||
|
|
||||||
db = Database(get_db_root())
|
db = Database(get_db_root())
|
||||||
grid = db.grid()
|
grid = db.grid()
|
||||||
|
|
||||||
roi = Roi(
|
roi = Roi(
|
||||||
db=db,
|
db=db,
|
||||||
x1=j['info']['GRID_X_MIN'],
|
x1=design_json['info']['GRID_X_MIN'],
|
||||||
y1=j['info']['GRID_Y_MIN'],
|
y1=design_json['info']['GRID_Y_MIN'],
|
||||||
x2=j['info']['GRID_X_MAX'],
|
x2=design_json['info']['GRID_X_MAX'],
|
||||||
y2=j['info']['GRID_Y_MAX'],
|
y2=design_json['info']['GRID_Y_MAX'],
|
||||||
)
|
)
|
||||||
|
|
||||||
with open(args.pad_wires) as f:
|
with open(args.pad_wires) as f:
|
||||||
|
|
@ -70,7 +70,7 @@ def main():
|
||||||
if not roi.tile_in_roi(loc):
|
if not roi.tile_in_roi(loc):
|
||||||
wires_outside_roi.append(wire)
|
wires_outside_roi.append(wire)
|
||||||
|
|
||||||
set_port_wires(j['ports'], name, pin, wires_outside_roi)
|
set_port_wires(design_json['ports'], name, pin, wires_outside_roi)
|
||||||
|
|
||||||
frames_in_use = set()
|
frames_in_use = set()
|
||||||
for tile in roi.gen_tiles():
|
for tile in roi.gen_tiles():
|
||||||
|
|
@ -109,10 +109,10 @@ def main():
|
||||||
if not_in_roi and base_address_in_roi:
|
if not_in_roi and base_address_in_roi:
|
||||||
required_features.append(fasm_line)
|
required_features.append(fasm_line)
|
||||||
|
|
||||||
j['required_features'] = fasm.fasm_tuple_to_string(
|
design_json['required_features'] = fasm.fasm_tuple_to_string(
|
||||||
required_features, canonical=True)
|
required_features, canonical=True)
|
||||||
|
|
||||||
json.dump(j, sys.stdout, indent=2, sort_keys=True)
|
json.dump(design_json, sys.stdout, indent=2, sort_keys=True)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,6 @@ ${XRAY_VIVADO} -mode batch -source ../runme.tcl
|
||||||
test -z "$(fgrep CRITICAL vivado.log)"
|
test -z "$(fgrep CRITICAL vivado.log)"
|
||||||
|
|
||||||
${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o design.bits -z -y design.bit
|
${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o design.bits -z -y design.bit
|
||||||
${XRAY_SEGPRINT} -zd design.bits >design.segp
|
|
||||||
python3 ${XRAY_DIR}/utils/bit2fasm.py --verbose design.bit > design.fasm
|
python3 ${XRAY_DIR}/utils/bit2fasm.py --verbose design.bit > design.fasm
|
||||||
python3 ${XRAY_DIR}/utils/fasm2frames.py design.fasm design.frm
|
python3 ${XRAY_DIR}/utils/fasm2frames.py design.fasm design.frm
|
||||||
python3 ../create_design_json.py \
|
python3 ../create_design_json.py \
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,7 @@ def run(db_root, filename_in, f_out, sparse=False, roi=None, debug=False):
|
||||||
db = Database(db_root)
|
db = Database(db_root)
|
||||||
assembler = fasm_assembler.FasmAssembler(db)
|
assembler = fasm_assembler.FasmAssembler(db)
|
||||||
|
|
||||||
|
extra_features = []
|
||||||
if roi:
|
if roi:
|
||||||
with open(roi) as f:
|
with open(roi) as f:
|
||||||
roi_j = json.load(f)
|
roi_j = json.load(f)
|
||||||
|
|
@ -68,10 +69,8 @@ def run(db_root, filename_in, f_out, sparse=False, roi=None, debug=False):
|
||||||
|
|
||||||
assembler.mark_roi_frames(Roi(db=db, x1=x1, x2=x2, y1=y1, y2=y2))
|
assembler.mark_roi_frames(Roi(db=db, x1=x1, x2=x2, y1=y1, y2=y2))
|
||||||
|
|
||||||
if 'required_features' in roi_j:
|
if 'required_features' in roi_j:
|
||||||
extra_features = fasm.parse_fasm_string(roi_j['required_features'])
|
extra_features = fasm.parse_fasm_string(roi_j['required_features'])
|
||||||
else:
|
|
||||||
extra_features = []
|
|
||||||
|
|
||||||
assembler.parse_fasm_filename(filename_in, extra_features=extra_features)
|
assembler.parse_fasm_filename(filename_in, extra_features=extra_features)
|
||||||
frames = assembler.get_frames(sparse=sparse)
|
frames = assembler.get_frames(sparse=sparse)
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ def get_database(db, tile_type, bit_only=False, verbose=False):
|
||||||
parts = l.split()
|
parts = l.split()
|
||||||
name = parts[0]
|
name = parts[0]
|
||||||
|
|
||||||
if parts[1] == 'always' or parts[1] == 'hint':
|
if parts[1] == 'always' or parts[1] == 'hint' or parts[1] == 'default':
|
||||||
if bit_only:
|
if bit_only:
|
||||||
return
|
return
|
||||||
tagbits = []
|
tagbits = []
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue