mirror of https://github.com/openXC7/prjxray.git
Merge pull request #1172 from antmicro/stepdown
Enabling of STEPDOWN feature on unused IOBs
This commit is contained in:
commit
b3fea9c07b
|
|
@ -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"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -79,6 +82,18 @@ 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,
|
||||
part,
|
||||
|
|
@ -91,6 +106,27 @@ 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 +183,46 @@ 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
|
||||
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 = []
|
||||
|
||||
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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
bit_00400000_002_01
|
||||
bit_00400000_002_03
|
||||
bit_00400000_006_03
|
||||
bit_00400000_099_03
|
||||
bit_00401580_002_02
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
LIOB33_X0Y1.IOB_Y0.SOMETHING.IN
|
||||
LIOB33_X0Y1.IOB_Y0.SOMETHING.STEPDOWN
|
||||
RIOB33_X43Y1.IOB_Y1.SOMETHING.OUT
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
bit_00400000_006_01
|
||||
bit_00401580_002_03
|
||||
bit_00401580_006_03
|
||||
bit_00401580_099_02
|
||||
bit_00401580_099_03
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
RIOB33_SING_X43Y0.IOB_Y0.SOMETHING.OUT
|
||||
RIOB33_SING_X43Y0.IOB_Y0.SOMETHING.STEPDOWN
|
||||
LIOB33_X0Y3.IOB_Y0.SOMETHING.IN
|
||||
|
|
@ -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()
|
||||
|
||||
|
|
@ -167,6 +167,14 @@ 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()
|
||||
|
|
|
|||
Loading…
Reference in New Issue