From d84c28b38cec64df7da8a00318b570e730a9e092 Mon Sep 17 00:00:00 2001 From: Maciej Kurc Date: Tue, 10 Dec 2019 15:48:27 +0100 Subject: [PATCH 1/6] Modified fuzzer 075 to dump IO bank number for each pin. Signed-off-by: Maciej Kurc --- fuzzers/075-pins/generate.tcl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fuzzers/075-pins/generate.tcl b/fuzzers/075-pins/generate.tcl index 1e0a1b8d..2b86aa8a 100644 --- a/fuzzers/075-pins/generate.tcl +++ b/fuzzers/075-pins/generate.tcl @@ -3,7 +3,7 @@ set_property design_mode PinPlanning [current_fileset] open_io_design -name io_1 set fp [open $::env(XRAY_PART)_package_pins.csv w] -puts $fp "pin,site,tile,pin_function" +puts $fp "pin,bank,site,tile,pin_function" foreach pin [get_package_pins] { set site [get_sites -quiet -of_object $pin] if { $site == "" } { @@ -11,7 +11,8 @@ foreach pin [get_package_pins] { } set tile [get_tiles -of_object $site] + set pin_bank [get_property BANK [get_package_pins $pin]] set pin_function [get_property PIN_FUNC [get_package_pins $pin]] - puts $fp "$pin,$site,$tile,$pin_function" + puts $fp "$pin,$pin_bank,$site,$tile,$pin_function" } From 15032c99436049f69297942d0144e6ef86600015 Mon Sep 17 00:00:00 2001 From: Maciej Kurc Date: Tue, 10 Dec 2019 17:29:28 +0100 Subject: [PATCH 2/6] Added emission of STEPDOWN feature for unused IOBs of a bank in which at least one site has it set. Signed-off-by: Maciej Kurc --- utils/fasm2frames.py | 67 +++++++++++++++++++++++++++++++++++++++ utils/test_fasm2frames.py | 2 +- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/utils/fasm2frames.py b/utils/fasm2frames.py index 1efd2a4e..96bb9d67 100755 --- a/utils/fasm2frames.py +++ b/utils/fasm2frames.py @@ -7,6 +7,9 @@ import argparse import json import os import os.path +import csv + +from collections import defaultdict from prjxray import fasm_assembler from prjxray.db import Database @@ -78,6 +81,16 @@ def find_pudc_b(db): return pudc_b_tile_site +def get_iob_sites(db, tile_name): + """ + Yields prjxray site names for given IOB tile name + """ + grid = db.grid() + gridinfo = grid.gridinfo_at_tilename(tile_name) + + for site in gridinfo.sites: + site_y = int(site[-1]) % 2 + yield "IOB_Y{}".format(site_y) def run( db_root, @@ -91,6 +104,25 @@ def run( db = Database(db_root) assembler = fasm_assembler.FasmAssembler(db) + set_features = set() + def feature_callback(feature): + set_features.add(feature) + + assembler.set_feature_callback(feature_callback) + + # Build mapping of tile to IO bank + tile_to_bank = {} + bank_to_tile = defaultdict(lambda: set()) + + if part is not None: + with open(os.path.join(db_root, part+"_package_pins.csv"), "r") as fp: + reader = csv.DictReader(fp) + package_pins = [l for l in reader] + + for pin in package_pins: + bank_to_tile[pin["bank"]].add(pin["tile"]) + tile_to_bank[pin["tile"]] = pin["bank"] + if emit_pudc_b_pullup: pudc_b_in_use = False pudc_b_tile_site = find_pudc_b(db) @@ -147,6 +179,41 @@ def run( if missing_features: raise fasm_assembler.FasmLookupError('\n'.join(missing_features)) + if part is not None: + # Make a set of all used IOB tiles and sites. Look for the "STEPDOWN" + # feature. If one is set for an IOB then set it for all other IOBs of + # the same bank. + stepdown_tags = set() + stepdown_banks = set() + used_iob_sites = set() + + for set_feature in set_features: + feature = set_feature.feature + tile, site, tag = feature.split(".", maxsplit=2) + if "IOB33" in tile: + used_iob_sites.add((tile, site,)) + if "STEPDOWN" in tag: + stepdown_banks.add(tile_to_bank[tile]) + stepdown_tags.add(tag) + + # Set the feature for unused IOBs + missing_features = [] + + for bank in stepdown_banks: + for tile in bank_to_tile[bank]: + for site in get_iob_sites(db, tile): + + if (tile, site) in used_iob_sites: + continue + + for tag in stepdown_tags: + feature = "{}.{}.{}".format(tile, site, tag) + for line in fasm.parse_fasm_string(feature): + assembler.add_fasm_line(line, missing_features) + + if missing_features: + raise fasm_assembler.FasmLookupError('\n'.join(missing_features)) + frames = assembler.get_frames(sparse=sparse) if debug: diff --git a/utils/test_fasm2frames.py b/utils/test_fasm2frames.py index 69c32a44..e6b5cf2d 100755 --- a/utils/test_fasm2frames.py +++ b/utils/test_fasm2frames.py @@ -70,7 +70,7 @@ class TestStringMethods(unittest.TestCase): fout = StringIO() fasm2frames.run( - self.filename_test_data('db'), None, fin.name, fout, **kw) + self.filename_test_data('db'), "xc7", fin.name, fout, **kw) return fout.getvalue() From 906046a3c4bbf7c87cd65258d1c9c739bc78db7f Mon Sep 17 00:00:00 2001 From: Maciej Kurc Date: Tue, 10 Dec 2019 19:13:14 +0100 Subject: [PATCH 3/6] Added unittest for enabling the STEPDOWN feature. Signed-off-by: Maciej Kurc --- utils/test_data/db/segbits_liob33.db | 6 + utils/test_data/db/segbits_riob33.db | 6 + utils/test_data/db/tile_type_LIOB33.json | 1569 +++++++++++++++++ utils/test_data/db/tile_type_LIOB33_SING.json | 655 +++++++ utils/test_data/db/tile_type_RIOB33.json | 1541 ++++++++++++++++ utils/test_data/db/tile_type_RIOB33_SING.json | 655 +++++++ utils/test_data/db/tilegrid.json | 136 ++ utils/test_data/db/xc7_package_pins.csv | 11 + utils/test_data/iob/liob_stepdown.bits | 5 + utils/test_data/iob/liob_stepdown.fasm | 3 + utils/test_data/iob/riob_stepdown.bits | 5 + utils/test_data/iob/riob_stepdown.fasm | 3 + utils/test_fasm2frames.py | 5 + 13 files changed, 4600 insertions(+) create mode 100644 utils/test_data/db/segbits_liob33.db create mode 100644 utils/test_data/db/segbits_riob33.db create mode 100644 utils/test_data/db/tile_type_LIOB33.json create mode 100644 utils/test_data/db/tile_type_LIOB33_SING.json create mode 100644 utils/test_data/db/tile_type_RIOB33.json create mode 100644 utils/test_data/db/tile_type_RIOB33_SING.json create mode 100644 utils/test_data/db/xc7_package_pins.csv create mode 100644 utils/test_data/iob/liob_stepdown.bits create mode 100644 utils/test_data/iob/liob_stepdown.fasm create mode 100644 utils/test_data/iob/riob_stepdown.bits create mode 100644 utils/test_data/iob/riob_stepdown.fasm diff --git a/utils/test_data/db/segbits_liob33.db b/utils/test_data/db/segbits_liob33.db new file mode 100644 index 00000000..8b8cdccd --- /dev/null +++ b/utils/test_data/db/segbits_liob33.db @@ -0,0 +1,6 @@ +LIOB33.IOB_Y0.SOMETHING.IN 00_01 +LIOB33.IOB_Y0.SOMETHING.OUT 00_02 +LIOB33.IOB_Y0.SOMETHING.STEPDOWN 00_03 +LIOB33.IOB_Y1.SOMETHING.IN 00_01 +LIOB33.IOB_Y1.SOMETHING.OUT 00_02 +LIOB33.IOB_Y1.SOMETHING.STEPDOWN 00_03 diff --git a/utils/test_data/db/segbits_riob33.db b/utils/test_data/db/segbits_riob33.db new file mode 100644 index 00000000..a47f41bf --- /dev/null +++ b/utils/test_data/db/segbits_riob33.db @@ -0,0 +1,6 @@ +RIOB33.IOB_Y0.SOMETHING.IN 00_01 +RIOB33.IOB_Y0.SOMETHING.OUT 00_02 +RIOB33.IOB_Y0.SOMETHING.STEPDOWN 00_03 +RIOB33.IOB_Y1.SOMETHING.IN 00_01 +RIOB33.IOB_Y1.SOMETHING.OUT 00_02 +RIOB33.IOB_Y1.SOMETHING.STEPDOWN 00_03 diff --git a/utils/test_data/db/tile_type_LIOB33.json b/utils/test_data/db/tile_type_LIOB33.json new file mode 100644 index 00000000..f55822fa --- /dev/null +++ b/utils/test_data/db/tile_type_LIOB33.json @@ -0,0 +1,1569 @@ +{ + "pips": { + "LIOB33.IOB_DIFFO_IN1->>IOB_PADOUT1": { + "can_invert": "0", + "dst_to_src": { + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "in_cap": null, + "res": "0.0" + }, + "dst_wire": "IOB_PADOUT1", + "is_directional": "1", + "is_pass_transistor": 0, + "is_pseudo": "1", + "src_to_dst": { + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "in_cap": null, + "res": "0.0" + }, + "src_wire": "IOB_DIFFO_IN1" + }, + "LIOB33.IOB_DIFFO_OUT0->IOB_DIFFO_IN1": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "IOB_DIFFO_IN1", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_DIFFO_OUT0" + }, + "LIOB33.IOB_O0->>IOB_O_OUT0": { + "can_invert": "0", + "dst_to_src": { + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "in_cap": null, + "res": "0.0" + }, + "dst_wire": "IOB_O_OUT0", + "is_directional": "1", + "is_pass_transistor": 0, + "is_pseudo": "1", + "src_to_dst": { + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "in_cap": null, + "res": "0.0" + }, + "src_wire": "IOB_O0" + }, + "LIOB33.IOB_O_OUT0->IOB_O_IN1": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "IOB_O_IN1", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_O_OUT0" + }, + "LIOB33.IOB_PADOUT0->IOB_DIFFI_IN1": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "IOB_DIFFI_IN1", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_PADOUT0" + }, + "LIOB33.IOB_PADOUT0->LIOB_MONITOR_P": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "LIOB_MONITOR_P", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_PADOUT0" + }, + "LIOB33.IOB_PADOUT1->IOB_DIFFI_IN0": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "IOB_DIFFI_IN0", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_PADOUT1" + }, + "LIOB33.IOB_PADOUT1->LIOB_MONITOR_N": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "LIOB_MONITOR_N", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_PADOUT1" + }, + "LIOB33.IOB_T0->>IOB_T_OUT0": { + "can_invert": "0", + "dst_to_src": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "in_cap": null, + "res": "0.0" + }, + "dst_wire": "IOB_T_OUT0", + "is_directional": "1", + "is_pass_transistor": 0, + "is_pseudo": "1", + "src_to_dst": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "in_cap": null, + "res": "0.0" + }, + "src_wire": "IOB_T0" + }, + "LIOB33.IOB_T_OUT0->IOB_T_IN1": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "IOB_T_IN1", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_T_OUT0" + } + }, + "sites": [ + { + "name": "X0Y0", + "prefix": "IOB", + "site_pins": { + "DIFFI_IN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_DIFFI_IN1" + }, + "DIFFO_IN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_DIFFO_IN1" + }, + "DIFFO_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_DIFFO_OUT1" + }, + "DIFF_TERM_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_DIFF_TERM_INT_EN" + }, + "I": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_IBUF1" + }, + "IBUFDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_IBUF_DISABLE1" + }, + "INTERMDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "LIOB_IN_TERM1" + }, + "KEEPER_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_KEEPER_INT_EN_0" + }, + "O": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_O1" + }, + "O_IN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_O_IN1" + }, + "O_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_O_OUT1" + }, + "PADOUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_PADOUT1" + }, + "PD_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PD_INT_EN_0" + }, + "PU_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PU_INT_EN_0" + }, + "T": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_T1" + }, + "T_IN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_T_IN1" + }, + "T_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_T_OUT1" + } + }, + "type": "IOB33S", + "x_coord": 0, + "y_coord": 0 + }, + { + "name": "X0Y1", + "prefix": "IOB", + "site_pins": { + "DIFFI_IN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_DIFFI_IN0" + }, + "DIFFO_IN": null, + "DIFFO_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_DIFFO_OUT0" + }, + "DIFF_TERM_INT_EN": null, + "I": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_IBUF0" + }, + "IBUFDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_IBUF_DISABLE0" + }, + "INTERMDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "LIOB_IN_TERM0" + }, + "KEEPER_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_KEEPER_INT_EN_1" + }, + "O": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_O0" + }, + "O_IN": null, + "O_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_O_OUT0" + }, + "PADOUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_PADOUT0" + }, + "PD_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PD_INT_EN_1" + }, + "PU_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PU_INT_EN_1" + }, + "T": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_T0" + }, + "T_IN": null, + "T_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_T_OUT0" + } + }, + "type": "IOB33M", + "x_coord": 0, + "y_coord": 1 + } + ], + "tile_type": "LIOB33", + "wires": { + "IOB_DIFFI_IN0": null, + "IOB_DIFFI_IN1": null, + "IOB_DIFFO_IN0": null, + "IOB_DIFFO_IN1": null, + "IOB_DIFFO_OUT0": null, + "IOB_DIFFO_OUT1": null, + "IOB_DIFF_TERM_INT_EN": null, + "IOB_DIFF_TERM_INT_EN_STUB": null, + "IOB_IBUF0": null, + "IOB_IBUF1": null, + "IOB_IBUF_DISABLE0": null, + "IOB_IBUF_DISABLE1": null, + "IOB_KEEPER_INT_EN_0": null, + "IOB_KEEPER_INT_EN_1": null, + "IOB_O0": null, + "IOB_O1": null, + "IOB_O_IN0": null, + "IOB_O_IN1": null, + "IOB_O_OUT0": null, + "IOB_O_OUT1": null, + "IOB_PADOUT0": null, + "IOB_PADOUT1": null, + "IOB_PD_INT_EN_0": null, + "IOB_PD_INT_EN_1": null, + "IOB_PU_INT_EN_0": null, + "IOB_PU_INT_EN_1": null, + "IOB_T0": null, + "IOB_T1": null, + "IOB_T_IN0": null, + "IOB_T_IN1": null, + "IOB_T_OUT0": null, + "IOB_T_OUT1": null, + "LIOB_EE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_IN_TERM0": null, + "LIOB_IN_TERM1": null, + "LIOB_LH10_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH10_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH11_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH11_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH12_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH12_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH1_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH1_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH2_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH2_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH3_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH3_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH4_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH4_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH5_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH5_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH6_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH6_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH7_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH7_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH8_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH8_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH9_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH9_1": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_MONITOR_N": null, + "LIOB_MONITOR_P": null, + "LIOB_NE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END3_1": { + "cap": "150.000", + "res": "1024.400" + } + } +} diff --git a/utils/test_data/db/tile_type_LIOB33_SING.json b/utils/test_data/db/tile_type_LIOB33_SING.json new file mode 100644 index 00000000..be6e6507 --- /dev/null +++ b/utils/test_data/db/tile_type_LIOB33_SING.json @@ -0,0 +1,655 @@ +{ + "pips": {}, + "sites": [ + { + "name": "X0Y0", + "prefix": "IOB", + "site_pins": { + "DIFFI_IN": null, + "DIFFO_IN": null, + "DIFFO_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_DIFFO_OUT0" + }, + "DIFF_TERM_INT_EN": null, + "I": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_IBUF0" + }, + "IBUFDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_IBUF_DISABLE0" + }, + "INTERMDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "LIOB_IN_TERM0" + }, + "KEEPER_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_KEEPER_INT_EN_1" + }, + "O": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_O0" + }, + "O_IN": null, + "O_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_O_OUT0" + }, + "PADOUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_PADOUT0" + }, + "PD_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PD_INT_EN_1" + }, + "PU_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PU_INT_EN_1" + }, + "T": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_T0" + }, + "T_IN": null, + "T_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_T_OUT0" + } + }, + "type": "IOB33", + "x_coord": 0, + "y_coord": 0 + } + ], + "tile_type": "LIOB33_SING", + "wires": { + "IOB_DIFFI_IN0": null, + "IOB_DIFFO_IN0": null, + "IOB_DIFFO_OUT0": null, + "IOB_DIFF_TERM_INT_EN_STUB": null, + "IOB_IBUF0": null, + "IOB_IBUF_DISABLE0": null, + "IOB_KEEPER_INT_EN_1": null, + "IOB_O0": null, + "IOB_O_IN0": null, + "IOB_O_OUT0": null, + "IOB_PADOUT0": null, + "IOB_PD_INT_EN_1": null, + "IOB_PU_INT_EN_1": null, + "IOB_T0": null, + "IOB_T_IN0": null, + "IOB_T_OUT0": null, + "LIOB_EE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE2BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4B3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_EL1BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_ER1BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_IN_TERM0": null, + "LIOB_LH10_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH11_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH12_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH1_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH2_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH3_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH4_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH5_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH6_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH7_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH8_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_LH9_0": { + "cap": "194.420", + "res": "48.990" + }, + "LIOB_NE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_NW4END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_SW4END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WL1END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WR1END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW2END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4B3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "LIOB_WW4END3_0": { + "cap": "150.000", + "res": "1024.400" + } + } +} diff --git a/utils/test_data/db/tile_type_RIOB33.json b/utils/test_data/db/tile_type_RIOB33.json new file mode 100644 index 00000000..ea38b3a6 --- /dev/null +++ b/utils/test_data/db/tile_type_RIOB33.json @@ -0,0 +1,1541 @@ +{ + "pips": { + "RIOB33.IOB_DIFFO_OUT0->IOB_DIFFO_IN1": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "IOB_DIFFO_IN1", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_DIFFO_OUT0" + }, + "RIOB33.IOB_O0->>IOB_O_OUT0": { + "can_invert": "0", + "dst_to_src": { + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "in_cap": null, + "res": "0.0" + }, + "dst_wire": "IOB_O_OUT0", + "is_directional": "1", + "is_pass_transistor": 0, + "is_pseudo": "1", + "src_to_dst": { + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "in_cap": null, + "res": "0.0" + }, + "src_wire": "IOB_O0" + }, + "RIOB33.IOB_O_OUT0->IOB_O_IN1": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "IOB_O_IN1", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_O_OUT0" + }, + "RIOB33.IOB_PADOUT0->IOB_DIFFI_IN1": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "IOB_DIFFI_IN1", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_PADOUT0" + }, + "RIOB33.IOB_PADOUT0->RIOB_MONITOR_P": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "RIOB_MONITOR_P", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_PADOUT0" + }, + "RIOB33.IOB_PADOUT1->IOB_DIFFI_IN0": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "IOB_DIFFI_IN0", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_PADOUT1" + }, + "RIOB33.IOB_PADOUT1->RIOB_MONITOR_N": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "RIOB_MONITOR_N", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_PADOUT1" + }, + "RIOB33.IOB_T0->>IOB_T_OUT0": { + "can_invert": "0", + "dst_to_src": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "in_cap": null, + "res": "0.0" + }, + "dst_wire": "IOB_T_OUT0", + "is_directional": "1", + "is_pass_transistor": 0, + "is_pseudo": "1", + "src_to_dst": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "in_cap": null, + "res": "0.0" + }, + "src_wire": "IOB_T0" + }, + "RIOB33.IOB_T_OUT0->IOB_T_IN1": { + "can_invert": "0", + "dst_to_src": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "dst_wire": "IOB_T_IN1", + "is_directional": "1", + "is_pass_transistor": 1, + "is_pseudo": "0", + "src_to_dst": { + "delay": null, + "in_cap": null, + "res": "0.000" + }, + "src_wire": "IOB_T_OUT0" + } + }, + "sites": [ + { + "name": "X0Y0", + "prefix": "IOB", + "site_pins": { + "DIFFI_IN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_DIFFI_IN1" + }, + "DIFFO_IN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_DIFFO_IN1" + }, + "DIFFO_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_DIFFO_OUT1" + }, + "DIFF_TERM_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_DIFF_TERM_INT_EN" + }, + "I": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_IBUF1" + }, + "IBUFDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_IBUF_DISABLE1" + }, + "INTERMDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "LIOB_IN_TERM1" + }, + "KEEPER_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_KEEPER_INT_EN_0" + }, + "O": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_O1" + }, + "O_IN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_O_IN1" + }, + "O_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_O_OUT1" + }, + "PADOUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_PADOUT1" + }, + "PD_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PD_INT_EN_0" + }, + "PU_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PU_INT_EN_0" + }, + "T": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_T1" + }, + "T_IN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_T_IN1" + }, + "T_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_T_OUT1" + } + }, + "type": "IOB33S", + "x_coord": 0, + "y_coord": 0 + }, + { + "name": "X0Y1", + "prefix": "IOB", + "site_pins": { + "DIFFI_IN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_DIFFI_IN0" + }, + "DIFFO_IN": null, + "DIFFO_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_DIFFO_OUT0" + }, + "DIFF_TERM_INT_EN": null, + "I": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_IBUF0" + }, + "IBUFDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_IBUF_DISABLE0" + }, + "INTERMDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "LIOB_IN_TERM0" + }, + "KEEPER_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_KEEPER_INT_EN_1" + }, + "O": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_O0" + }, + "O_IN": null, + "O_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_O_OUT0" + }, + "PADOUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_PADOUT0" + }, + "PD_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PD_INT_EN_1" + }, + "PU_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PU_INT_EN_1" + }, + "T": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_T0" + }, + "T_IN": null, + "T_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_T_OUT0" + } + }, + "type": "IOB33M", + "x_coord": 0, + "y_coord": 1 + } + ], + "tile_type": "RIOB33", + "wires": { + "IOB_DIFFI_IN0": null, + "IOB_DIFFI_IN1": null, + "IOB_DIFFO_IN0": null, + "IOB_DIFFO_IN1": null, + "IOB_DIFFO_OUT0": null, + "IOB_DIFFO_OUT1": null, + "IOB_DIFF_TERM_INT_EN": null, + "IOB_DIFF_TERM_INT_EN_STUB": null, + "IOB_IBUF0": null, + "IOB_IBUF1": null, + "IOB_IBUF_DISABLE0": null, + "IOB_IBUF_DISABLE1": null, + "IOB_KEEPER_INT_EN_0": null, + "IOB_KEEPER_INT_EN_1": null, + "IOB_O0": null, + "IOB_O1": null, + "IOB_O_IN0": null, + "IOB_O_IN1": null, + "IOB_O_OUT0": null, + "IOB_O_OUT1": null, + "IOB_PADOUT0": null, + "IOB_PADOUT1": null, + "IOB_PD_INT_EN_0": null, + "IOB_PD_INT_EN_1": null, + "IOB_PU_INT_EN_0": null, + "IOB_PU_INT_EN_1": null, + "IOB_T0": null, + "IOB_T1": null, + "IOB_T_IN0": null, + "IOB_T_IN1": null, + "IOB_T_OUT0": null, + "IOB_T_OUT1": null, + "LIOB_IN_TERM0": null, + "LIOB_IN_TERM1": null, + "RIOB_EE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_LH10_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH10_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH11_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH11_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH12_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH12_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH1_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH1_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH2_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH2_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH3_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH3_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH4_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH4_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH5_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH5_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH6_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH6_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH7_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH7_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH8_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH8_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH9_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH9_1": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_MONITOR_N": null, + "RIOB_MONITOR_P": null, + "RIOB_NE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C3_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END0_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END1_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END2_1": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END3_1": { + "cap": "150.000", + "res": "1024.400" + } + } +} diff --git a/utils/test_data/db/tile_type_RIOB33_SING.json b/utils/test_data/db/tile_type_RIOB33_SING.json new file mode 100644 index 00000000..d751ab12 --- /dev/null +++ b/utils/test_data/db/tile_type_RIOB33_SING.json @@ -0,0 +1,655 @@ +{ + "pips": {}, + "sites": [ + { + "name": "X0Y0", + "prefix": "IOB", + "site_pins": { + "DIFFI_IN": null, + "DIFFO_IN": null, + "DIFFO_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_DIFFO_OUT0" + }, + "DIFF_TERM_INT_EN": null, + "I": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_IBUF0" + }, + "IBUFDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_IBUF_DISABLE0" + }, + "INTERMDISABLE": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "LIOB_IN_TERM0" + }, + "KEEPER_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_KEEPER_INT_EN_1" + }, + "O": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_O0" + }, + "O_IN": null, + "O_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_O_OUT0" + }, + "PADOUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_PADOUT0" + }, + "PD_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PD_INT_EN_1" + }, + "PU_INT_EN": { + "cap": "0.000", + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "wire": "IOB_PU_INT_EN_1" + }, + "T": { + "cap": "0.001", + "delay": [ + "0.001", + "0.001", + "0.001", + "0.001" + ], + "wire": "IOB_T0" + }, + "T_IN": null, + "T_OUT": { + "delay": [ + "0.000", + "0.000", + "0.000", + "0.000" + ], + "res": "0.0", + "wire": "IOB_T_OUT0" + } + }, + "type": "IOB33", + "x_coord": 0, + "y_coord": 0 + } + ], + "tile_type": "RIOB33_SING", + "wires": { + "IOB_DIFFI_IN0": null, + "IOB_DIFFO_IN0": null, + "IOB_DIFFO_OUT0": null, + "IOB_DIFF_TERM_INT_EN_STUB": null, + "IOB_IBUF0": null, + "IOB_IBUF_DISABLE0": null, + "IOB_KEEPER_INT_EN_1": null, + "IOB_O0": null, + "IOB_O_IN0": null, + "IOB_O_OUT0": null, + "IOB_PADOUT0": null, + "IOB_PD_INT_EN_1": null, + "IOB_PU_INT_EN_1": null, + "IOB_T0": null, + "IOB_T_IN0": null, + "IOB_T_OUT0": null, + "LIOB_IN_TERM0": null, + "RIOB_EE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE2BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4B3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_EL1BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_ER1BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_LH10_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH11_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH12_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH1_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH2_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH3_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH4_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH5_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH6_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH7_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH8_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_LH9_0": { + "cap": "194.420", + "res": "48.990" + }, + "RIOB_NE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_NW4END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4BEG3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SE4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_SW4END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WL1END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WR1END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW2END3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4A3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4B3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4C3_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END0_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END1_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END2_0": { + "cap": "150.000", + "res": "1024.400" + }, + "RIOB_WW4END3_0": { + "cap": "150.000", + "res": "1024.400" + } + } +} diff --git a/utils/test_data/db/tilegrid.json b/utils/test_data/db/tilegrid.json index 48b5f7ac..d5370531 100644 --- a/utils/test_data/db/tilegrid.json +++ b/utils/test_data/db/tilegrid.json @@ -54,5 +54,141 @@ "TIEOFF_X11Y102": "TIEOFF" }, "type": "INT_L" + }, + "LIOB33_SING_X0Y0": { + "bits": { + "CLB_IO_CLK": { + "alias": { + "sites": { + "IOB33_Y0": "IOB33_Y0" + }, + "start_offset": 2, + "type": "LIOB33" + }, + "baseaddr": "0x00400000", + "frames": 42, + "offset": 0, + "words": 2 + } + }, + "grid_x": 0, + "grid_y": 155, + "pin_functions": { + "IOB_X0Y0": "IO_25_14" + }, + "sites": { + "IOB_X0Y0": "IOB33" + }, + "type": "LIOB33_SING" + }, + "LIOB33_X0Y1": { + "bits": { + "CLB_IO_CLK": { + "baseaddr": "0x00400000", + "frames": 42, + "offset": 2, + "words": 4 + } + }, + "grid_x": 0, + "grid_y": 154, + "pin_functions": { + "IOB_X0Y1": "IO_L24N_T3_A00_D16_14", + "IOB_X0Y2": "IO_L24P_T3_A01_D17_14" + }, + "sites": { + "IOB_X0Y1": "IOB33S", + "IOB_X0Y2": "IOB33M" + }, + "type": "LIOB33" + }, + "LIOB33_X0Y3": { + "bits": { + "CLB_IO_CLK": { + "baseaddr": "0x00400000", + "frames": 42, + "offset": 6, + "words": 4 + } + }, + "grid_x": 0, + "grid_y": 152, + "pin_functions": { + "IOB_X0Y3": "IO_L23N_T3_A02_D18_14", + "IOB_X0Y4": "IO_L23P_T3_A03_D19_14" + }, + "sites": { + "IOB_X0Y3": "IOB33S", + "IOB_X0Y4": "IOB33M" + }, + "type": "LIOB33" + }, + "RIOB33_SING_X43Y0": { + "bits": { + "CLB_IO_CLK": { + "alias": { + "sites": { + "IOB33_Y0": "IOB33_Y0" + }, + "start_offset": 2, + "type": "RIOB33" + }, + "baseaddr": "0x00401580", + "frames": 42, + "offset": 0, + "words": 2 + } + }, + "grid_x": 114, + "grid_y": 155, + "pin_functions": { + "IOB_X1Y0": "IO_25_34" + }, + "sites": { + "IOB_X1Y0": "IOB33" + }, + "type": "RIOB33_SING" + }, + "RIOB33_X43Y1": { + "bits": { + "CLB_IO_CLK": { + "baseaddr": "0x00401580", + "frames": 42, + "offset": 2, + "words": 4 + } + }, + "grid_x": 114, + "grid_y": 154, + "pin_functions": { + "IOB_X1Y1": "IO_L24N_T3_34", + "IOB_X1Y2": "IO_L24P_T3_34" + }, + "sites": { + "IOB_X1Y1": "IOB33S", + "IOB_X1Y2": "IOB33M" + }, + "type": "RIOB33" + }, + "RIOB33_X43Y3": { + "bits": { + "CLB_IO_CLK": { + "baseaddr": "0x00401580", + "frames": 42, + "offset": 6, + "words": 4 + } + }, + "grid_x": 114, + "grid_y": 152, + "pin_functions": { + "IOB_X1Y3": "IO_L23N_T3_34", + "IOB_X1Y4": "IO_L23P_T3_34" + }, + "sites": { + "IOB_X1Y3": "IOB33S", + "IOB_X1Y4": "IOB33M" + }, + "type": "RIOB33" } } diff --git a/utils/test_data/db/xc7_package_pins.csv b/utils/test_data/db/xc7_package_pins.csv new file mode 100644 index 00000000..2d0543e2 --- /dev/null +++ b/utils/test_data/db/xc7_package_pins.csv @@ -0,0 +1,11 @@ +pin,bank,site,tile,pin_function +U14,99,IOB_X0Y0,LIOB33_SING_X0Y0,IO_25_14 +V13,99,IOB_X0Y2,LIOB33_X0Y1,IO_L24P_T3_A01_D17_14 +V14,99,IOB_X0Y1,LIOB33_X0Y1,IO_L24N_T3_A00_D16_14 +U15,99,IOB_X0Y4,LIOB33_X0Y3,IO_L23P_T3_A03_D19_14 +U16,99,IOB_X0Y3,LIOB33_X0Y3,IO_L23N_T3_A02_D18_14 +X00,66,IOB_X0Y0,RIOB33_SING_X43Y0,whatever +X01,66,IOB_X0Y2,RIOB33_X43Y1,whatever +X02,66,IOB_X0Y1,RIOB33_X43Y1,whatever +X03,66,IOB_X0Y4,RIOB33_X43Y3,anything +X04,66,IOB_X0Y3,RIOB33_X43Y3,not_important diff --git a/utils/test_data/iob/liob_stepdown.bits b/utils/test_data/iob/liob_stepdown.bits new file mode 100644 index 00000000..21a6caf0 --- /dev/null +++ b/utils/test_data/iob/liob_stepdown.bits @@ -0,0 +1,5 @@ +bit_00400000_002_01 +bit_00400000_002_03 +bit_00400000_006_03 +bit_00400000_099_03 +bit_00401580_002_02 diff --git a/utils/test_data/iob/liob_stepdown.fasm b/utils/test_data/iob/liob_stepdown.fasm new file mode 100644 index 00000000..f1e7046f --- /dev/null +++ b/utils/test_data/iob/liob_stepdown.fasm @@ -0,0 +1,3 @@ +LIOB33_X0Y1.IOB_Y0.SOMETHING.IN +LIOB33_X0Y1.IOB_Y0.SOMETHING.STEPDOWN +RIOB33_X43Y1.IOB_Y1.SOMETHING.OUT diff --git a/utils/test_data/iob/riob_stepdown.bits b/utils/test_data/iob/riob_stepdown.bits new file mode 100644 index 00000000..198ac448 --- /dev/null +++ b/utils/test_data/iob/riob_stepdown.bits @@ -0,0 +1,5 @@ +bit_00400000_006_01 +bit_00401580_002_03 +bit_00401580_006_03 +bit_00401580_099_02 +bit_00401580_099_03 diff --git a/utils/test_data/iob/riob_stepdown.fasm b/utils/test_data/iob/riob_stepdown.fasm new file mode 100644 index 00000000..488c2711 --- /dev/null +++ b/utils/test_data/iob/riob_stepdown.fasm @@ -0,0 +1,3 @@ +RIOB33_SING_X43Y0.IOB_Y0.SOMETHING.OUT +RIOB33_SING_X43Y0.IOB_Y0.SOMETHING.STEPDOWN +LIOB33_X0Y3.IOB_Y0.SOMETHING.IN diff --git a/utils/test_fasm2frames.py b/utils/test_fasm2frames.py index e6b5cf2d..ca79531d 100755 --- a/utils/test_fasm2frames.py +++ b/utils/test_fasm2frames.py @@ -167,6 +167,11 @@ CLBLM_L_X10Y102.SLICEM_X0.SRUSEDMUX 1 # It will still be decent size though since even sparse occupies all columns in that area self.assertGreaterEqual(len(fout_full_txt), len(fout_sparse_txt) * 4) + def test_stepdown_1(self): + self.bitread_frm_equals('iob/liob_stepdown.fasm', 'iob/liob_stepdown.bits') + + def test_stepdown_2(self): + self.bitread_frm_equals('iob/riob_stepdown.fasm', 'iob/riob_stepdown.bits') if __name__ == '__main__': unittest.main() From 2c391890e36456e710eb1663432c405522164030 Mon Sep 17 00:00:00 2001 From: Maciej Kurc Date: Wed, 11 Dec 2019 09:22:46 +0100 Subject: [PATCH 4/6] Ran make format Signed-off-by: Maciej Kurc --- utils/fasm2frames.py | 17 ++++++++++++----- utils/test_fasm2frames.py | 7 +++++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/utils/fasm2frames.py b/utils/fasm2frames.py index 96bb9d67..60425602 100755 --- a/utils/fasm2frames.py +++ b/utils/fasm2frames.py @@ -81,6 +81,7 @@ def find_pudc_b(db): return pudc_b_tile_site + def get_iob_sites(db, tile_name): """ Yields prjxray site names for given IOB tile name @@ -92,6 +93,7 @@ def get_iob_sites(db, tile_name): site_y = int(site[-1]) % 2 yield "IOB_Y{}".format(site_y) + def run( db_root, part, @@ -105,17 +107,19 @@ def run( assembler = fasm_assembler.FasmAssembler(db) set_features = set() + def feature_callback(feature): set_features.add(feature) - assembler.set_feature_callback(feature_callback) + assembler.set_feature_callback(feature_callback) # Build mapping of tile to IO bank tile_to_bank = {} bank_to_tile = defaultdict(lambda: set()) if part is not None: - with open(os.path.join(db_root, part+"_package_pins.csv"), "r") as fp: + with open(os.path.join(db_root, part + "_package_pins.csv"), + "r") as fp: reader = csv.DictReader(fp) package_pins = [l for l in reader] @@ -189,9 +193,12 @@ def run( for set_feature in set_features: feature = set_feature.feature - tile, site, tag = feature.split(".", maxsplit=2) + tile, site, tag = feature.split(".", maxsplit=2) if "IOB33" in tile: - used_iob_sites.add((tile, site,)) + used_iob_sites.add(( + tile, + site, + )) if "STEPDOWN" in tag: stepdown_banks.add(tile_to_bank[tile]) stepdown_tags.add(tag) @@ -209,7 +216,7 @@ def run( for tag in stepdown_tags: feature = "{}.{}.{}".format(tile, site, tag) for line in fasm.parse_fasm_string(feature): - assembler.add_fasm_line(line, missing_features) + assembler.add_fasm_line(line, missing_features) if missing_features: raise fasm_assembler.FasmLookupError('\n'.join(missing_features)) diff --git a/utils/test_fasm2frames.py b/utils/test_fasm2frames.py index ca79531d..a55776f3 100755 --- a/utils/test_fasm2frames.py +++ b/utils/test_fasm2frames.py @@ -168,10 +168,13 @@ CLBLM_L_X10Y102.SLICEM_X0.SRUSEDMUX 1 self.assertGreaterEqual(len(fout_full_txt), len(fout_sparse_txt) * 4) def test_stepdown_1(self): - self.bitread_frm_equals('iob/liob_stepdown.fasm', 'iob/liob_stepdown.bits') + self.bitread_frm_equals( + 'iob/liob_stepdown.fasm', 'iob/liob_stepdown.bits') def test_stepdown_2(self): - self.bitread_frm_equals('iob/riob_stepdown.fasm', 'iob/riob_stepdown.bits') + self.bitread_frm_equals( + 'iob/riob_stepdown.fasm', 'iob/riob_stepdown.bits') + if __name__ == '__main__': unittest.main() From d8e0bb7b31802f886880e43778d110856eed0324 Mon Sep 17 00:00:00 2001 From: Maciej Kurc Date: Wed, 11 Dec 2019 16:13:07 +0100 Subject: [PATCH 5/6] Fixed bug with fasm feature splitting. Signed-off-by: Maciej Kurc --- utils/fasm2frames.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/utils/fasm2frames.py b/utils/fasm2frames.py index 60425602..6fe2c7bd 100755 --- a/utils/fasm2frames.py +++ b/utils/fasm2frames.py @@ -193,15 +193,17 @@ def run( for set_feature in set_features: feature = set_feature.feature - tile, site, tag = feature.split(".", maxsplit=2) - if "IOB33" in tile: - used_iob_sites.add(( - tile, - site, - )) - if "STEPDOWN" in tag: - stepdown_banks.add(tile_to_bank[tile]) - stepdown_tags.add(tag) + parts = feature.split(".") + if len(parts) >= 3: + tile, site, tag = feature.split(".", maxsplit=2) + if "IOB33" in tile: + used_iob_sites.add(( + tile, + site, + )) + if "STEPDOWN" in tag: + stepdown_banks.add(tile_to_bank[tile]) + stepdown_tags.add(tag) # Set the feature for unused IOBs missing_features = [] From 75bea287194303860a2e532c434ff0b0b9e6d64d Mon Sep 17 00:00:00 2001 From: Maciej Kurc Date: Wed, 11 Dec 2019 17:20:05 +0100 Subject: [PATCH 6/6] Code formatting. Signed-off-by: Maciej Kurc --- utils/test_fasm2frames.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/test_fasm2frames.py b/utils/test_fasm2frames.py index a55776f3..9b1e1258 100755 --- a/utils/test_fasm2frames.py +++ b/utils/test_fasm2frames.py @@ -70,7 +70,7 @@ class TestStringMethods(unittest.TestCase): fout = StringIO() fasm2frames.run( - self.filename_test_data('db'), "xc7", fin.name, fout, **kw) + self.filename_test_data('db'), "xc7", fin.name, fout, **kw) return fout.getvalue()