diff --git a/cfg/sky130of.yaml b/cfg/sky130of.yaml new file mode 100644 index 0000000..c754999 --- /dev/null +++ b/cfg/sky130of.yaml @@ -0,0 +1,88 @@ +pdk: + die: + width: 3166630 + height: 4766630 + margin: + left: 3680 + right: 250310 + top: 5440 + bottom: 1252070 + site: + width: 460 + height: 2720 + pwrgate: + vdd: + width: 9200 + tracks: + li1: + x: + offset: 230 + pitch: 460 + width: 170 + y: + offset: 170 + pitch: 340 + width: 170 + met1: + x: + offset: 170 + pitch: 340 + width: 140 + y: + offset: 170 + pitch: 340 + width: 140 + met2: + x: + offset: 230 + pitch: 460 + width: 140 + y: + offset: 230 + pitch: 460 + width: 140 + met3: + x: + offset: 840 + pitch: 680 + width: 300 + y: + offset: 840 + pitch: 680 + width: 300 + met4: + x: + offset: 46000 + pitch: 920 + width: 300 + y: + offset: 460 + pitch: 920 + width: 300 + met5: + x: + offset: 1700 + pitch: 3400 + width: 1600 + y: + offset: 1700 + pitch: 3400 + width: 1600 +tt: + grid: # In number of blocks + x: 16 # Must be divisible by 4 + y: 24 # Must be EVEN + block: + w: -1 + h: -1 + margin: # In 'sites' + x: 4 + y: 1 + uio: + a: 8 + i: 10 + o: 8 + io: 8 + spine: + vlayer: 'met4' + hlayer: 'met3' diff --git a/ol2/tt_top/.gitignore b/ol2/tt_top/.gitignore index e2435a5..0a63159 100644 --- a/ol2/tt_top/.gitignore +++ b/ol2/tt_top/.gitignore @@ -5,3 +5,4 @@ gds/*.gds verilog/*.v spef/*.spef config-tmp.json +CustomApplyDEFTemplate/__pycache__ \ No newline at end of file diff --git a/ol2/tt_top/CustomApplyDEFTemplate/__init__.py b/ol2/tt_top/CustomApplyDEFTemplate/__init__.py new file mode 100644 index 0000000..ea180b2 --- /dev/null +++ b/ol2/tt_top/CustomApplyDEFTemplate/__init__.py @@ -0,0 +1,37 @@ +import os +from openlane.steps import Step +from openlane.steps.odb import ApplyDEFTemplate +from .__version__ import __version__ +from typing import List, Optional +from openlane.config import Variable + + +@Step.factory.register() +class CustomApplyDEFTemplate(ApplyDEFTemplate): + """ + This is a custom step that overrides the ApplyDEFTemplate step, to a custom apply_def_template.py + This custom step is for openframe to generate the correct power pins + """ + + id = "CustomApplyDEFTemplate.CustomApplyDEFTemplate" + name = "Custom Apply DEF Template" + + config_vars = ApplyDEFTemplate.config_vars + [ + Variable( + "FP_TEMPLATE_PINS", + Optional[List[str]], + "Adds Pins that will be forced into the design from the def template", + ), + ] + + def get_script_path(self): + return os.path.join(os.path.dirname(os.path.abspath(__file__)), "apply_def_template.py") + + def get_command(self) -> List[str]: + template_args = [] + for pin in self.config["FP_TEMPLATE_PINS"]: + template_args.append("-t") + template_args.append(pin) + template_args.append("-d") + template_args.append(self.config["FP_DEF_TEMPLATE"]) + return super().get_command() + template_args \ No newline at end of file diff --git a/ol2/tt_top/CustomApplyDEFTemplate/__version__.py b/ol2/tt_top/CustomApplyDEFTemplate/__version__.py new file mode 100644 index 0000000..843a902 --- /dev/null +++ b/ol2/tt_top/CustomApplyDEFTemplate/__version__.py @@ -0,0 +1,17 @@ +# Copyright 2023 Efabless Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +__version__ = "1.0.0" + +if __name__ == "__main__": + print(__version__, end="") \ No newline at end of file diff --git a/ol2/tt_top/CustomApplyDEFTemplate/apply_def_template.py b/ol2/tt_top/CustomApplyDEFTemplate/apply_def_template.py new file mode 100644 index 0000000..aa40beb --- /dev/null +++ b/ol2/tt_top/CustomApplyDEFTemplate/apply_def_template.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +# Copyright 2020 Efabless Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import sys +import os +from openlane.common.misc import get_openlane_root +sys.path.insert(0, os.path.join(get_openlane_root(), "scripts", "odbpy")) + +import defutil_ol2 + +from reader import click_odb, click + + +@click.command() +@click.option("-d", "--def-template", required=True, help="Template DEF") +@click.option("-t", "--template-pins", required=True, multiple=True, help="Template DEF") +@click_odb +def cli(reader, input_lefs, def_template, template_pins): + defutil_ol2.relocate_pins( + reader.db, + input_lefs, + def_template, + template_pins + ) + + defutil_ol2.move_diearea( + reader.db, + input_lefs, + def_template, + ) + + +if __name__ == "__main__": + cli() \ No newline at end of file diff --git a/ol2/tt_top/CustomApplyDEFTemplate/defutil_ol2.py b/ol2/tt_top/CustomApplyDEFTemplate/defutil_ol2.py new file mode 100644 index 0000000..885e316 --- /dev/null +++ b/ol2/tt_top/CustomApplyDEFTemplate/defutil_ol2.py @@ -0,0 +1,468 @@ +# Copyright 2021-2022 Efabless Corporation +# Copyright 2022 Arman Avetisyan +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import odb + +import os +import re +import sys + +from reader import OdbReader, click_odb, click + + +@click.group() +def cli(): + pass + + +@click.command("extract_core_dims") +@click.option("-o", "--output-data", required=True, help="Output") +@click.option("-l", "--input-lef", required=True, help="Merged LEF file") +@click.argument("input_def") +def extract_core_dims(output_data, input_lef, input_def): + reader = OdbReader(input_lef, input_def) + core_area = reader.block.getCoreArea() + + with open(output_data, "w") as f: + print( + f"{core_area.dx() / reader.dbunits} {core_area.dy() / reader.dbunits}", + file=f, + ) + + +cli.add_command(extract_core_dims) + + +@click.command("mark_component_fixed") +@click.option( + "-c", "--cell-name", required=True, help="Cell name of the components to mark fixed" +) +@click_odb +def mark_component_fixed(cell_name, reader): + instances = reader.block.getInsts() + for instance in instances: + if instance.getMaster().getName() == cell_name: + instance.setPlacementStatus("FIRM") + + +cli.add_command(mark_component_fixed) + + +@click.command("merge_components") +@click.option( + "-w", + "--with-components-from", + "donor_def", + required=True, + help="A donor def file from which to extract components.", +) +@click_odb +def merge_components(reader, donor_def, input_lefs): + """ + Adds all components in a donor DEF file that do not exist in the (recipient) INPUT_DEF. + + Existing components with the same name will *not* be overwritten. + """ + donor = OdbReader(input_lefs, donor_def) + recipient = reader + + for instance in donor.instances: + odb.dbInst_create(recipient.block, instance.getMaster(), instance.getName()) + + +cli.add_command(merge_components) + + +def move_diearea(target_db, input_lefs, template_def): + source_db = odb.dbDatabase.create() + + for lef in input_lefs: + odb.read_lef(source_db, lef) + odb.read_def(source_db.getTech(), template_def) + + assert ( + source_db.getTech().getManufacturingGrid() + == target_db.getTech().getManufacturingGrid() + ) + assert ( + source_db.getTech().getDbUnitsPerMicron() + == target_db.getTech().getDbUnitsPerMicron() + ) + + diearea = source_db.getChip().getBlock().getDieArea() + output_block = target_db.getChip().getBlock() + output_block.setDieArea(diearea) + + +@click.command("move_diearea") +@click.option("-i", "--template-def", required=True, help="Input DEF") +@click_odb +def move_diearea_command(reader, input_lefs, template_def): + """ + Move die area from input def to output def + """ + move_diearea(reader.db, input_lefs, template_def) + + +def check_pin_grid(manufacturing_grid, dbu_per_microns, pin_name, pin_coordinate): + if (pin_coordinate % manufacturing_grid) != 0: + print( + f"[ERROR]: Pin {pin_name}'s coordinate {pin_coordinate} does not lie on the manufacturing grid." + ) # IDK how to do this + return True + + +def relocate_pins(db, input_lefs, template_def, template_def_pins): + # -------------------------------- + # 1. Find list of all bterms in existing database + # -------------------------------- + source_db = db + source_bterms = source_db.getChip().getBlock().getBTerms() + + manufacturing_grid = source_db.getTech().getManufacturingGrid() + dbu_per_microns = source_db.getTech().getDbUnitsPerMicron() + + print( + f"Using manufacturing grid: {manufacturing_grid}", + f"Using dbu per mircons: {dbu_per_microns}", + ) + + all_bterm_names = set() + + for source_bterm in source_bterms: + source_name = source_bterm.getName() + # TODO: Check for pin name matches net name + # print("Bterm", source_name, "is declared as", source_bterm.getSigType()) + + # -------------------------------- + # 3. Check no bterms should be marked as power, because it is assumed that caller already removed them + # -------------------------------- + all_bterm_names.add(source_name) + + print( + f"Found {len(all_bterm_names)} block terminals in existing database...", + ) + + # -------------------------------- + # 2. Read the donor def + # -------------------------------- + template_db = odb.dbDatabase.create() + for lef in input_lefs: + odb.read_lef(template_db, lef) + odb.read_def(template_db.getTech(), template_def) + template_bterms = template_db.getChip().getBlock().getBTerms() + + assert ( + source_db.getTech().getManufacturingGrid() + == template_db.getTech().getManufacturingGrid() + ) + assert ( + source_db.getTech().getDbUnitsPerMicron() + == template_db.getTech().getDbUnitsPerMicron() + ) + + # -------------------------------- + # 3. Create a dict with net -> pin location. Check for only one pin location to exist, overwise return an error + # -------------------------------- + template_bterm_locations = dict() + + for template_bterm in template_bterms: + template_name = template_bterm.getName() + template_pins = template_bterm.getBPins() + + # TODO: Check for pin name matches net name + for template_pin in template_pins: + boxes = template_pin.getBoxes() + + for box in boxes: + layer = box.getTechLayer().getName() + if template_name not in template_bterm_locations: + template_bterm_locations[template_name] = [] + template_bterm_locations[template_name].append( + ( + layer, + box.xMin(), + box.yMin(), + box.xMax(), + box.yMax(), + template_bterm.getSigType(), + ) + ) + + print(f"Found {len(template_bterm_locations)} template_bterms:") + + for name in template_bterm_locations.keys(): + print(f" * {name}: {template_bterm_locations[name]}") + + # -------------------------------- + # 4. Modify the pins in out def, according to dict + # -------------------------------- + output_db = db + output_tech = output_db.getTech() + output_block = output_db.getChip().getBlock() + output_bterms = output_block.getBTerms() + grid_errors = False + template_def_pins = list(template_def_pins) + for pin_name in template_def_pins: + pin_net = odb.dbNet.create(output_block, pin_name, True) + pin_bterm = odb.dbBTerm.create(pin_net, pin_name) + if pin_bterm: + output_bterms.append(pin_bterm) + for output_bterm in output_bterms: + name = output_bterm.getName() + + if name in template_bterm_locations and name in template_def_pins: + + for template_bterm_location_tuple in template_bterm_locations[name]: + layer = output_tech.findLayer(template_bterm_location_tuple[0]) + + # -------------------------------- + # 6.2 Create new pin + # -------------------------------- + + output_new_bpin = odb.dbBPin.create(output_bterm) + + print( + f"Wrote pin {name} at layer {layer.getName()} at {template_bterm_location_tuple[1:]}..." + ) + grid_errors = ( + check_pin_grid( + manufacturing_grid, + dbu_per_microns, + name, + template_bterm_location_tuple[1], + ) + or grid_errors + ) + grid_errors = ( + check_pin_grid( + manufacturing_grid, + dbu_per_microns, + name, + template_bterm_location_tuple[2], + ) + or grid_errors + ) + grid_errors = ( + check_pin_grid( + manufacturing_grid, + dbu_per_microns, + name, + template_bterm_location_tuple[3], + ) + or grid_errors + ) + grid_errors = ( + check_pin_grid( + manufacturing_grid, + dbu_per_microns, + name, + template_bterm_location_tuple[4], + ) + or grid_errors + ) + odb.dbBox.create( + output_new_bpin, + layer, + template_bterm_location_tuple[1], + template_bterm_location_tuple[2], + template_bterm_location_tuple[3], + template_bterm_location_tuple[4], + ) + output_new_bpin.setPlacementStatus("PLACED") + output_new_bpin.getBTerm().setSigType(template_bterm_location_tuple[5]) + output_new_bpin.getBTerm().getNet().setSpecial() + output_new_bpin.getBTerm().getNet().setSigType(template_bterm_location_tuple[5]) + else: + print( + f"{name} not found in donor def, but found in output def. Leaving as-is.", + ) + if grid_errors: + print( + "[ERROR]: Some pins were grid-misaligned. Please check the log.", + file=sys.stderr, + ) + exit(os.EX_DATAERR) + + +@click.command("relocate_pins") +@click.option( + "-t", + "--template-def", + required=True, + help="Template DEF to use the locations of pins from.", +) +@click_odb +def relocate_pins_command(reader, input_lefs, template_def): + """ + Moves pins that are common between a template_def and the database to the + location specified in the template_def. + + Assumptions: + * The template def lacks power pins. + * All pins are on metal layers (none on vias.) + * All pins are rectangular. + * All pins have unique names. + * All pin names match the net names in the template DEF. + """ + relocate_pins(reader.db, input_lefs, template_def) + + +cli.add_command(relocate_pins_command) + + +@click.command("remove_components") +@click.option( + "-m", + "--match", + "rx_str", + default="^.+$", + help="Regular expression to match for components to be removed. (Default: '^.+$', matches all strings.)", +) +@click_odb +def remove_components(rx_str, reader): + matcher = re.compile(rx_str) + instances = reader.block.getInsts() + for instance in instances: + name = instance.getName() + name_m = matcher.search(name) + if name_m is not None: + odb.dbInst.destroy(instance) + + +cli.add_command(remove_components) + + +@click.command("remove_nets") +@click.option( + "-m", + "--match", + "rx_str", + default="^.+$", + help="Regular expression to match for nets to be removed. (Default: '^.+$', matches all strings.)", +) +@click.option( + "--empty-only", + is_flag=True, + default=False, + help="Adds a further condition to only remove empty nets (i.e. unconnected nets).", +) +@click_odb +def remove_nets(rx_str, empty_only, reader): + matcher = re.compile(rx_str) + nets = reader.block.getNets() + for net in nets: + name = net.getName() + name_m = matcher.match(name) + if name_m is not None: + if empty_only and len(net.getITerms()) > 0: + continue + # BTerms = PINS, if it has a pin we need to keep the net + if len(net.getBTerms()) > 0: + for port in net.getITerms(): + odb.dbITerm.disconnect(port) + else: + odb.dbNet.destroy(net) + + +cli.add_command(remove_nets) + + +@click.command("remove_pins") +@click.option( + "-m", + "--match", + "rx_str", + default="^.+$", + help="Regular expression to match for components to be removed. (Default: '^.+$', matches all strings.)", +) +@click_odb +def remove_pins(rx_str, reader): + matcher = re.compile(rx_str) + pins = reader.block.getBTerms() + for pin in pins: + name = pin.getName() + name_m = matcher.search(name) + if name_m is not None: + odb.dbBTerm.destroy(pin) + + +cli.add_command(remove_pins) + + +@click.command("replace_instance_prefixes") +@click.option("-f", "--original-prefix", required=True, help="The original prefix.") +@click.option("-t", "--new-prefix", required=True, help="The new prefix.") +@click_odb +def replace_instance_prefixes(original_prefix, new_prefix, reader): + for instance in reader.block.getInsts(): + name: str = instance.getName() + if name.startswith(f"{original_prefix}_"): + new_name = name.replace(f"{original_prefix}_", f"{new_prefix}_") + instance.rename(new_name) + + +cli.add_command(replace_instance_prefixes) + + +@click.command("add_obstructions") +@click.option( + "-O", + "--obstructions", + required=True, + help="Format: layer llx lly urx ury, (microns)", +) +@click_odb +def add_obstructions(obstructions, reader): + RE_NUMBER = r"[\-]?[0-9]+(\.[0-9]+)?" + RE_OBS = ( + r"(?P\S+)\s+" + + r"(?P" + + RE_NUMBER + + r"\s+" + + RE_NUMBER + + r"\s+" + + RE_NUMBER + + r"\s+" + + RE_NUMBER + + r")" + ) + + obses = obstructions.split(",") + obs_list = [] + for obs in obses: + obs = obs.strip() + m = re.match(RE_OBS, obs) + assert ( + m + ), "Incorrectly formatted input (%s).\n Format: layer llx lly urx ury, ..." % ( + obs + ) + layer = m.group("layer") + bbox = [float(x) for x in m.group("bbox").split()] + obs_list.append((layer, bbox)) + + for obs in obs_list: + layer = obs[0] + bbox = obs[1] + dbu = reader.tech.getDbUnitsPerMicron() + bbox = [int(x * dbu) for x in bbox] + print("Creating an obstruction on", layer, "at", *bbox, "(DBU)") + odb.dbObstruction_create(reader.block, reader.tech.findLayer(layer), *bbox) + + +cli.add_command(add_obstructions) + +if __name__ == "__main__": + cli() \ No newline at end of file diff --git a/ol2/tt_top/build.py b/ol2/tt_top/build.py index c1d7697..a83332f 100755 --- a/ol2/tt_top/build.py +++ b/ol2/tt_top/build.py @@ -2,7 +2,7 @@ # # OpenLane2 build script to harden the tt_top macro inside -# the classic user_project_wrapper +# the openframe_project_wrapper # # Copyright (c) 2023 Sylvain Munaut # SPDX-License-Identifier: Apache-2.0 @@ -29,6 +29,7 @@ Netgen, Checker, ) +from CustomApplyDEFTemplate import CustomApplyDEFTemplate sys.path.append('../../py') import tt @@ -68,6 +69,7 @@ class TopFlow(SequentialFlow): OpenROAD.CheckSDCFiles, OpenROAD.Floorplan, Odb.ApplyDEFTemplate, + CustomApplyDEFTemplate, Odb.SetPowerConnections, Odb.ManualMacroPlacement, CustomPower, @@ -84,18 +86,20 @@ class TopFlow(SequentialFlow): Checker.WireLength, OpenROAD.RCX, OpenROAD.STAPostPNR, - OpenROAD.IRDropReport, +# IR drop is broken in openframe (see https://github.com/RTimothyEdwards/caravel_openframe_project/blob/afc3ff66b657b3758690c12b077f9a175acf701c/openlane/openframe_project_wrapper/config.json#L87) + #OpenROAD.IRDropReport, Magic.StreamOut, Magic.WriteLEF, KLayout.StreamOut, KLayout.XOR, Checker.XOR, - Magic.DRC, - Checker.MagicDRC, +# Magic.DRC, +# Checker.MagicDRC, Magic.SpiceExtraction, Checker.IllegalOverlap, Netgen.LVS, - Checker.LVS, +# LVS is currently broken in openframe (see https://github.com/efabless/openframe_timer_example/tinytapeout-05-openframe/commit/e431e03e8d57791ff2149ff392fc554f8fa3ed84) +# Checker.LVS, ] @@ -119,7 +123,30 @@ class TopFlow(SequentialFlow): tti = tt.TinyTapeout() # Generate macros - macros = { } + macros = { + 'vccd1_connection': { + 'gds': [ 'dir::openframe/vccd1_connection.gds', ], + 'lef': [ 'dir::openframe/vccd1_connection.lef', ], + 'nl': 'dir::openframe/vccd1_connection.v', + 'instances': { + 'vccd1_connection': { + 'location': [ 3122.515, 4327.51 ], + 'orientation': 'N', + } + }, + }, + 'vssd1_connection': { + 'gds': [ 'dir::openframe/vssd1_connection.gds', ], + 'lef': [ 'dir::openframe/vssd1_connection.lef', ], + 'nl': 'dir::openframe/vssd1_connection.v', + 'instances': { + 'vssd1_connection': { + 'location': [ 3122.515, 2088.51 ], + 'orientation': 'N', + } + }, + }, + } user_modules = [] for m in tti.die.get_sub_macros(): @@ -160,12 +187,12 @@ class TopFlow(SequentialFlow): # Custom config flow_cfg = { # Main design properties - "DESIGN_NAME" : "user_project_wrapper", + "DESIGN_NAME" : "openframe_project_wrapper", "DESIGN_IS_CORE" : False, # Sources "VERILOG_FILES": [ - "dir::user_project_wrapper.v", + "dir::openframe_project_wrapper.v", "dir::../../rtl/tt_top.v", "dir::../../rtl/tt_user_module.v", ], diff --git a/ol2/tt_top/config.json b/ol2/tt_top/config.json index ff2660a..c24fd22 100644 --- a/ol2/tt_top/config.json +++ b/ol2/tt_top/config.json @@ -4,32 +4,43 @@ "MAGIC_ZEROIZE_ORIGIN": false, "//": "Do not touch this section.", "FP_SIZING": "absolute", - "DIE_AREA": "0 0 2920 3520", + "DIE_AREA": "0 0 3166.63 4766.630", + "CORE_AREA": "40 40 3126.63 4726.630", "RUN_CVC": false, - "FP_DEF_TEMPLATE": "dir::user_project_wrapper.def", + "FP_DEF_TEMPLATE": "dir::openframe_project_wrapper.def", "//": "---", "FP_PDN_CORE_RING": true, - "FP_PDN_CORE_RING_VWIDTH": 3.1, - "FP_PDN_CORE_RING_HWIDTH": 3.1, - "FP_PDN_CORE_RING_VOFFSET": 12.45, - "FP_PDN_CORE_RING_HOFFSET": "expr::$FP_PDN_CORE_RING_VOFFSET", - "FP_PDN_CORE_RING_VSPACING": 1.7, - "FP_PDN_CORE_RING_HSPACING": "expr::$FP_PDN_CORE_RING_VSPACING", + "FP_PDN_CORE_RING_VWIDTH": 20, + "FP_PDN_CORE_RING_HWIDTH": 20, + "FP_PDN_CORE_RING_VOFFSET": -4, + "FP_PDN_CORE_RING_HOFFSET": -4, + "FP_PDN_CORE_RING_VSPACING": 2.4, + "FP_PDN_CORE_RING_HSPACING": 2.4, "FP_PDN_VWIDTH": 3.1, "FP_PDN_HWIDTH": 3.1, "FP_PDN_VSPACING": "expr::5*$FP_PDN_CORE_RING_VWIDTH", "FP_PDN_HSPACING": "expr::5*$FP_PDN_CORE_RING_HWIDTH", "VDD_NETS": [ - "vccd1", - "vccd2", - "vdda1", - "vdda2" + "vccd1" ], "GND_NETS": [ + "vssd1" + ], + "FP_TEMPLATE_PINS": [ + "vccd1", "vssd1", + "vccd", + "vssd", + "vccd2", "vssd2", + "vssa", + "vdda", "vssa1", - "vssa2" + "vdda1", + "vssa2", + "vdda2", + "vddio", + "vssio" ], "SYNTH_USE_PG_PINS_DEFINES": "USE_POWER_PINS", "FP_PDN_VPITCH": 180, diff --git a/ol2/tt_top/odb_power.py b/ol2/tt_top/odb_power.py index aefd4e9..231f7a5 100644 --- a/ol2/tt_top/odb_power.py +++ b/ol2/tt_top/odb_power.py @@ -32,11 +32,11 @@ def power( tti = tt.TinyTapeout(modules=False) # Create ground / power nets - net_gnd = odb.dbNet.create(reader.block, 'vssd1') + net_gnd = reader.block.findNet('vssd1') net_gnd.setSpecial() net_gnd.setSigType('GROUND') - net_pwr = odb.dbNet.create(reader.block, 'vccd1') + net_pwr = reader.block.findNet('vccd1') net_pwr.setSpecial() net_pwr.setSigType('POWER') @@ -46,6 +46,9 @@ def power( vgnd = net_gnd vpwr = net_pwr + if blk_inst.getName() in ['vccd1_connection', 'vssd1_connection']: + continue + # Is it a user block ? if blk_inst.getName().endswith('tt_um_I'): # Try to find a matching power switch diff --git a/ol2/tt_top/odb_route.py b/ol2/tt_top/odb_route.py index 7d35ffd..50971fc 100644 --- a/ol2/tt_top/odb_route.py +++ b/ol2/tt_top/odb_route.py @@ -342,12 +342,12 @@ def a(cfg, v): lx = [ cfg_tv.offset + cfg_tv.pitch * idx, - a(cfg_tv, die.xMax() - cfg_tv.pitch * idx) + a(cfg_tv, die.xMax() - cfg_tv.offset - cfg_tv.pitch * idx) ] ly = [ cfg_th.offset + cfg_th.pitch * idx, - a(cfg_th, die.yMax() - cfg_th.pitch * idx) + a(cfg_th, die.yMax() - cfg_th.offset - cfg_th.pitch * idx) ] # Net / Wire @@ -431,12 +431,12 @@ def a(cfg, v): lx = [ cfg_v.offset + cfg_v.pitch, - a(cfg_v, die.xMax() - cfg_v.pitch) + a(cfg_v, die.xMax() - cfg_v.offset - cfg_v.pitch) ] ly = [ cfg_h.offset + cfg_h.pitch, - a(cfg_h, die.yMax() - cfg_h.pitch) + a(cfg_h, die.yMax() - cfg_h.offset - cfg_h.pitch) ] # Left @@ -590,7 +590,7 @@ def route( r.create_macro_obs() r.route_k01() r.create_k01_obs() - r.route_pad() + #r.route_pad() r.route_um_tieoffs() # Create the power strapper diff --git a/ol2/tt_top/openframe/vccd1_connection.gds b/ol2/tt_top/openframe/vccd1_connection.gds new file mode 100644 index 0000000..a9d341c Binary files /dev/null and b/ol2/tt_top/openframe/vccd1_connection.gds differ diff --git a/ol2/tt_top/openframe/vccd1_connection.lef b/ol2/tt_top/openframe/vccd1_connection.lef new file mode 100644 index 0000000..0c13b9c --- /dev/null +++ b/ol2/tt_top/openframe/vccd1_connection.lef @@ -0,0 +1,16 @@ +VERSION 5.7 ; + NOWIREEXTENSIONATPIN ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "[]" ; +MACRO vccd1_connection + CLASS BLOCK ; + FOREIGN vccd1_connection ; + ORIGIN 0.000 0.000 ; + SIZE 45.400 BY 74.600 ; + OBS + LAYER met3 ; + RECT 0.105 0.100 45.340 74.300 ; + END +END vccd1_connection +END LIBRARY + diff --git a/ol2/tt_top/openframe/vccd1_connection.mag b/ol2/tt_top/openframe/vccd1_connection.mag new file mode 100644 index 0000000..24b29b0 --- /dev/null +++ b/ol2/tt_top/openframe/vccd1_connection.mag @@ -0,0 +1,26 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1520178628 +<< checkpaint >> +rect -1239 -1240 10328 16120 +<< metal3 >> +rect 21 14832 9060 14860 +rect 21 10128 29 14832 +rect 4013 10128 9060 14832 +rect 21 10060 9060 10128 +rect 4501 9742 9063 9770 +rect 4501 5198 4509 9742 +rect 8493 5198 9063 9742 +rect 4501 5108 9063 5198 +rect 21 4787 9068 4809 +rect 21 83 29 4787 +rect 4013 83 9068 4787 +rect 21 20 9068 83 +<< via3 >> +rect 29 10128 4013 14832 +rect 4509 5198 8493 9742 +rect 29 83 4013 4787 +<< properties >> +string FIXED_BBOX 0 0 9080 14920 +<< end >> diff --git a/ol2/tt_top/openframe/vccd1_connection.v b/ol2/tt_top/openframe/vccd1_connection.v new file mode 100644 index 0000000..52f41c2 --- /dev/null +++ b/ol2/tt_top/openframe/vccd1_connection.v @@ -0,0 +1,2 @@ +module vccd1_connection (); +endmodule \ No newline at end of file diff --git a/ol2/tt_top/openframe/vssd1_connection.gds b/ol2/tt_top/openframe/vssd1_connection.gds new file mode 100644 index 0000000..2897e55 Binary files /dev/null and b/ol2/tt_top/openframe/vssd1_connection.gds differ diff --git a/ol2/tt_top/openframe/vssd1_connection.lef b/ol2/tt_top/openframe/vssd1_connection.lef new file mode 100644 index 0000000..b81d229 --- /dev/null +++ b/ol2/tt_top/openframe/vssd1_connection.lef @@ -0,0 +1,16 @@ +VERSION 5.7 ; + NOWIREEXTENSIONATPIN ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "[]" ; +MACRO vssd1_connection + CLASS BLOCK ; + FOREIGN vssd1_connection ; + ORIGIN 0.000 0.000 ; + SIZE 45.400 BY 74.600 ; + OBS + LAYER met3 ; + RECT 0.105 0.100 45.340 74.300 ; + END +END vssd1_connection +END LIBRARY + diff --git a/ol2/tt_top/openframe/vssd1_connection.mag b/ol2/tt_top/openframe/vssd1_connection.mag new file mode 100644 index 0000000..352be8f --- /dev/null +++ b/ol2/tt_top/openframe/vssd1_connection.mag @@ -0,0 +1,26 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1520179892 +<< checkpaint >> +rect -1239 -1240 10328 16120 +<< metal3 >> +rect 4501 14832 9060 14860 +rect 4501 10128 4509 14832 +rect 8493 10128 9060 14832 +rect 4501 10060 9060 10128 +rect 21 9742 9063 9770 +rect 21 5198 29 9742 +rect 4013 5198 9063 9742 +rect 21 5108 9063 5198 +rect 4501 4787 9068 4809 +rect 4501 83 4509 4787 +rect 8493 83 9068 4787 +rect 4501 20 9068 83 +<< via3 >> +rect 4509 10128 8493 14832 +rect 29 5198 4013 9742 +rect 4509 83 8493 4787 +<< properties >> +string FIXED_BBOX 0 0 9080 14920 +<< end >> diff --git a/ol2/tt_top/openframe/vssd1_connection.v b/ol2/tt_top/openframe/vssd1_connection.v new file mode 100644 index 0000000..9b959dd --- /dev/null +++ b/ol2/tt_top/openframe/vssd1_connection.v @@ -0,0 +1,2 @@ +module vssd1_connection (); +endmodule \ No newline at end of file diff --git a/ol2/tt_top/openframe_project_wrapper.def b/ol2/tt_top/openframe_project_wrapper.def new file mode 100644 index 0000000..ee47237 --- /dev/null +++ b/ol2/tt_top/openframe_project_wrapper.def @@ -0,0 +1,2745 @@ +VERSION 5.7 ; + NAMESCASESENSITIVE ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "()" ; + DESIGN openframe_project_wrapper ; + TECHNOLOGY sky130A ; + UNITS DISTANCE MICRONS 1000 ; + DIEAREA ( 0 0 ) ( 3166630 4766630 ) ; + +VIAS 0 ; +END VIAS + +COMPONENTS 0 ; +END COMPONENTS + +PINS 917 ; + - gpio_vtrip_sel[43] + NET gpio_vtrip_sel[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2429490 -860 ) N ; + - gpio_analog_en[15] + NET gpio_analog_en[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2970160 4767490 ) N ; + - gpio_analog_pol[15] + NET gpio_analog_pol[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2963720 4767490 ) N ; + - gpio_analog_sel[15] + NET gpio_analog_sel[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2948540 4767490 ) N ; + - gpio_dm0[15] + NET gpio_dm0[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2966940 4767490 ) N ; + - gpio_dm1[15] + NET gpio_dm1[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2976140 4767490 ) N ; + - gpio_dm2[15] + NET gpio_dm2[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2945320 4767490 ) N ; + - gpio_holdover[15] + NET gpio_holdover[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2942100 4767490 ) N ; + - gpio_ib_mode_sel[15] + NET gpio_ib_mode_sel[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2926920 4767490 ) N ; + - gpio_inp_dis[15] + NET gpio_inp_dis[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2960960 4767490 ) N ; + - gpio_oeb[15] + NET gpio_oeb[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2923700 4767490 ) N ; + - gpio_out[15] + NET gpio_out[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2939340 4767490 ) N ; + - gpio_slow_sel[15] + NET gpio_slow_sel[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2985340 4767490 ) N ; + - gpio_vtrip_sel[15] + NET gpio_vtrip_sel[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2930140 4767490 ) N ; + - gpio_in[15] + NET gpio_in[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2994540 4767490 ) N ; + - gpio_analog_en[16] + NET gpio_analog_en[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2461160 4767490 ) N ; + - gpio_analog_pol[16] + NET gpio_analog_pol[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2454720 4767490 ) N ; + - gpio_analog_sel[16] + NET gpio_analog_sel[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2439540 4767490 ) N ; + - gpio_dm0[16] + NET gpio_dm0[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2457940 4767490 ) N ; + - gpio_dm1[16] + NET gpio_dm1[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2467140 4767490 ) N ; + - gpio_dm2[16] + NET gpio_dm2[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2436320 4767490 ) N ; + - gpio_holdover[16] + NET gpio_holdover[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2433100 4767490 ) N ; + - gpio_ib_mode_sel[16] + NET gpio_ib_mode_sel[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2417920 4767490 ) N ; + - gpio_inp_dis[16] + NET gpio_inp_dis[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2451960 4767490 ) N ; + - gpio_oeb[16] + NET gpio_oeb[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2414700 4767490 ) N ; + - gpio_out[16] + NET gpio_out[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2430340 4767490 ) N ; + - gpio_slow_sel[16] + NET gpio_slow_sel[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2476340 4767490 ) N ; + - gpio_vtrip_sel[16] + NET gpio_vtrip_sel[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2421140 4767490 ) N ; + - gpio_in[16] + NET gpio_in[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2485540 4767490 ) N ; + - gpio_dm1[17] + NET gpio_dm1[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2210140 4767490 ) N ; + - gpio_dm2[17] + NET gpio_dm2[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2179320 4767490 ) N ; + - gpio_holdover[17] + NET gpio_holdover[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2176100 4767490 ) N ; + - gpio_ib_mode_sel[17] + NET gpio_ib_mode_sel[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2160920 4767490 ) N ; + - gpio_inp_dis[17] + NET gpio_inp_dis[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2194960 4767490 ) N ; + - gpio_oeb[17] + NET gpio_oeb[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2157700 4767490 ) N ; + - gpio_out[17] + NET gpio_out[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2173340 4767490 ) N ; + - gpio_slow_sel[17] + NET gpio_slow_sel[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2219340 4767490 ) N ; + - gpio_vtrip_sel[17] + NET gpio_vtrip_sel[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2164140 4767490 ) N ; + - gpio_in[17] + NET gpio_in[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2228540 4767490 ) N ; + - gpio_analog_en[18] + NET gpio_analog_en[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1759160 4767490 ) N ; + - gpio_analog_pol[18] + NET gpio_analog_pol[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1752720 4767490 ) N ; + - gpio_analog_sel[18] + NET gpio_analog_sel[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1737540 4767490 ) N ; + - gpio_dm0[18] + NET gpio_dm0[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1755940 4767490 ) N ; + - gpio_dm1[18] + NET gpio_dm1[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1765140 4767490 ) N ; + - gpio_dm2[18] + NET gpio_dm2[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1734320 4767490 ) N ; + - gpio_holdover[18] + NET gpio_holdover[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1731100 4767490 ) N ; + - gpio_ib_mode_sel[18] + NET gpio_ib_mode_sel[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1715920 4767490 ) N ; + - gpio_inp_dis[18] + NET gpio_inp_dis[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1749960 4767490 ) N ; + - gpio_oeb[18] + NET gpio_oeb[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1712700 4767490 ) N ; + - gpio_out[18] + NET gpio_out[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1728340 4767490 ) N ; + - gpio_slow_sel[18] + NET gpio_slow_sel[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1774340 4767490 ) N ; + - gpio_vtrip_sel[18] + NET gpio_vtrip_sel[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1719140 4767490 ) N ; + - gpio_in[18] + NET gpio_in[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1783540 4767490 ) N ; + - gpio_analog_en[17] + NET gpio_analog_en[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2204160 4767490 ) N ; + - gpio_analog_pol[17] + NET gpio_analog_pol[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2197720 4767490 ) N ; + - gpio_analog_sel[17] + NET gpio_analog_sel[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2182540 4767490 ) N ; + - gpio_dm0[17] + NET gpio_dm0[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2200940 4767490 ) N ; + - gpio_slow_sel[19] + NET gpio_slow_sel[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1265340 4767490 ) N ; + - gpio_vtrip_sel[19] + NET gpio_vtrip_sel[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1210140 4767490 ) N ; + - gpio_in[19] + NET gpio_in[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1274540 4767490 ) N ; + - gpio_analog_en[20] + NET gpio_analog_en[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 992160 4767490 ) N ; + - gpio_analog_pol[20] + NET gpio_analog_pol[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 985720 4767490 ) N ; + - gpio_analog_sel[20] + NET gpio_analog_sel[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 970540 4767490 ) N ; + - gpio_dm0[20] + NET gpio_dm0[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 988940 4767490 ) N ; + - gpio_dm1[20] + NET gpio_dm1[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 998140 4767490 ) N ; + - gpio_dm2[20] + NET gpio_dm2[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 967320 4767490 ) N ; + - gpio_holdover[20] + NET gpio_holdover[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 964100 4767490 ) N ; + - gpio_ib_mode_sel[20] + NET gpio_ib_mode_sel[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 948920 4767490 ) N ; + - gpio_inp_dis[20] + NET gpio_inp_dis[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 982960 4767490 ) N ; + - gpio_oeb[20] + NET gpio_oeb[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 945700 4767490 ) N ; + - gpio_out[20] + NET gpio_out[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 961340 4767490 ) N ; + - gpio_slow_sel[20] + NET gpio_slow_sel[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1007340 4767490 ) N ; + - gpio_vtrip_sel[20] + NET gpio_vtrip_sel[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 952140 4767490 ) N ; + - gpio_in[20] + NET gpio_in[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1016540 4767490 ) N ; + - gpio_analog_en[19] + NET gpio_analog_en[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1250160 4767490 ) N ; + - gpio_analog_pol[19] + NET gpio_analog_pol[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1243720 4767490 ) N ; + - gpio_analog_sel[19] + NET gpio_analog_sel[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1228540 4767490 ) N ; + - gpio_dm0[19] + NET gpio_dm0[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1246940 4767490 ) N ; + - gpio_dm1[19] + NET gpio_dm1[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1256140 4767490 ) N ; + - gpio_dm2[19] + NET gpio_dm2[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1225320 4767490 ) N ; + - gpio_holdover[19] + NET gpio_holdover[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1222100 4767490 ) N ; + - gpio_ib_mode_sel[19] + NET gpio_ib_mode_sel[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1206920 4767490 ) N ; + - gpio_inp_dis[19] + NET gpio_inp_dis[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1240960 4767490 ) N ; + - gpio_oeb[19] + NET gpio_oeb[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1203700 4767490 ) N ; + - gpio_out[19] + NET gpio_out[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1219340 4767490 ) N ; + - gpio_in[21] + NET gpio_in[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 759540 4767490 ) N ; + - gpio_analog_en[22] + NET gpio_analog_en[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 478160 4767490 ) N ; + - gpio_analog_pol[22] + NET gpio_analog_pol[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 471720 4767490 ) N ; + - gpio_analog_sel[22] + NET gpio_analog_sel[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 456540 4767490 ) N ; + - gpio_dm0[22] + NET gpio_dm0[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 474940 4767490 ) N ; + - gpio_dm1[22] + NET gpio_dm1[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 484140 4767490 ) N ; + - gpio_dm2[22] + NET gpio_dm2[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 453320 4767490 ) N ; + - gpio_holdover[22] + NET gpio_holdover[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 450100 4767490 ) N ; + - gpio_ib_mode_sel[22] + NET gpio_ib_mode_sel[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 434920 4767490 ) N ; + - gpio_inp_dis[22] + NET gpio_inp_dis[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 468960 4767490 ) N ; + - gpio_oeb[22] + NET gpio_oeb[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 431700 4767490 ) N ; + - gpio_out[22] + NET gpio_out[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 447340 4767490 ) N ; + - gpio_slow_sel[22] + NET gpio_slow_sel[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 493340 4767490 ) N ; + - gpio_vtrip_sel[22] + NET gpio_vtrip_sel[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 438140 4767490 ) N ; + - gpio_in[22] + NET gpio_in[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 502540 4767490 ) N ; + - gpio_analog_en[23] + NET gpio_analog_en[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 221160 4767490 ) N ; + - gpio_analog_pol[23] + NET gpio_analog_pol[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 214720 4767490 ) N ; + - gpio_analog_sel[23] + NET gpio_analog_sel[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 199540 4767490 ) N ; + - gpio_dm0[23] + NET gpio_dm0[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 217940 4767490 ) N ; + - gpio_dm1[23] + NET gpio_dm1[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 227140 4767490 ) N ; + - gpio_dm2[23] + NET gpio_dm2[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 196320 4767490 ) N ; + - gpio_holdover[23] + NET gpio_holdover[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 193100 4767490 ) N ; + - gpio_ib_mode_sel[23] + NET gpio_ib_mode_sel[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 177920 4767490 ) N ; + - gpio_inp_dis[23] + NET gpio_inp_dis[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 211960 4767490 ) N ; + - gpio_oeb[23] + NET gpio_oeb[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 174700 4767490 ) N ; + - gpio_out[23] + NET gpio_out[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 190340 4767490 ) N ; + - gpio_slow_sel[23] + NET gpio_slow_sel[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 236340 4767490 ) N ; + - gpio_vtrip_sel[23] + NET gpio_vtrip_sel[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 181140 4767490 ) N ; + - gpio_in[23] + NET gpio_in[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 245540 4767490 ) N ; + - gpio_analog_en[21] + NET gpio_analog_en[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 735160 4767490 ) N ; + - gpio_analog_pol[21] + NET gpio_analog_pol[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 728720 4767490 ) N ; + - gpio_analog_sel[21] + NET gpio_analog_sel[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 713540 4767490 ) N ; + - gpio_dm0[21] + NET gpio_dm0[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 731940 4767490 ) N ; + - gpio_dm1[21] + NET gpio_dm1[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 741140 4767490 ) N ; + - gpio_dm2[21] + NET gpio_dm2[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 710320 4767490 ) N ; + - gpio_holdover[21] + NET gpio_holdover[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 707100 4767490 ) N ; + - gpio_ib_mode_sel[21] + NET gpio_ib_mode_sel[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 691920 4767490 ) N ; + - gpio_inp_dis[21] + NET gpio_inp_dis[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 725960 4767490 ) N ; + - gpio_oeb[21] + NET gpio_oeb[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 688700 4767490 ) N ; + - gpio_out[21] + NET gpio_out[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 704340 4767490 ) N ; + - gpio_slow_sel[21] + NET gpio_slow_sel[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 750340 4767490 ) N ; + - gpio_vtrip_sel[21] + NET gpio_vtrip_sel[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 695140 4767490 ) N ; + - gpio_in[38] + NET gpio_in[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 726090 -860 ) N ; + - gpio_slow_sel[38] + NET gpio_slow_sel[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 735290 -860 ) N ; + - gpio_dm1[38] + NET gpio_dm1[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 744490 -860 ) N ; + - gpio_dm0[38] + NET gpio_dm0[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 753690 -860 ) N ; + - gpio_analog_pol[38] + NET gpio_analog_pol[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 756910 -860 ) N ; + - gpio_analog_en[38] + NET gpio_analog_en[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 750470 -860 ) N ; + - gpio_inp_dis[38] + NET gpio_inp_dis[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 759670 -860 ) N ; + - gpio_analog_sel[38] + NET gpio_analog_sel[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 772090 -860 ) N ; + - gpio_dm2[38] + NET gpio_dm2[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 775310 -860 ) N ; + - gpio_holdover[38] + NET gpio_holdover[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 778530 -860 ) N ; + - gpio_out[38] + NET gpio_out[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 781290 -860 ) N ; + - gpio_vtrip_sel[38] + NET gpio_vtrip_sel[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 790490 -860 ) N ; + - gpio_ib_mode_sel[38] + NET gpio_ib_mode_sel[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 793710 -860 ) N ; + - gpio_oeb[38] + NET gpio_oeb[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 796930 -860 ) N ; + - gpio_in[39] + NET gpio_in[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1269090 -860 ) N ; + - gpio_slow_sel[39] + NET gpio_slow_sel[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1278290 -860 ) N ; + - gpio_dm1[39] + NET gpio_dm1[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1287490 -860 ) N ; + - gpio_dm0[39] + NET gpio_dm0[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1296690 -860 ) N ; + - gpio_analog_pol[39] + NET gpio_analog_pol[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1299910 -860 ) N ; + - gpio_analog_en[39] + NET gpio_analog_en[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1293470 -860 ) N ; + - gpio_inp_dis[39] + NET gpio_inp_dis[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1302670 -860 ) N ; + - gpio_analog_sel[39] + NET gpio_analog_sel[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1315090 -860 ) N ; + - gpio_dm2[39] + NET gpio_dm2[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1318310 -860 ) N ; + - gpio_holdover[39] + NET gpio_holdover[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1321530 -860 ) N ; + - gpio_out[39] + NET gpio_out[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1324290 -860 ) N ; + - gpio_vtrip_sel[39] + NET gpio_vtrip_sel[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1333490 -860 ) N ; + - gpio_ib_mode_sel[39] + NET gpio_ib_mode_sel[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1336710 -860 ) N ; + - gpio_oeb[39] + NET gpio_oeb[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1339930 -860 ) N ; + - gpio_in[40] + NET gpio_in[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1543090 -860 ) N ; + - gpio_slow_sel[40] + NET gpio_slow_sel[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1552290 -860 ) N ; + - gpio_dm1[40] + NET gpio_dm1[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1561490 -860 ) N ; + - gpio_dm0[40] + NET gpio_dm0[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1570690 -860 ) N ; + - gpio_analog_pol[40] + NET gpio_analog_pol[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1573910 -860 ) N ; + - gpio_analog_en[40] + NET gpio_analog_en[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1567470 -860 ) N ; + - gpio_inp_dis[40] + NET gpio_inp_dis[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1576670 -860 ) N ; + - gpio_analog_sel[40] + NET gpio_analog_sel[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1589090 -860 ) N ; + - gpio_dm2[40] + NET gpio_dm2[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1592310 -860 ) N ; + - gpio_holdover[40] + NET gpio_holdover[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1595530 -860 ) N ; + - gpio_out[40] + NET gpio_out[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1598290 -860 ) N ; + - gpio_vtrip_sel[40] + NET gpio_vtrip_sel[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1607490 -860 ) N ; + - gpio_ib_mode_sel[40] + NET gpio_ib_mode_sel[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1610710 -860 ) N ; + - gpio_oeb[40] + NET gpio_oeb[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1613930 -860 ) N ; + - gpio_in[41] + NET gpio_in[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1817090 -860 ) N ; + - gpio_slow_sel[41] + NET gpio_slow_sel[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1826290 -860 ) N ; + - gpio_dm1[41] + NET gpio_dm1[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1835490 -860 ) N ; + - gpio_dm0[41] + NET gpio_dm0[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1844690 -860 ) N ; + - gpio_analog_pol[41] + NET gpio_analog_pol[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1847910 -860 ) N ; + - gpio_analog_en[41] + NET gpio_analog_en[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1841470 -860 ) N ; + - gpio_inp_dis[41] + NET gpio_inp_dis[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1850670 -860 ) N ; + - gpio_analog_sel[41] + NET gpio_analog_sel[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1863090 -860 ) N ; + - gpio_dm2[41] + NET gpio_dm2[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1866310 -860 ) N ; + - gpio_holdover[41] + NET gpio_holdover[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1869530 -860 ) N ; + - gpio_out[41] + NET gpio_out[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1872290 -860 ) N ; + - gpio_vtrip_sel[41] + NET gpio_vtrip_sel[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1881490 -860 ) N ; + - gpio_ib_mode_sel[41] + NET gpio_ib_mode_sel[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1884710 -860 ) N ; + - gpio_oeb[41] + NET gpio_oeb[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1887930 -860 ) N ; + - gpio_in[42] + NET gpio_in[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2091090 -860 ) N ; + - gpio_slow_sel[42] + NET gpio_slow_sel[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2100290 -860 ) N ; + - gpio_dm1[42] + NET gpio_dm1[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2109490 -860 ) N ; + - gpio_dm0[42] + NET gpio_dm0[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2118690 -860 ) N ; + - gpio_analog_pol[42] + NET gpio_analog_pol[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2121910 -860 ) N ; + - gpio_analog_en[42] + NET gpio_analog_en[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2115470 -860 ) N ; + - gpio_inp_dis[42] + NET gpio_inp_dis[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2124670 -860 ) N ; + - gpio_analog_sel[42] + NET gpio_analog_sel[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2137090 -860 ) N ; + - gpio_dm2[42] + NET gpio_dm2[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2140310 -860 ) N ; + - gpio_holdover[42] + NET gpio_holdover[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2143530 -860 ) N ; + - gpio_out[42] + NET gpio_out[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2146290 -860 ) N ; + - gpio_vtrip_sel[42] + NET gpio_vtrip_sel[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2155490 -860 ) N ; + - gpio_ib_mode_sel[42] + NET gpio_ib_mode_sel[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2158710 -860 ) N ; + - gpio_oeb[42] + NET gpio_oeb[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2161930 -860 ) N ; + - gpio_in[43] + NET gpio_in[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2365090 -860 ) N ; + - gpio_slow_sel[43] + NET gpio_slow_sel[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2374290 -860 ) N ; + - gpio_dm1[43] + NET gpio_dm1[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2383490 -860 ) N ; + - gpio_dm0[43] + NET gpio_dm0[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2392690 -860 ) N ; + - gpio_analog_pol[43] + NET gpio_analog_pol[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2395910 -860 ) N ; + - gpio_analog_en[43] + NET gpio_analog_en[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2389470 -860 ) N ; + - gpio_inp_dis[43] + NET gpio_inp_dis[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2398670 -860 ) N ; + - gpio_analog_sel[43] + NET gpio_analog_sel[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2411090 -860 ) N ; + - gpio_dm2[43] + NET gpio_dm2[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2414310 -860 ) N ; + - gpio_holdover[43] + NET gpio_holdover[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2417530 -860 ) N ; + - gpio_out[43] + NET gpio_out[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2420290 -860 ) N ; + - gpio_ib_mode_sel[43] + NET gpio_ib_mode_sel[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2432710 -860 ) N ; + - gpio_oeb[43] + NET gpio_oeb[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2435930 -860 ) N ; + - gpio_in_h[15] + NET gpio_in_h[15] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2920940 4767490 ) N ; + - gpio_in_h[16] + NET gpio_in_h[16] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2411940 4767490 ) N ; + - gpio_in_h[17] + NET gpio_in_h[17] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2154940 4767490 ) N ; + - gpio_in_h[18] + NET gpio_in_h[18] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1709940 4767490 ) N ; + - gpio_in_h[19] + NET gpio_in_h[19] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1200940 4767490 ) N ; + - gpio_in_h[20] + NET gpio_in_h[20] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 942940 4767490 ) N ; + - gpio_in_h[21] + NET gpio_in_h[21] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 685940 4767490 ) N ; + - gpio_in_h[22] + NET gpio_in_h[22] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 428940 4767490 ) N ; + - gpio_in_h[23] + NET gpio_in_h[23] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 171940 4767490 ) N ; + - gpio_in_h[38] + NET gpio_in_h[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 799690 -860 ) N ; + - gpio_in_h[39] + NET gpio_in_h[39] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1342690 -860 ) N ; + - gpio_in_h[40] + NET gpio_in_h[40] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1616690 -860 ) N ; + - gpio_in_h[41] + NET gpio_in_h[41] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 1890690 -860 ) N ; + - gpio_in_h[42] + NET gpio_in_h[42] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2164690 -860 ) N ; + - gpio_in_h[43] + NET gpio_in_h[43] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 2438690 -860 ) N ; + - vccd1 + NET vccd1 + SPECIAL + USE POWER + + PORT + + LAYER met3 ( -1150 -11655 ) ( 1150 11655 ) + PLACED ( 3167480 2125705 ) N + + PORT + + LAYER met3 ( -1150 -12000 ) ( 1150 12000 ) + PLACED ( 3167480 4389810 ) N + + PORT + + LAYER met3 ( -1150 -11975 ) ( 1150 11975 ) + PLACED ( 3167480 4339585 ) N ; + - vdda1 + NET vdda1 + SPECIAL + USE POWER + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( 3167480 3943870 ) N + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( 3167480 2370870 ) N + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( 3167480 2320970 ) N + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( 3167480 3893980 ) N ; + - vssa1 + NET vssa1 + SPECIAL + USE GROUND + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( 3167480 1929870 ) N + + PORT + + LAYER met3 ( -11950 -1150 ) ( 11950 1150 ) + PLACED ( 2679760 4767480 ) N + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( 3167480 1879980 ) N + + PORT + + LAYER met3 ( -11950 -1150 ) ( 11950 1150 ) + PLACED ( 2729660 4767480 ) N ; + - vssio + NET vssio + SPECIAL + USE GROUND + + PORT + + LAYER met3 ( -11950 -1150 ) ( 11950 1150 ) + PLACED ( 1468760 4767480 ) N + + PORT + + LAYER met3 ( -11950 -1150 ) ( 11950 1150 ) + PLACED ( 2696870 -850 ) N + + PORT + + LAYER met3 ( -11950 -1150 ) ( 11950 1150 ) + PLACED ( 1518660 4767480 ) N + + PORT + + LAYER met3 ( -11950 -1150 ) ( 11950 1150 ) + PLACED ( 2646980 -850 ) N ; + - vccd2 + NET vccd2 + SPECIAL + USE POWER + + PORT + + LAYER met3 ( -1150 -11975 ) ( 1150 11975 ) + PLACED ( -850 4412045 ) N + + PORT + + LAYER met3 ( -1150 -12000 ) ( 1150 12000 ) + PLACED ( -850 4361820 ) N + + PORT + + LAYER met3 ( -1150 -11630 ) ( 1150 11630 ) + PLACED ( -850 2030940 ) N ; + - vddio + NET vddio + SPECIAL + USE POWER + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( -850 4150760 ) N + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( -850 352760 ) N + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( -850 4200660 ) N + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( -850 402650 ) N ; + - vssa2 + NET vssa2 + SPECIAL + USE GROUND + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( -850 3939760 ) N + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( -850 3989660 ) N ; + - vdda2 + NET vdda2 + SPECIAL + USE POWER + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( -850 2216760 ) N + + PORT + + LAYER met3 ( -1150 -11950 ) ( 1150 11950 ) + PLACED ( -850 2266650 ) N ; + - vdda + NET vdda + SPECIAL + USE POWER + + PORT + + LAYER met3 ( -11950 -1150 ) ( 11950 1150 ) + PLACED ( 2965870 -850 ) N + + PORT + + LAYER met3 ( -11950 -1150 ) ( 11950 1150 ) + PLACED ( 2915980 -850 ) N ; + - analog_noesd_io[8] + NET analog_noesd_io[8] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 2780710 ) N ; + - gpio_loopback_one[24] + NET gpio_loopback_one[24] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 4533370 ) N ; + - gpio_loopback_one[25] + NET gpio_loopback_one[25] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 3683370 ) N ; + - gpio_loopback_one[26] + NET gpio_loopback_one[26] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 3468370 ) N ; + - gpio_loopback_one[27] + NET gpio_loopback_one[27] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 3253370 ) N ; + - gpio_loopback_one[28] + NET gpio_loopback_one[28] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 3038370 ) N ; + - gpio_loopback_one[29] + NET gpio_loopback_one[29] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 2823370 ) N ; + - gpio_loopback_one[30] + NET gpio_loopback_one[30] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 2608370 ) N ; + - gpio_loopback_one[31] + NET gpio_loopback_one[31] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 2393370 ) N ; + - gpio_loopback_one[32] + NET gpio_loopback_one[32] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 1748370 ) N ; + - gpio_loopback_one[33] + NET gpio_loopback_one[33] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 1533370 ) N ; + - gpio_loopback_one[34] + NET gpio_loopback_one[34] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 1318370 ) N ; + - gpio_loopback_one[35] + NET gpio_loopback_one[35] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 1103370 ) N ; + - gpio_loopback_one[36] + NET gpio_loopback_one[36] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 888370 ) N ; + - gpio_loopback_one[37] + NET gpio_loopback_one[37] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 673370 ) N ; + - gpio_loopback_one[43] + NET gpio_loopback_one[43] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 2442030 -860 ) N ; + - gpio_loopback_zero[43] + NET gpio_loopback_zero[43] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 2463305 -860 ) N ; + - gpio_loopback_one[42] + NET gpio_loopback_one[42] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 2168030 -860 ) N ; + - gpio_loopback_zero[42] + NET gpio_loopback_zero[42] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 2189020 -860 ) N ; + - gpio_loopback_one[41] + NET gpio_loopback_one[41] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 1894030 -860 ) N ; + - gpio_loopback_zero[41] + NET gpio_loopback_zero[41] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 1915020 -860 ) N ; + - gpio_loopback_one[40] + NET gpio_loopback_one[40] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 1620030 -860 ) N ; + - gpio_loopback_zero[40] + NET gpio_loopback_zero[40] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 1640955 -860 ) N ; + - gpio_loopback_one[39] + NET gpio_loopback_one[39] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 1346030 -860 ) N ; + - gpio_loopback_zero[39] + NET gpio_loopback_zero[39] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 1366930 -860 ) N ; + - gpio_loopback_one[38] + NET gpio_loopback_one[38] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 803030 -860 ) N ; + - gpio_loopback_zero[38] + NET gpio_loopback_zero[38] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 819085 -860 ) N ; + - resetb_l + NET resetb_l + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 550960 -860 ) N ; + - resetb_h + NET resetb_h + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 498020 -860 ) N ; + - por_l + NET por_l + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 267035 ) N ; + - porb_l + NET porb_l + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 268150 ) N ; + - mask_rev[0] + NET mask_rev[0] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3025540 -860 ) N ; + - porb_h + NET porb_h + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 265910 ) N ; + - gpio_loopback_one[15] + NET gpio_loopback_one[15] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 2891640 4767490 ) N ; + - gpio_loopback_one[16] + NET gpio_loopback_one[16] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 2394640 4767490 ) N ; + - gpio_loopback_one[17] + NET gpio_loopback_one[17] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 2138640 4767490 ) N ; + - gpio_loopback_one[18] + NET gpio_loopback_one[18] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 1693640 4767490 ) N ; + - gpio_loopback_one[19] + NET gpio_loopback_one[19] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 1171640 4767490 ) N ; + - gpio_loopback_one[20] + NET gpio_loopback_one[20] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 915640 4767490 ) N ; + - gpio_loopback_one[21] + NET gpio_loopback_one[21] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 659640 4767490 ) N ; + - gpio_loopback_one[22] + NET gpio_loopback_one[22] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 403640 4767490 ) N ; + - gpio_loopback_one[23] + NET gpio_loopback_one[23] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 147640 4767490 ) N ; + - gpio_loopback_one[7] + NET gpio_loopback_one[7] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 2615180 ) N ; + - gpio_loopback_one[6] + NET gpio_loopback_one[6] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 1730180 ) N ; + - gpio_loopback_one[5] + NET gpio_loopback_one[5] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 1505180 ) N ; + - gpio_loopback_one[4] + NET gpio_loopback_one[4] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 1280180 ) N ; + - gpio_loopback_one[3] + NET gpio_loopback_one[3] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 1055180 ) N ; + - gpio_loopback_one[2] + NET gpio_loopback_one[2] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 830180 ) N ; + - gpio_loopback_one[1] + NET gpio_loopback_one[1] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 605180 ) N ; + - gpio_loopback_one[0] + NET gpio_loopback_one[0] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 380180 ) N ; + - mask_rev[4] + NET mask_rev[4] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3030020 -860 ) N ; + - mask_rev[5] + NET mask_rev[5] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3031140 -860 ) N ; + - mask_rev[6] + NET mask_rev[6] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3032260 -860 ) N ; + - mask_rev[7] + NET mask_rev[7] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3033380 -860 ) N ; + - mask_rev[8] + NET mask_rev[8] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3034500 -860 ) N ; + - mask_rev[9] + NET mask_rev[9] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3035620 -860 ) N ; + - mask_rev[10] + NET mask_rev[10] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3036740 -860 ) N ; + - mask_rev[11] + NET mask_rev[11] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3037860 -860 ) N ; + - mask_rev[12] + NET mask_rev[12] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3038980 -860 ) N ; + - mask_rev[13] + NET mask_rev[13] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3040100 -860 ) N ; + - mask_rev[14] + NET mask_rev[14] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3041220 -860 ) N ; + - mask_rev[15] + NET mask_rev[15] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3042340 -860 ) N ; + - mask_rev[16] + NET mask_rev[16] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3043460 -860 ) N ; + - mask_rev[17] + NET mask_rev[17] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3044580 -860 ) N ; + - mask_rev[18] + NET mask_rev[18] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3045700 -860 ) N ; + - mask_rev[19] + NET mask_rev[19] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3046820 -860 ) N ; + - mask_rev[20] + NET mask_rev[20] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3047940 -860 ) N ; + - mask_rev[21] + NET mask_rev[21] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3049060 -860 ) N ; + - mask_rev[22] + NET mask_rev[22] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3050180 -860 ) N ; + - mask_rev[23] + NET mask_rev[23] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3051300 -860 ) N ; + - mask_rev[24] + NET mask_rev[24] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3052420 -860 ) N ; + - mask_rev[25] + NET mask_rev[25] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3053540 -860 ) N ; + - mask_rev[26] + NET mask_rev[26] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3054660 -860 ) N ; + - mask_rev[27] + NET mask_rev[27] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3055780 -860 ) N ; + - mask_rev[28] + NET mask_rev[28] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3056900 -860 ) N ; + - mask_rev[29] + NET mask_rev[29] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3058020 -860 ) N ; + - mask_rev[30] + NET mask_rev[30] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3059140 -860 ) N ; + - mask_rev[31] + NET mask_rev[31] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3060260 -860 ) N ; + - mask_rev[3] + NET mask_rev[3] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3028900 -860 ) N ; + - mask_rev[2] + NET mask_rev[2] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3027780 -860 ) N ; + - mask_rev[1] + NET mask_rev[1] + + PORT + + LAYER met2 ( -130 -1140 ) ( 130 1140 ) + PLACED ( 3026660 -860 ) N ; + - gpio_loopback_zero[25] + NET gpio_loopback_zero[25] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 3673370 ) N ; + - gpio_loopback_zero[27] + NET gpio_loopback_zero[27] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 3243370 ) N ; + - gpio_loopback_zero[29] + NET gpio_loopback_zero[29] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 2813370 ) N ; + - gpio_loopback_zero[31] + NET gpio_loopback_zero[31] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 2383370 ) N ; + - gpio_loopback_zero[33] + NET gpio_loopback_zero[33] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 1523370 ) N ; + - gpio_loopback_zero[35] + NET gpio_loopback_zero[35] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 1093370 ) N ; + - gpio_loopback_zero[37] + NET gpio_loopback_zero[37] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 663370 ) N ; + - gpio_loopback_zero[24] + NET gpio_loopback_zero[24] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 4523370 ) N ; + - gpio_loopback_zero[26] + NET gpio_loopback_zero[26] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 3458370 ) N ; + - gpio_loopback_zero[28] + NET gpio_loopback_zero[28] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 3028370 ) N ; + - gpio_loopback_zero[30] + NET gpio_loopback_zero[30] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 2598370 ) N ; + - gpio_loopback_zero[32] + NET gpio_loopback_zero[32] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 1738370 ) N ; + - gpio_loopback_zero[34] + NET gpio_loopback_zero[34] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 1308370 ) N ; + - gpio_loopback_zero[36] + NET gpio_loopback_zero[36] + + PORT + + LAYER met3 ( -1150 -150 ) ( 1150 150 ) + PLACED ( -850 878370 ) N ; + - gpio_slow_sel[38] + NET gpio_slow_sel[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 735290 -860 ) N ; + - gpio_in[38] + NET gpio_in[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 726090 -860 ) N ; + - analog_io[0] + NET analog_io[0] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 306510 ) N ; + - analog_noesd_io[0] + NET analog_noesd_io[0] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 315710 ) N ; + - analog_noesd_io[1] + NET analog_noesd_io[1] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 541710 ) N ; + - analog_io[1] + NET analog_io[1] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 532510 ) N ; + - analog_io[2] + NET analog_io[2] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 757510 ) N ; + - analog_noesd_io[2] + NET analog_noesd_io[2] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 766710 ) N ; + - analog_io[3] + NET analog_io[3] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 983510 ) N ; + - analog_noesd_io[3] + NET analog_noesd_io[3] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 992710 ) N ; + - analog_io[4] + NET analog_io[4] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 1208510 ) N ; + - analog_noesd_io[4] + NET analog_noesd_io[4] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 1217710 ) N ; + - analog_io[5] + NET analog_io[5] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 1433510 ) N ; + - analog_noesd_io[5] + NET analog_noesd_io[5] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 1442710 ) N ; + - analog_io[6] + NET analog_io[6] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 1659510 ) N ; + - analog_noesd_io[6] + NET analog_noesd_io[6] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 1668710 ) N ; + - analog_io[7] + NET analog_io[7] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 2545510 ) N ; + - analog_noesd_io[7] + NET analog_noesd_io[7] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 2554710 ) N ; + - analog_io[8] + NET analog_io[8] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 2771510 ) N ; + - analog_io[9] + NET analog_io[9] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 2996510 ) N ; + - analog_noesd_io[9] + NET analog_noesd_io[9] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 3005710 ) N ; + - analog_io[10] + NET analog_io[10] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 3222510 ) N ; + - analog_noesd_io[10] + NET analog_noesd_io[10] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 3231710 ) N ; + - analog_io[11] + NET analog_io[11] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 3447510 ) N ; + - analog_noesd_io[11] + NET analog_noesd_io[11] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 3456710 ) N ; + - analog_io[12] + NET analog_io[12] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 3672510 ) N ; + - analog_io[13] + NET analog_io[13] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 4118510 ) N ; + - analog_io[14] + NET analog_io[14] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( 3167480 4564510 ) N ; + - analog_noesd_io[12] + NET analog_noesd_io[12] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 3681710 ) N ; + - analog_noesd_io[13] + NET analog_noesd_io[13] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 4127710 ) N ; + - analog_noesd_io[14] + NET analog_noesd_io[14] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( 3167480 4573710 ) N ; + - analog_io[15] + NET analog_io[15] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 2982120 4767490 ) N ; + - analog_io[16] + NET analog_io[16] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 2473120 4767490 ) N ; + - analog_io[17] + NET analog_io[17] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 2216120 4767490 ) N ; + - analog_io[18] + NET analog_io[18] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 1771120 4767490 ) N ; + - analog_io[19] + NET analog_io[19] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 1262120 4767490 ) N ; + - analog_io[20] + NET analog_io[20] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 1004120 4767490 ) N ; + - analog_io[21] + NET analog_io[21] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 747120 4767490 ) N ; + - analog_io[22] + NET analog_io[22] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 490120 4767490 ) N ; + - analog_io[23] + NET analog_io[23] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 233120 4767490 ) N ; + - analog_noesd_io[15] + NET analog_noesd_io[15] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 2972920 4767490 ) N ; + - analog_noesd_io[16] + NET analog_noesd_io[16] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 2463920 4767490 ) N ; + - analog_noesd_io[17] + NET analog_noesd_io[17] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 2206920 4767490 ) N ; + - analog_noesd_io[18] + NET analog_noesd_io[18] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 1761920 4767490 ) N ; + - analog_noesd_io[19] + NET analog_noesd_io[19] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 1252920 4767490 ) N ; + - analog_noesd_io[20] + NET analog_noesd_io[20] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 994920 4767490 ) N ; + - analog_noesd_io[21] + NET analog_noesd_io[21] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 737920 4767490 ) N ; + - analog_noesd_io[22] + NET analog_noesd_io[22] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 480920 4767490 ) N ; + - analog_noesd_io[23] + NET analog_noesd_io[23] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 223920 4767490 ) N ; + - analog_io[25] + NET analog_io[25] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 3774120 ) N ; + - analog_io[26] + NET analog_io[26] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 3558120 ) N ; + - analog_io[27] + NET analog_io[27] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 3342120 ) N ; + - analog_io[28] + NET analog_io[28] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 3126120 ) N ; + - analog_io[29] + NET analog_io[29] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 2910120 ) N ; + - analog_io[30] + NET analog_io[30] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 2694120 ) N ; + - analog_io[31] + NET analog_io[31] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 2478120 ) N ; + - analog_io[32] + NET analog_io[32] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 1840120 ) N ; + - analog_io[33] + NET analog_io[33] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 1624120 ) N ; + - analog_io[34] + NET analog_io[34] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 1408120 ) N ; + - analog_io[35] + NET analog_io[35] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 1192120 ) N ; + - analog_io[36] + NET analog_io[36] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 976120 ) N ; + - analog_io[37] + NET analog_io[37] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 760120 ) N ; + - analog_noesd_io[25] + NET analog_noesd_io[25] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 3764920 ) N ; + - analog_noesd_io[26] + NET analog_noesd_io[26] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 3548920 ) N ; + - analog_noesd_io[27] + NET analog_noesd_io[27] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 3332920 ) N ; + - analog_noesd_io[28] + NET analog_noesd_io[28] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 3116920 ) N ; + - analog_noesd_io[29] + NET analog_noesd_io[29] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 2900920 ) N ; + - analog_noesd_io[30] + NET analog_noesd_io[30] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 2684920 ) N ; + - analog_noesd_io[32] + NET analog_noesd_io[32] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 1830920 ) N ; + - analog_noesd_io[33] + NET analog_noesd_io[33] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 1614920 ) N ; + - analog_noesd_io[34] + NET analog_noesd_io[34] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 1398920 ) N ; + - analog_noesd_io[35] + NET analog_noesd_io[35] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 1182920 ) N ; + - analog_noesd_io[36] + NET analog_noesd_io[36] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 966920 ) N ; + - analog_noesd_io[37] + NET analog_noesd_io[37] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 750920 ) N ; + - analog_io[39] + NET analog_io[39] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 1281510 -860 ) N ; + - analog_io[40] + NET analog_io[40] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 1555510 -860 ) N ; + - analog_io[41] + NET analog_io[41] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 1829510 -860 ) N ; + - analog_io[42] + NET analog_io[42] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 2103510 -860 ) N ; + - analog_io[43] + NET analog_io[43] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 2377510 -860 ) N ; + - analog_noesd_io[39] + NET analog_noesd_io[39] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 1290710 -860 ) N ; + - analog_noesd_io[40] + NET analog_noesd_io[40] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 1564710 -860 ) N ; + - analog_noesd_io[41] + NET analog_noesd_io[41] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 1838710 -860 ) N ; + - analog_noesd_io[42] + NET analog_noesd_io[42] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 2112710 -860 ) N ; + - analog_noesd_io[43] + NET analog_noesd_io[43] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 2386710 -860 ) N ; + - analog_noesd_io[38] + NET analog_noesd_io[38] + + PORT + + LAYER met2 ( -535 -1140 ) ( 535 1140 ) + PLACED ( 747710 -860 ) N ; + - analog_io[38] + NET analog_io[38] + + PORT + + LAYER met2 ( -320 -1140 ) ( 320 1140 ) + PLACED ( 738510 -860 ) N ; + - gpio_dm1[38] + NET gpio_dm1[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 744490 -860 ) N ; + - gpio_dm0[38] + NET gpio_dm0[38] + + PORT + + LAYER met2 ( -140 -1140 ) ( 140 1140 ) + PLACED ( 753690 -860 ) N ; + - analog_noesd_io[31] + NET analog_noesd_io[31] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 2468920 ) N ; + - vssd1 + NET vssd1 + SPECIAL + USE GROUND + + PORT + + LAYER met3 ( -1150 -11975 ) ( 1150 11975 ) + PLACED ( 3167480 2100585 ) N + + PORT + + LAYER met3 ( -1150 -12000 ) ( 1150 12000 ) + PLACED ( 3167480 2150810 ) N + + PORT + + LAYER met3 ( -1150 -11655 ) ( 1150 11655 ) + PLACED ( 3167480 4364705 ) N ; + - gpio_loopback_one[8] + NET gpio_loopback_one[8] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 2840185 ) N ; + - gpio_loopback_one[9] + NET gpio_loopback_one[9] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 3065185 ) N ; + - gpio_loopback_one[10] + NET gpio_loopback_one[10] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 3290185 ) N ; + - gpio_loopback_one[11] + NET gpio_loopback_one[11] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 3515185 ) N ; + - gpio_loopback_one[12] + NET gpio_loopback_one[12] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 3740185 ) N ; + - gpio_loopback_one[13] + NET gpio_loopback_one[13] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 4185185 ) N ; + - gpio_loopback_one[14] + NET gpio_loopback_one[14] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 4635185 ) N ; + - vssd2 + NET vssd2 + SPECIAL + USE GROUND + + PORT + + LAYER met3 ( -1150 -11655 ) ( 1150 11655 ) + PLACED ( -850 4386925 ) N + + PORT + + LAYER met3 ( -1150 -11975 ) ( 1150 11975 ) + PLACED ( -850 2056045 ) N + + PORT + + LAYER met3 ( -1150 -12000 ) ( 1150 12000 ) + PLACED ( -850 2005810 ) N ; + - gpio_in[25] + NET gpio_in[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3786535 ) N ; + - gpio_slow_sel[25] + NET gpio_slow_sel[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3777335 ) N ; + - gpio_dm1[25] + NET gpio_dm1[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3768135 ) N ; + - gpio_analog_en[25] + NET gpio_analog_en[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3762155 ) N ; + - gpio_dm0[25] + NET gpio_dm0[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3758935 ) N ; + - gpio_analog_pol[25] + NET gpio_analog_pol[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3755715 ) N ; + - gpio_inp_dis[25] + NET gpio_inp_dis[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3752955 ) N ; + - gpio_analog_sel[25] + NET gpio_analog_sel[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3740535 ) N ; + - gpio_dm2[25] + NET gpio_dm2[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3737315 ) N ; + - gpio_holdover[25] + NET gpio_holdover[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3734095 ) N ; + - gpio_out[25] + NET gpio_out[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3731335 ) N ; + - gpio_vtrip_sel[25] + NET gpio_vtrip_sel[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3722135 ) N ; + - gpio_ib_mode_sel[25] + NET gpio_ib_mode_sel[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3718915 ) N ; + - gpio_oeb[25] + NET gpio_oeb[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3715695 ) N ; + - gpio_in_h[25] + NET gpio_in_h[25] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3712935 ) N ; + - gpio_in[26] + NET gpio_in[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3570535 ) N ; + - gpio_slow_sel[26] + NET gpio_slow_sel[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3561335 ) N ; + - gpio_dm1[26] + NET gpio_dm1[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3552135 ) N ; + - gpio_analog_en[26] + NET gpio_analog_en[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3546155 ) N ; + - gpio_dm0[26] + NET gpio_dm0[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3542935 ) N ; + - gpio_analog_pol[26] + NET gpio_analog_pol[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3539715 ) N ; + - gpio_inp_dis[26] + NET gpio_inp_dis[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3536955 ) N ; + - gpio_analog_sel[26] + NET gpio_analog_sel[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3524535 ) N ; + - gpio_dm2[26] + NET gpio_dm2[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3521315 ) N ; + - gpio_holdover[26] + NET gpio_holdover[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3518095 ) N ; + - gpio_out[26] + NET gpio_out[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3515335 ) N ; + - gpio_vtrip_sel[26] + NET gpio_vtrip_sel[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3506135 ) N ; + - gpio_ib_mode_sel[26] + NET gpio_ib_mode_sel[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3502915 ) N ; + - gpio_oeb[26] + NET gpio_oeb[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3499695 ) N ; + - gpio_in_h[26] + NET gpio_in_h[26] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3496935 ) N ; + - gpio_vtrip_sel[37] + NET gpio_vtrip_sel[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 708135 ) N ; + - gpio_analog_en[37] + NET gpio_analog_en[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 748155 ) N ; + - gpio_analog_pol[37] + NET gpio_analog_pol[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 741715 ) N ; + - gpio_analog_sel[37] + NET gpio_analog_sel[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 726535 ) N ; + - gpio_dm0[37] + NET gpio_dm0[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 744935 ) N ; + - gpio_dm2[37] + NET gpio_dm2[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 723315 ) N ; + - gpio_holdover[37] + NET gpio_holdover[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 720095 ) N ; + - gpio_ib_mode_sel[37] + NET gpio_ib_mode_sel[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 704915 ) N ; + - gpio_oeb[37] + NET gpio_oeb[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 701695 ) N ; + - gpio_out[37] + NET gpio_out[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 717335 ) N ; + - gpio_inp_dis[37] + NET gpio_inp_dis[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 738955 ) N ; + - gpio_in_h[37] + NET gpio_in_h[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 698935 ) N ; + - gpio_dm1[37] + NET gpio_dm1[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 754135 ) N ; + - gpio_slow_sel[37] + NET gpio_slow_sel[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 763335 ) N ; + - gpio_in[37] + NET gpio_in[37] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 772535 ) N ; + - gpio_dm2[36] + NET gpio_dm2[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 939315 ) N ; + - gpio_holdover[36] + NET gpio_holdover[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 936095 ) N ; + - gpio_ib_mode_sel[36] + NET gpio_ib_mode_sel[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 920915 ) N ; + - gpio_inp_dis[36] + NET gpio_inp_dis[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 954955 ) N ; + - gpio_oeb[36] + NET gpio_oeb[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 917695 ) N ; + - gpio_out[36] + NET gpio_out[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 933335 ) N ; + - gpio_vtrip_sel[36] + NET gpio_vtrip_sel[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 924135 ) N ; + - gpio_analog_en[36] + NET gpio_analog_en[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 964155 ) N ; + - gpio_analog_pol[36] + NET gpio_analog_pol[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 957715 ) N ; + - gpio_analog_sel[36] + NET gpio_analog_sel[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 942535 ) N ; + - gpio_dm0[36] + NET gpio_dm0[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 960935 ) N ; + - gpio_in_h[36] + NET gpio_in_h[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 914935 ) N ; + - gpio_dm1[36] + NET gpio_dm1[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 970135 ) N ; + - gpio_slow_sel[36] + NET gpio_slow_sel[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 979335 ) N ; + - gpio_in[36] + NET gpio_in[36] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 988535 ) N ; + - gpio_analog_en[35] + NET gpio_analog_en[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1180155 ) N ; + - gpio_analog_pol[35] + NET gpio_analog_pol[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1173715 ) N ; + - gpio_analog_sel[35] + NET gpio_analog_sel[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1158535 ) N ; + - gpio_dm0[35] + NET gpio_dm0[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1176935 ) N ; + - gpio_dm2[35] + NET gpio_dm2[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1155315 ) N ; + - gpio_holdover[35] + NET gpio_holdover[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1152095 ) N ; + - gpio_ib_mode_sel[35] + NET gpio_ib_mode_sel[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1136915 ) N ; + - gpio_inp_dis[35] + NET gpio_inp_dis[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1170955 ) N ; + - gpio_oeb[35] + NET gpio_oeb[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1133695 ) N ; + - gpio_out[35] + NET gpio_out[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1149335 ) N ; + - gpio_vtrip_sel[35] + NET gpio_vtrip_sel[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1140135 ) N ; + - gpio_in_h[35] + NET gpio_in_h[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1130935 ) N ; + - gpio_dm1[35] + NET gpio_dm1[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1186135 ) N ; + - gpio_slow_sel[35] + NET gpio_slow_sel[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1195335 ) N ; + - gpio_in[35] + NET gpio_in[35] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1204535 ) N ; + - gpio_analog_en[34] + NET gpio_analog_en[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1396155 ) N ; + - gpio_analog_pol[34] + NET gpio_analog_pol[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1389715 ) N ; + - gpio_analog_sel[34] + NET gpio_analog_sel[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1374535 ) N ; + - gpio_dm0[34] + NET gpio_dm0[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1392935 ) N ; + - gpio_dm2[34] + NET gpio_dm2[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1371315 ) N ; + - gpio_holdover[34] + NET gpio_holdover[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1368095 ) N ; + - gpio_ib_mode_sel[34] + NET gpio_ib_mode_sel[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1352915 ) N ; + - gpio_inp_dis[34] + NET gpio_inp_dis[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1386955 ) N ; + - gpio_oeb[34] + NET gpio_oeb[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1349695 ) N ; + - gpio_out[34] + NET gpio_out[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1365335 ) N ; + - gpio_vtrip_sel[34] + NET gpio_vtrip_sel[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1356135 ) N ; + - gpio_in_h[34] + NET gpio_in_h[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1346935 ) N ; + - gpio_dm1[34] + NET gpio_dm1[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1402135 ) N ; + - gpio_slow_sel[34] + NET gpio_slow_sel[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1411335 ) N ; + - gpio_in[34] + NET gpio_in[34] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1420535 ) N ; + - gpio_analog_en[33] + NET gpio_analog_en[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1612155 ) N ; + - gpio_analog_sel[33] + NET gpio_analog_sel[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1590535 ) N ; + - gpio_dm2[33] + NET gpio_dm2[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1587315 ) N ; + - gpio_dm0[33] + NET gpio_dm0[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1608935 ) N ; + - gpio_holdover[33] + NET gpio_holdover[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1584095 ) N ; + - gpio_ib_mode_sel[33] + NET gpio_ib_mode_sel[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1568915 ) N ; + - gpio_inp_dis[33] + NET gpio_inp_dis[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1602955 ) N ; + - gpio_oeb[33] + NET gpio_oeb[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1565695 ) N ; + - gpio_out[33] + NET gpio_out[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1581335 ) N ; + - gpio_vtrip_sel[33] + NET gpio_vtrip_sel[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1572135 ) N ; + - gpio_in_h[33] + NET gpio_in_h[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1562935 ) N ; + - gpio_analog_pol[33] + NET gpio_analog_pol[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1605715 ) N ; + - gpio_dm1[33] + NET gpio_dm1[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1618135 ) N ; + - gpio_slow_sel[33] + NET gpio_slow_sel[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1627335 ) N ; + - gpio_in[33] + NET gpio_in[33] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1636535 ) N ; + - gpio_analog_en[32] + NET gpio_analog_en[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1828155 ) N ; + - gpio_analog_pol[32] + NET gpio_analog_pol[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1821715 ) N ; + - gpio_analog_sel[32] + NET gpio_analog_sel[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1806535 ) N ; + - gpio_dm0[32] + NET gpio_dm0[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1824935 ) N ; + - gpio_dm2[32] + NET gpio_dm2[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1803315 ) N ; + - gpio_holdover[32] + NET gpio_holdover[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1800095 ) N ; + - gpio_ib_mode_sel[32] + NET gpio_ib_mode_sel[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1784915 ) N ; + - gpio_inp_dis[32] + NET gpio_inp_dis[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1818955 ) N ; + - gpio_oeb[32] + NET gpio_oeb[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1781695 ) N ; + - gpio_out[32] + NET gpio_out[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1797335 ) N ; + - gpio_vtrip_sel[32] + NET gpio_vtrip_sel[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1788135 ) N ; + - gpio_in_h[32] + NET gpio_in_h[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1778935 ) N ; + - gpio_dm1[32] + NET gpio_dm1[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1834135 ) N ; + - gpio_slow_sel[32] + NET gpio_slow_sel[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1843335 ) N ; + - gpio_in[32] + NET gpio_in[32] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 1852535 ) N ; + - gpio_analog_en[31] + NET gpio_analog_en[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2466155 ) N ; + - gpio_analog_pol[31] + NET gpio_analog_pol[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2459715 ) N ; + - gpio_analog_sel[31] + NET gpio_analog_sel[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2444535 ) N ; + - gpio_dm0[31] + NET gpio_dm0[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2462935 ) N ; + - gpio_dm2[31] + NET gpio_dm2[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2441315 ) N ; + - gpio_holdover[31] + NET gpio_holdover[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2438095 ) N ; + - gpio_ib_mode_sel[31] + NET gpio_ib_mode_sel[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2422915 ) N ; + - gpio_inp_dis[31] + NET gpio_inp_dis[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2456955 ) N ; + - gpio_oeb[31] + NET gpio_oeb[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2419695 ) N ; + - gpio_out[31] + NET gpio_out[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2435335 ) N ; + - gpio_vtrip_sel[31] + NET gpio_vtrip_sel[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2426135 ) N ; + - gpio_in_h[31] + NET gpio_in_h[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2416935 ) N ; + - gpio_dm1[31] + NET gpio_dm1[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2472135 ) N ; + - gpio_slow_sel[31] + NET gpio_slow_sel[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2481335 ) N ; + - gpio_in[31] + NET gpio_in[31] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2490535 ) N ; + - gpio_dm0[30] + NET gpio_dm0[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2678935 ) N ; + - gpio_dm2[30] + NET gpio_dm2[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2657315 ) N ; + - gpio_holdover[30] + NET gpio_holdover[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2654095 ) N ; + - gpio_ib_mode_sel[30] + NET gpio_ib_mode_sel[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2638915 ) N ; + - gpio_inp_dis[30] + NET gpio_inp_dis[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2672955 ) N ; + - gpio_oeb[30] + NET gpio_oeb[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2635695 ) N ; + - gpio_out[30] + NET gpio_out[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2651335 ) N ; + - gpio_vtrip_sel[30] + NET gpio_vtrip_sel[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2642135 ) N ; + - gpio_analog_en[30] + NET gpio_analog_en[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2682155 ) N ; + - gpio_analog_pol[30] + NET gpio_analog_pol[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2675715 ) N ; + - gpio_analog_sel[30] + NET gpio_analog_sel[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2660535 ) N ; + - gpio_in_h[30] + NET gpio_in_h[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2632935 ) N ; + - gpio_dm1[30] + NET gpio_dm1[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2688135 ) N ; + - gpio_slow_sel[30] + NET gpio_slow_sel[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2697335 ) N ; + - gpio_in[30] + NET gpio_in[30] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2706535 ) N ; + - gpio_analog_sel[29] + NET gpio_analog_sel[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2876535 ) N ; + - gpio_dm2[29] + NET gpio_dm2[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2873315 ) N ; + - gpio_holdover[29] + NET gpio_holdover[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2870095 ) N ; + - gpio_ib_mode_sel[29] + NET gpio_ib_mode_sel[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2854915 ) N ; + - gpio_oeb[29] + NET gpio_oeb[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2851695 ) N ; + - gpio_out[29] + NET gpio_out[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2867335 ) N ; + - gpio_vtrip_sel[29] + NET gpio_vtrip_sel[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2858135 ) N ; + - gpio_in_h[29] + NET gpio_in_h[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2848935 ) N ; + - gpio_analog_en[29] + NET gpio_analog_en[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2898155 ) N ; + - gpio_analog_pol[29] + NET gpio_analog_pol[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2891715 ) N ; + - gpio_dm0[29] + NET gpio_dm0[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2894935 ) N ; + - gpio_inp_dis[29] + NET gpio_inp_dis[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2888955 ) N ; + - gpio_dm1[29] + NET gpio_dm1[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2904135 ) N ; + - gpio_slow_sel[29] + NET gpio_slow_sel[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2913335 ) N ; + - gpio_in[29] + NET gpio_in[29] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 2922535 ) N ; + - gpio_analog_en[28] + NET gpio_analog_en[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3114155 ) N ; + - gpio_analog_pol[28] + NET gpio_analog_pol[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3107715 ) N ; + - gpio_analog_sel[28] + NET gpio_analog_sel[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3092535 ) N ; + - gpio_dm0[28] + NET gpio_dm0[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3110935 ) N ; + - gpio_dm2[28] + NET gpio_dm2[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3089315 ) N ; + - gpio_holdover[28] + NET gpio_holdover[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3086095 ) N ; + - gpio_ib_mode_sel[28] + NET gpio_ib_mode_sel[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3070915 ) N ; + - gpio_inp_dis[28] + NET gpio_inp_dis[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3104955 ) N ; + - gpio_oeb[28] + NET gpio_oeb[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3067695 ) N ; + - gpio_out[28] + NET gpio_out[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3083335 ) N ; + - gpio_vtrip_sel[28] + NET gpio_vtrip_sel[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3074135 ) N ; + - gpio_in_h[28] + NET gpio_in_h[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3064935 ) N ; + - gpio_dm1[28] + NET gpio_dm1[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3120135 ) N ; + - gpio_slow_sel[28] + NET gpio_slow_sel[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3129335 ) N ; + - gpio_in[28] + NET gpio_in[28] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3138535 ) N ; + - gpio_analog_en[27] + NET gpio_analog_en[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3330155 ) N ; + - gpio_analog_pol[27] + NET gpio_analog_pol[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3323715 ) N ; + - gpio_analog_sel[27] + NET gpio_analog_sel[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3308535 ) N ; + - gpio_dm0[27] + NET gpio_dm0[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3326935 ) N ; + - gpio_dm2[27] + NET gpio_dm2[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3305315 ) N ; + - gpio_holdover[27] + NET gpio_holdover[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3302095 ) N ; + - gpio_ib_mode_sel[27] + NET gpio_ib_mode_sel[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3286915 ) N ; + - gpio_inp_dis[27] + NET gpio_inp_dis[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3320955 ) N ; + - gpio_oeb[27] + NET gpio_oeb[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3283695 ) N ; + - gpio_out[27] + NET gpio_out[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3299335 ) N ; + - gpio_vtrip_sel[27] + NET gpio_vtrip_sel[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3290135 ) N ; + - gpio_in_h[27] + NET gpio_in_h[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3280935 ) N ; + - gpio_dm1[27] + NET gpio_dm1[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3336135 ) N ; + - gpio_slow_sel[27] + NET gpio_slow_sel[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3345335 ) N ; + - gpio_in[27] + NET gpio_in[27] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 3354535 ) N ; + - vccd + NET vccd + SPECIAL + USE POWER + + PORT + + LAYER met3 ( -1150 -11975 ) ( 1150 11975 ) + PLACED ( -850 192045 ) N + + PORT + + LAYER met3 ( -1150 -12000 ) ( 1150 12000 ) + PLACED ( -850 141810 ) N ; + - vssa + NET vssa + SPECIAL + USE GROUND + + PORT + + LAYER met3 ( -11950 -1150 ) ( 11950 1150 ) + PLACED ( 195980 -850 ) N + + PORT + + LAYER met3 ( -11950 -1150 ) ( 11950 1150 ) + PLACED ( 245870 -850 ) N ; + - vssd + NET vssd + SPECIAL + USE GROUND + + PORT + + LAYER met3 ( -11575 -1150 ) ( 11575 1150 ) + PLACED ( 1007995 -850 ) N + + PORT + + LAYER met3 ( -12000 -1150 ) ( 12000 1150 ) + PLACED ( 1057820 -850 ) N ; + - gpio_loopback_zero[14] + NET gpio_loopback_zero[14] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 4645185 ) N ; + - gpio_loopback_zero[13] + NET gpio_loopback_zero[13] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 4195185 ) N ; + - gpio_loopback_zero[12] + NET gpio_loopback_zero[12] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 3750185 ) N ; + - gpio_loopback_zero[11] + NET gpio_loopback_zero[11] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 3525185 ) N ; + - gpio_loopback_zero[10] + NET gpio_loopback_zero[10] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 3300185 ) N ; + - gpio_loopback_zero[9] + NET gpio_loopback_zero[9] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 3075185 ) N ; + - gpio_loopback_zero[8] + NET gpio_loopback_zero[8] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 2850185 ) N ; + - gpio_loopback_zero[7] + NET gpio_loopback_zero[7] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 2625185 ) N ; + - gpio_loopback_zero[6] + NET gpio_loopback_zero[6] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 1740185 ) N ; + - gpio_loopback_zero[5] + NET gpio_loopback_zero[5] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 1515185 ) N ; + - gpio_loopback_zero[4] + NET gpio_loopback_zero[4] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 1290185 ) N ; + - gpio_loopback_zero[3] + NET gpio_loopback_zero[3] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 1065185 ) N ; + - gpio_loopback_zero[2] + NET gpio_loopback_zero[2] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 840185 ) N ; + - gpio_loopback_zero[1] + NET gpio_loopback_zero[1] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 615185 ) N ; + - gpio_loopback_zero[0] + NET gpio_loopback_zero[0] + + PORT + + LAYER met3 ( -1150 -155 ) ( 1150 155 ) + PLACED ( 3167480 390185 ) N ; + - gpio_slow_sel[0] + NET gpio_slow_sel[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 303295 ) N ; + - gpio_in[0] + NET gpio_in[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 294095 ) N ; + - gpio_dm1[0] + NET gpio_dm1[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 312495 ) N ; + - gpio_analog_en[0] + NET gpio_analog_en[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 318475 ) N ; + - gpio_analog_pol[0] + NET gpio_analog_pol[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 324915 ) N ; + - gpio_analog_sel[0] + NET gpio_analog_sel[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 340095 ) N ; + - gpio_dm0[0] + NET gpio_dm0[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 321695 ) N ; + - gpio_dm2[0] + NET gpio_dm2[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 343315 ) N ; + - gpio_holdover[0] + NET gpio_holdover[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 346535 ) N ; + - gpio_ib_mode_sel[0] + NET gpio_ib_mode_sel[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 361715 ) N ; + - gpio_inp_dis[0] + NET gpio_inp_dis[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 327675 ) N ; + - gpio_oeb[0] + NET gpio_oeb[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 364935 ) N ; + - gpio_out[0] + NET gpio_out[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 349295 ) N ; + - gpio_vtrip_sel[0] + NET gpio_vtrip_sel[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 358495 ) N ; + - gpio_in_h[0] + NET gpio_in_h[0] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 367695 ) N ; + - gpio_slow_sel[1] + NET gpio_slow_sel[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 529295 ) N ; + - gpio_in[1] + NET gpio_in[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 520095 ) N ; + - gpio_dm1[1] + NET gpio_dm1[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 538495 ) N ; + - gpio_analog_en[1] + NET gpio_analog_en[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 544475 ) N ; + - gpio_analog_pol[1] + NET gpio_analog_pol[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 550915 ) N ; + - gpio_analog_sel[1] + NET gpio_analog_sel[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 566095 ) N ; + - gpio_dm0[1] + NET gpio_dm0[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 547695 ) N ; + - gpio_dm2[1] + NET gpio_dm2[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 569315 ) N ; + - gpio_holdover[1] + NET gpio_holdover[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 572535 ) N ; + - gpio_ib_mode_sel[1] + NET gpio_ib_mode_sel[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 587715 ) N ; + - gpio_inp_dis[1] + NET gpio_inp_dis[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 553675 ) N ; + - gpio_oeb[1] + NET gpio_oeb[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 590935 ) N ; + - gpio_out[1] + NET gpio_out[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 575295 ) N ; + - gpio_vtrip_sel[1] + NET gpio_vtrip_sel[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 584495 ) N ; + - gpio_in_h[1] + NET gpio_in_h[1] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 593695 ) N ; + - gpio_slow_sel[2] + NET gpio_slow_sel[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 754295 ) N ; + - gpio_in[2] + NET gpio_in[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 745095 ) N ; + - gpio_dm1[2] + NET gpio_dm1[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 763495 ) N ; + - gpio_analog_en[2] + NET gpio_analog_en[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 769475 ) N ; + - gpio_analog_pol[2] + NET gpio_analog_pol[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 775915 ) N ; + - gpio_analog_sel[2] + NET gpio_analog_sel[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 791095 ) N ; + - gpio_dm0[2] + NET gpio_dm0[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 772695 ) N ; + - gpio_dm2[2] + NET gpio_dm2[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 794315 ) N ; + - gpio_holdover[2] + NET gpio_holdover[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 797535 ) N ; + - gpio_ib_mode_sel[2] + NET gpio_ib_mode_sel[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 812715 ) N ; + - gpio_inp_dis[2] + NET gpio_inp_dis[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 778675 ) N ; + - gpio_oeb[2] + NET gpio_oeb[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 815935 ) N ; + - gpio_out[2] + NET gpio_out[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 800295 ) N ; + - gpio_vtrip_sel[2] + NET gpio_vtrip_sel[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 809495 ) N ; + - gpio_in_h[2] + NET gpio_in_h[2] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 818695 ) N ; + - gpio_slow_sel[3] + NET gpio_slow_sel[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 980295 ) N ; + - gpio_in[3] + NET gpio_in[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 971095 ) N ; + - gpio_dm1[3] + NET gpio_dm1[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 989495 ) N ; + - gpio_analog_en[3] + NET gpio_analog_en[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 995475 ) N ; + - gpio_analog_pol[3] + NET gpio_analog_pol[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1001915 ) N ; + - gpio_analog_sel[3] + NET gpio_analog_sel[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1017095 ) N ; + - gpio_dm2[3] + NET gpio_dm2[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1020315 ) N ; + - gpio_dm0[3] + NET gpio_dm0[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 998695 ) N ; + - gpio_holdover[3] + NET gpio_holdover[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1023535 ) N ; + - gpio_ib_mode_sel[3] + NET gpio_ib_mode_sel[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1038715 ) N ; + - gpio_inp_dis[3] + NET gpio_inp_dis[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1004675 ) N ; + - gpio_oeb[3] + NET gpio_oeb[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1041935 ) N ; + - gpio_out[3] + NET gpio_out[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1026295 ) N ; + - gpio_vtrip_sel[3] + NET gpio_vtrip_sel[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1035495 ) N ; + - gpio_in_h[3] + NET gpio_in_h[3] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1044695 ) N ; + - gpio_slow_sel[4] + NET gpio_slow_sel[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1205295 ) N ; + - gpio_in[4] + NET gpio_in[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1196095 ) N ; + - gpio_dm1[4] + NET gpio_dm1[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1214495 ) N ; + - gpio_analog_en[4] + NET gpio_analog_en[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1220475 ) N ; + - gpio_analog_pol[4] + NET gpio_analog_pol[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1226915 ) N ; + - gpio_analog_sel[4] + NET gpio_analog_sel[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1242095 ) N ; + - gpio_dm0[4] + NET gpio_dm0[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1223695 ) N ; + - gpio_dm2[4] + NET gpio_dm2[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1245315 ) N ; + - gpio_holdover[4] + NET gpio_holdover[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1248535 ) N ; + - gpio_ib_mode_sel[4] + NET gpio_ib_mode_sel[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1263715 ) N ; + - gpio_inp_dis[4] + NET gpio_inp_dis[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1229675 ) N ; + - gpio_oeb[4] + NET gpio_oeb[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1266935 ) N ; + - gpio_out[4] + NET gpio_out[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1251295 ) N ; + - gpio_vtrip_sel[4] + NET gpio_vtrip_sel[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1260495 ) N ; + - gpio_in_h[4] + NET gpio_in_h[4] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1269695 ) N ; + - gpio_slow_sel[5] + NET gpio_slow_sel[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1430295 ) N ; + - gpio_in[5] + NET gpio_in[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1421095 ) N ; + - gpio_dm1[5] + NET gpio_dm1[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1439495 ) N ; + - gpio_analog_en[5] + NET gpio_analog_en[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1445475 ) N ; + - gpio_analog_pol[5] + NET gpio_analog_pol[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1451915 ) N ; + - gpio_analog_sel[5] + NET gpio_analog_sel[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1467095 ) N ; + - gpio_dm0[5] + NET gpio_dm0[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1448695 ) N ; + - gpio_dm2[5] + NET gpio_dm2[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1470315 ) N ; + - gpio_holdover[5] + NET gpio_holdover[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1473535 ) N ; + - gpio_ib_mode_sel[5] + NET gpio_ib_mode_sel[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1488715 ) N ; + - gpio_inp_dis[5] + NET gpio_inp_dis[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1454675 ) N ; + - gpio_oeb[5] + NET gpio_oeb[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1491935 ) N ; + - gpio_out[5] + NET gpio_out[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1476295 ) N ; + - gpio_vtrip_sel[5] + NET gpio_vtrip_sel[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1485495 ) N ; + - gpio_in_h[5] + NET gpio_in_h[5] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1494695 ) N ; + - gpio_slow_sel[6] + NET gpio_slow_sel[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1656295 ) N ; + - gpio_in[6] + NET gpio_in[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1647095 ) N ; + - gpio_dm1[6] + NET gpio_dm1[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1665495 ) N ; + - gpio_analog_en[6] + NET gpio_analog_en[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1671475 ) N ; + - gpio_analog_pol[6] + NET gpio_analog_pol[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1677915 ) N ; + - gpio_analog_sel[6] + NET gpio_analog_sel[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1693095 ) N ; + - gpio_dm0[6] + NET gpio_dm0[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1674695 ) N ; + - gpio_dm2[6] + NET gpio_dm2[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1696315 ) N ; + - gpio_holdover[6] + NET gpio_holdover[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1699535 ) N ; + - gpio_ib_mode_sel[6] + NET gpio_ib_mode_sel[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1714715 ) N ; + - gpio_inp_dis[6] + NET gpio_inp_dis[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1680675 ) N ; + - gpio_oeb[6] + NET gpio_oeb[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1717935 ) N ; + - gpio_out[6] + NET gpio_out[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1702295 ) N ; + - gpio_vtrip_sel[6] + NET gpio_vtrip_sel[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1711495 ) N ; + - gpio_in_h[6] + NET gpio_in_h[6] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 1720695 ) N ; + - gpio_slow_sel[7] + NET gpio_slow_sel[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2542295 ) N ; + - gpio_in[7] + NET gpio_in[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2533095 ) N ; + - gpio_dm1[7] + NET gpio_dm1[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2551495 ) N ; + - gpio_analog_en[7] + NET gpio_analog_en[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2557475 ) N ; + - gpio_analog_pol[7] + NET gpio_analog_pol[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2563915 ) N ; + - gpio_analog_sel[7] + NET gpio_analog_sel[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2579095 ) N ; + - gpio_dm0[7] + NET gpio_dm0[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2560695 ) N ; + - gpio_dm2[7] + NET gpio_dm2[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2582315 ) N ; + - gpio_holdover[7] + NET gpio_holdover[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2585535 ) N ; + - gpio_ib_mode_sel[7] + NET gpio_ib_mode_sel[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2600715 ) N ; + - gpio_inp_dis[7] + NET gpio_inp_dis[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2566675 ) N ; + - gpio_oeb[7] + NET gpio_oeb[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2603935 ) N ; + - gpio_out[7] + NET gpio_out[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2588295 ) N ; + - gpio_vtrip_sel[7] + NET gpio_vtrip_sel[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2597495 ) N ; + - gpio_in_h[7] + NET gpio_in_h[7] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2606695 ) N ; + - gpio_slow_sel[8] + NET gpio_slow_sel[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2768295 ) N ; + - gpio_in[8] + NET gpio_in[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2759095 ) N ; + - gpio_dm1[8] + NET gpio_dm1[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2777495 ) N ; + - gpio_analog_en[8] + NET gpio_analog_en[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2783475 ) N ; + - gpio_analog_pol[8] + NET gpio_analog_pol[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2789915 ) N ; + - gpio_analog_sel[8] + NET gpio_analog_sel[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2805095 ) N ; + - gpio_dm0[8] + NET gpio_dm0[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2786695 ) N ; + - gpio_dm2[8] + NET gpio_dm2[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2808315 ) N ; + - gpio_holdover[8] + NET gpio_holdover[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2811535 ) N ; + - gpio_ib_mode_sel[8] + NET gpio_ib_mode_sel[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2826715 ) N ; + - gpio_inp_dis[8] + NET gpio_inp_dis[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2792675 ) N ; + - gpio_oeb[8] + NET gpio_oeb[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2829935 ) N ; + - gpio_out[8] + NET gpio_out[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2814295 ) N ; + - gpio_vtrip_sel[8] + NET gpio_vtrip_sel[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2823495 ) N ; + - gpio_in_h[8] + NET gpio_in_h[8] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2832695 ) N ; + - gpio_slow_sel[9] + NET gpio_slow_sel[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2993295 ) N ; + - gpio_in[9] + NET gpio_in[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 2984095 ) N ; + - gpio_dm1[9] + NET gpio_dm1[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3002495 ) N ; + - gpio_analog_en[9] + NET gpio_analog_en[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3008475 ) N ; + - gpio_analog_pol[9] + NET gpio_analog_pol[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3014915 ) N ; + - gpio_analog_sel[9] + NET gpio_analog_sel[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3030095 ) N ; + - gpio_dm0[9] + NET gpio_dm0[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3011695 ) N ; + - gpio_dm2[9] + NET gpio_dm2[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3033315 ) N ; + - gpio_holdover[9] + NET gpio_holdover[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3036535 ) N ; + - gpio_ib_mode_sel[9] + NET gpio_ib_mode_sel[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3051715 ) N ; + - gpio_inp_dis[9] + NET gpio_inp_dis[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3017675 ) N ; + - gpio_oeb[9] + NET gpio_oeb[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3054935 ) N ; + - gpio_out[9] + NET gpio_out[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3039295 ) N ; + - gpio_vtrip_sel[9] + NET gpio_vtrip_sel[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3048495 ) N ; + - gpio_in_h[9] + NET gpio_in_h[9] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3057695 ) N ; + - gpio_slow_sel[10] + NET gpio_slow_sel[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3219295 ) N ; + - gpio_in[10] + NET gpio_in[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3210095 ) N ; + - gpio_dm1[10] + NET gpio_dm1[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3228495 ) N ; + - gpio_analog_en[10] + NET gpio_analog_en[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3234475 ) N ; + - gpio_analog_pol[10] + NET gpio_analog_pol[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3240915 ) N ; + - gpio_analog_sel[10] + NET gpio_analog_sel[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3256095 ) N ; + - gpio_dm0[10] + NET gpio_dm0[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3237695 ) N ; + - gpio_dm2[10] + NET gpio_dm2[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3259315 ) N ; + - gpio_holdover[10] + NET gpio_holdover[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3262535 ) N ; + - gpio_ib_mode_sel[10] + NET gpio_ib_mode_sel[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3277715 ) N ; + - gpio_inp_dis[10] + NET gpio_inp_dis[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3243675 ) N ; + - gpio_oeb[10] + NET gpio_oeb[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3280935 ) N ; + - gpio_out[10] + NET gpio_out[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3265295 ) N ; + - gpio_vtrip_sel[10] + NET gpio_vtrip_sel[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3274495 ) N ; + - gpio_in_h[10] + NET gpio_in_h[10] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3283695 ) N ; + - gpio_slow_sel[11] + NET gpio_slow_sel[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3444295 ) N ; + - gpio_in[11] + NET gpio_in[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3435095 ) N ; + - gpio_dm1[11] + NET gpio_dm1[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3453495 ) N ; + - gpio_holdover[11] + NET gpio_holdover[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3487535 ) N ; + - gpio_ib_mode_sel[11] + NET gpio_ib_mode_sel[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3502715 ) N ; + - gpio_inp_dis[11] + NET gpio_inp_dis[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3468675 ) N ; + - gpio_oeb[11] + NET gpio_oeb[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3505935 ) N ; + - gpio_out[11] + NET gpio_out[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3490295 ) N ; + - gpio_vtrip_sel[11] + NET gpio_vtrip_sel[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3499495 ) N ; + - gpio_analog_en[11] + NET gpio_analog_en[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3459475 ) N ; + - gpio_analog_pol[11] + NET gpio_analog_pol[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3465915 ) N ; + - gpio_analog_sel[11] + NET gpio_analog_sel[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3481095 ) N ; + - gpio_dm0[11] + NET gpio_dm0[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3462695 ) N ; + - gpio_dm2[11] + NET gpio_dm2[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3484315 ) N ; + - gpio_in_h[11] + NET gpio_in_h[11] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3508695 ) N ; + - gpio_slow_sel[12] + NET gpio_slow_sel[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3669295 ) N ; + - gpio_in[12] + NET gpio_in[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3660095 ) N ; + - gpio_dm1[12] + NET gpio_dm1[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3678495 ) N ; + - gpio_analog_en[12] + NET gpio_analog_en[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3684475 ) N ; + - gpio_analog_pol[12] + NET gpio_analog_pol[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3690915 ) N ; + - gpio_analog_sel[12] + NET gpio_analog_sel[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3706095 ) N ; + - gpio_dm0[12] + NET gpio_dm0[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3687695 ) N ; + - gpio_dm2[12] + NET gpio_dm2[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3709315 ) N ; + - gpio_holdover[12] + NET gpio_holdover[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3712535 ) N ; + - gpio_ib_mode_sel[12] + NET gpio_ib_mode_sel[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3727715 ) N ; + - gpio_inp_dis[12] + NET gpio_inp_dis[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3693675 ) N ; + - gpio_oeb[12] + NET gpio_oeb[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3730935 ) N ; + - gpio_out[12] + NET gpio_out[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3715295 ) N ; + - gpio_vtrip_sel[12] + NET gpio_vtrip_sel[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3724495 ) N ; + - gpio_in_h[12] + NET gpio_in_h[12] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 3733695 ) N ; + - gpio_slow_sel[13] + NET gpio_slow_sel[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4115295 ) N ; + - gpio_in[13] + NET gpio_in[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4106095 ) N ; + - gpio_dm1[13] + NET gpio_dm1[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4124495 ) N ; + - gpio_analog_en[13] + NET gpio_analog_en[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4130475 ) N ; + - gpio_analog_pol[13] + NET gpio_analog_pol[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4136915 ) N ; + - gpio_analog_sel[13] + NET gpio_analog_sel[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4152095 ) N ; + - gpio_dm0[13] + NET gpio_dm0[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4133695 ) N ; + - gpio_dm2[13] + NET gpio_dm2[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4155315 ) N ; + - gpio_holdover[13] + NET gpio_holdover[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4158535 ) N ; + - gpio_ib_mode_sel[13] + NET gpio_ib_mode_sel[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4173715 ) N ; + - gpio_inp_dis[13] + NET gpio_inp_dis[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4139675 ) N ; + - gpio_oeb[13] + NET gpio_oeb[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4176935 ) N ; + - gpio_out[13] + NET gpio_out[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4161295 ) N ; + - gpio_vtrip_sel[13] + NET gpio_vtrip_sel[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4170495 ) N ; + - gpio_in_h[13] + NET gpio_in_h[13] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4179695 ) N ; + - gpio_slow_sel[14] + NET gpio_slow_sel[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4561295 ) N ; + - gpio_in[14] + NET gpio_in[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4552095 ) N ; + - gpio_dm1[14] + NET gpio_dm1[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4570495 ) N ; + - gpio_analog_en[14] + NET gpio_analog_en[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4576475 ) N ; + - gpio_analog_pol[14] + NET gpio_analog_pol[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4582915 ) N ; + - gpio_analog_sel[14] + NET gpio_analog_sel[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4598095 ) N ; + - gpio_dm0[14] + NET gpio_dm0[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4579695 ) N ; + - gpio_dm2[14] + NET gpio_dm2[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4601315 ) N ; + - gpio_holdover[14] + NET gpio_holdover[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4604535 ) N ; + - gpio_ib_mode_sel[14] + NET gpio_ib_mode_sel[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4619715 ) N ; + - gpio_inp_dis[14] + NET gpio_inp_dis[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4585675 ) N ; + - gpio_oeb[14] + NET gpio_oeb[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4622935 ) N ; + - gpio_out[14] + NET gpio_out[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4607295 ) N ; + - gpio_vtrip_sel[14] + NET gpio_vtrip_sel[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4616495 ) N ; + - gpio_in_h[14] + NET gpio_in_h[14] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( 3167480 4625695 ) N ; + - gpio_in[24] + NET gpio_in[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4635535 ) N ; + - gpio_slow_sel[24] + NET gpio_slow_sel[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4626335 ) N ; + - gpio_dm1[24] + NET gpio_dm1[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4617135 ) N ; + - gpio_analog_en[24] + NET gpio_analog_en[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4611155 ) N ; + - gpio_dm0[24] + NET gpio_dm0[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4607935 ) N ; + - gpio_analog_pol[24] + NET gpio_analog_pol[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4604715 ) N ; + - gpio_inp_dis[24] + NET gpio_inp_dis[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4601955 ) N ; + - gpio_analog_sel[24] + NET gpio_analog_sel[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4589535 ) N ; + - gpio_dm2[24] + NET gpio_dm2[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4586315 ) N ; + - gpio_holdover[24] + NET gpio_holdover[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4583095 ) N ; + - gpio_out[24] + NET gpio_out[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4580335 ) N ; + - gpio_vtrip_sel[24] + NET gpio_vtrip_sel[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4571135 ) N ; + - gpio_ib_mode_sel[24] + NET gpio_ib_mode_sel[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4567915 ) N ; + - gpio_oeb[24] + NET gpio_oeb[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4564695 ) N ; + - gpio_in_h[24] + NET gpio_in_h[24] + + PORT + + LAYER met3 ( -1150 -175 ) ( 1150 175 ) + PLACED ( -850 4561935 ) N ; + - analog_io[24] + NET analog_io[24] + + PORT + + LAYER met3 ( -1150 -320 ) ( 1150 320 ) + PLACED ( -850 4623120 ) N ; + - analog_noesd_io[24] + NET analog_noesd_io[24] + + PORT + + LAYER met3 ( -1150 -535 ) ( 1150 535 ) + PLACED ( -850 4613920 ) N ; + - gpio_loopback_zero[23] + NET gpio_loopback_zero[23] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 137640 4767490 ) N ; + - gpio_loopback_zero[22] + NET gpio_loopback_zero[22] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 393640 4767490 ) N ; + - gpio_loopback_zero[21] + NET gpio_loopback_zero[21] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 649640 4767490 ) N ; + - gpio_loopback_zero[20] + NET gpio_loopback_zero[20] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 905640 4767490 ) N ; + - gpio_loopback_zero[19] + NET gpio_loopback_zero[19] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 1161640 4767490 ) N ; + - gpio_loopback_zero[18] + NET gpio_loopback_zero[18] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 1683640 4767490 ) N ; + - gpio_loopback_zero[17] + NET gpio_loopback_zero[17] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 2128640 4767490 ) N ; + - gpio_loopback_zero[16] + NET gpio_loopback_zero[16] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 2384640 4767490 ) N ; + - gpio_loopback_zero[15] + NET gpio_loopback_zero[15] + + PORT + + LAYER met2 ( -150 -1140 ) ( 150 1140 ) + PLACED ( 2881640 4767490 ) N ; +END PINS + +END DESIGN + diff --git a/ol2/tt_top/openframe_project_wrapper.v b/ol2/tt_top/openframe_project_wrapper.v new file mode 100644 index 0000000..44edb23 --- /dev/null +++ b/ol2/tt_top/openframe_project_wrapper.v @@ -0,0 +1,212 @@ +// SPDX-FileCopyrightText: 2020 Efabless Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// SPDX-License-Identifier: Apache-2.0 + +`default_nettype none +`define OPENFRAME_IO_PADS 44 + +/* + *------------------------------------------------------------- + * + * openframe_project_wrapper + * + * This wrapper enumerates all of the pins available to the + * user for the user openframe project. + * + * Written by Tim Edwards + * March 27, 2023 + * Efabless Corporation + * + *------------------------------------------------------------- + */ + +module openframe_project_wrapper ( +`ifdef USE_POWER_PINS + inout vdda, // User area 0 3.3V supply + inout vdda1, // User area 1 3.3V supply + inout vdda2, // User area 2 3.3V supply + inout vssa, // User area 0 analog ground + inout vssa1, // User area 1 analog ground + inout vssa2, // User area 2 analog ground + inout vccd, // Common 1.8V supply + inout vccd1, // User area 1 1.8V supply + inout vccd2, // User area 2 1.8v supply + inout vssd, // Common digital ground + inout vssd1, // User area 1 digital ground + inout vssd2, // User area 2 digital ground + inout vddio, // Common 3.3V ESD supply + inout vssio, // Common ESD ground +`endif + + /* Signals exported from the frame area to the user project */ + /* The user may elect to use any of these inputs. */ + + input porb_h, // power-on reset, sense inverted, 3.3V domain + input porb_l, // power-on reset, sense inverted, 1.8V domain + input por_l, // power-on reset, noninverted, 1.8V domain + input resetb_h, // master reset, sense inverted, 3.3V domain + input resetb_l, // master reset, sense inverted, 1.8V domain + input [31:0] mask_rev, // 32-bit user ID, 1.8V domain + + /* GPIOs. There are 44 GPIOs (19 left, 19 right, 6 bottom). */ + /* These must be configured appropriately by the user project. */ + + /* Basic bidirectional I/O. Input gpio_in_h is in the 3.3V domain; all + * others are in the 1.8v domain. OEB is output enable, sense inverted. + */ + input [`OPENFRAME_IO_PADS-1:0] gpio_in, + input [`OPENFRAME_IO_PADS-1:0] gpio_in_h, + output [`OPENFRAME_IO_PADS-1:0] gpio_out, + output [`OPENFRAME_IO_PADS-1:0] gpio_oeb, + output [`OPENFRAME_IO_PADS-1:0] gpio_inp_dis, // a.k.a. ieb + + /* Pad configuration. These signals are usually static values. + * See the documentation for the sky130_fd_io__gpiov2 cell signals + * and their use. + */ + output [`OPENFRAME_IO_PADS-1:0] gpio_ib_mode_sel, + output [`OPENFRAME_IO_PADS-1:0] gpio_vtrip_sel, + output [`OPENFRAME_IO_PADS-1:0] gpio_slow_sel, + output [`OPENFRAME_IO_PADS-1:0] gpio_holdover, + output [`OPENFRAME_IO_PADS-1:0] gpio_analog_en, + output [`OPENFRAME_IO_PADS-1:0] gpio_analog_sel, + output [`OPENFRAME_IO_PADS-1:0] gpio_analog_pol, + output [`OPENFRAME_IO_PADS-1:0] gpio_dm2, + output [`OPENFRAME_IO_PADS-1:0] gpio_dm1, + output [`OPENFRAME_IO_PADS-1:0] gpio_dm0, + + /* These signals correct directly to the pad. Pads using analog I/O + * connections should keep the digital input and output buffers turned + * off. Both signals connect to the same pad. The "noesd" signal + * is a direct connection to the pad; the other signal connects through + * a series resistor which gives it minimal ESD protection. Both signals + * have basic over- and under-voltage protection at the pad. These + * signals may be expected to attenuate heavily above 50MHz. + */ + inout [`OPENFRAME_IO_PADS-1:0] analog_io, + inout [`OPENFRAME_IO_PADS-1:0] analog_noesd_io, + + /* These signals are constant one and zero in the 1.8V domain, one for + * each GPIO pad, and can be looped back to the control signals on the + * same GPIO pad to set a static configuration at power-up. + */ + input [`OPENFRAME_IO_PADS-1:0] gpio_loopback_one, + input [`OPENFRAME_IO_PADS-1:0] gpio_loopback_zero +); + + wire k_zero; + wire k_one; + + tt_top top_I ( + .io_ana (analog_io[37:0]), + .io_in (gpio_in[37:0]), + .io_out (gpio_out[37:0]), + .io_oeb (gpio_oeb[37:0]), + .user_clock2 (k_zero), + .k_zero (k_zero), + .k_one (k_one) + ); + + /* NOTE: Openframe signals not used in this project: */ + /* porb_h: 3.3V domain signal */ + /* resetb_h: 3.3V domain signal */ + /* gpio_in_h: 3.3V domain signals */ + /* analog_noesd_io: analog signals */ + + // -- IO pin configuration -- + + // Based on https://github.com/RTimothyEdwards/caravel_openframe_project/blob/afc3ff66b657b3758690c12b077f9a175acf701c/verilog/rtl/picosoc.v#L482-L502: + // - dm='b000 analog only + // - dm='b001 for input only + // - dm='b110 for output (oeb must be set to 0) + // - dm='b111 for 5k pull-up / pull down (oeb must be set to 0, out 0 for pull-down, out 1 for pull-up) + // - gpio_ib_mode_sel, gpio_vtrip_sel, gpio_slow_sel are always zero + + // Disable input on pins 0 through 5 (unused): + assign gpio_inp_dis[5:0] = gpio_loopback_one[5:0]; + assign gpio_dm2[5:0] = gpio_loopback_zero[5:0]; + assign gpio_dm1[5:0] = gpio_loopback_zero[5:0]; + assign gpio_dm0[5:0] = gpio_loopback_zero[5:0]; + + // Input on pins 6 through 15 (pad_ui_in): + assign gpio_inp_dis[15:6] = gpio_loopback_zero[15:6]; + assign gpio_dm2[15:6] = gpio_loopback_zero[15:6]; + assign gpio_dm1[15:6] = gpio_loopback_zero[15:6]; + assign gpio_dm0[15:6] = gpio_loopback_one[15:6]; + + // Output-only on pins 16 through 23 (pad_uo_out): + assign gpio_inp_dis[23:16] = gpio_loopback_one[23:16]; + assign gpio_dm2[23:16] = gpio_loopback_one[23:16]; + assign gpio_dm1[23:16] = gpio_loopback_one[23:16]; + assign gpio_dm0[23:16] = gpio_loopback_zero[23:16]; + + // Enable input and output on pins 24 through 31 (pad_uio): + assign gpio_inp_dis[31:24] = gpio_loopback_zero[31:24]; + assign gpio_dm2[31:24] = gpio_loopback_one[31:24]; + assign gpio_dm1[31:24] = gpio_loopback_one[31:24]; + assign gpio_dm0[31:24] = gpio_loopback_zero[31:24]; + + // ctrl_ena: + assign gpio_inp_dis[32] = gpio_loopback_zero[32]; + assign gpio_dm2[32] = gpio_loopback_zero[32]; + assign gpio_dm1[32] = gpio_loopback_zero[32]; + assign gpio_dm0[32] = gpio_loopback_one[32]; + + // disable input on ua[0]: + assign gpio_inp_dis[33] = gpio_loopback_one[33]; + assign gpio_dm2[33] = gpio_loopback_zero[33]; + assign gpio_dm1[33] = gpio_loopback_zero[33]; + assign gpio_dm0[33] = gpio_loopback_zero[33]; + + // ctrl_sel_inc: + assign gpio_inp_dis[34] = gpio_loopback_zero[34]; + assign gpio_dm2[34] = gpio_loopback_zero[34]; + assign gpio_dm1[34] = gpio_loopback_zero[34]; + assign gpio_dm0[34] = gpio_loopback_one[34]; + + // ua[1]: + assign gpio_inp_dis[35] = gpio_loopback_one[35]; + assign gpio_dm2[35] = gpio_loopback_zero[35]; + assign gpio_dm1[35] = gpio_loopback_zero[35]; + assign gpio_dm0[35] = gpio_loopback_zero[35]; + + // ctrl_sel_rst_n: + assign gpio_inp_dis[36] = gpio_loopback_zero[36]; + assign gpio_dm2[36] = gpio_loopback_zero[36]; + assign gpio_dm1[36] = gpio_loopback_zero[36]; + assign gpio_dm0[36] = gpio_loopback_one[36]; + + // Remaining pins are unused: + assign gpio_inp_dis[`OPENFRAME_IO_PADS-1:37] = gpio_loopback_one[`OPENFRAME_IO_PADS-1:37]; + assign gpio_dm2[`OPENFRAME_IO_PADS-1:37] = gpio_loopback_zero[`OPENFRAME_IO_PADS-1:37]; + assign gpio_dm1[`OPENFRAME_IO_PADS-1:37] = gpio_loopback_zero[`OPENFRAME_IO_PADS-1:37]; + assign gpio_dm0[`OPENFRAME_IO_PADS-1:37] = gpio_loopback_zero[`OPENFRAME_IO_PADS-1:37]; + + assign gpio_ib_mode_sel = gpio_loopback_zero; + assign gpio_vtrip_sel = gpio_loopback_zero; + assign gpio_slow_sel = gpio_loopback_zero; + + /* All analog enable/select/polarity and holdover bits */ + /* will not be handled in the picosoc module. Tie */ + /* each one of them off to the local loopback zero bit. */ + + assign gpio_analog_en = gpio_loopback_zero; + assign gpio_analog_pol = gpio_loopback_zero; + assign gpio_analog_sel = gpio_loopback_zero; + assign gpio_holdover = gpio_loopback_zero; + + (* keep *) vccd1_connection vccd1_connection (); + (* keep *) vssd1_connection vssd1_connection (); + +endmodule // openframe_project_wrapper diff --git a/ol2/tt_top/signoff.sdc b/ol2/tt_top/signoff.sdc index 7fa8bbd..c7a59ee 100644 --- a/ol2/tt_top/signoff.sdc +++ b/ol2/tt_top/signoff.sdc @@ -7,7 +7,7 @@ # --------------- # Port: Control inputs -set all_ctl [ get_ports { "io_in[36]" "io_in[34]" "io_in[32]" } ] +set all_ctl [ get_ports { "gpio_in[36]" "gpio_in[34]" "gpio_in[32]" } ] # Port: User IO set all_pads_in [list] @@ -16,21 +16,21 @@ set all_pads_out [list] # UIO for {set i 0} {$i < 8} {incr i} { set j [expr $i+24] - lappend all_pads_in [ get_ports "io_in[$j]" ] - lappend all_pads_out [ get_ports "io_out[$j]" ] - lappend all_pads_out [ get_ports "io_oeb[$j]" ] + lappend all_pads_in [ get_ports "gpio_in[$j]" ] + lappend all_pads_out [ get_ports "gpio_out[$j]" ] + lappend all_pads_out [ get_ports "gpio_oeb[$j]" ] } # UO for {set i 0} {$i < 8} {incr i} { set j [expr $i+16] - lappend all_pads_out [ get_ports "io_out[$j]" ] + lappend all_pads_out [ get_ports "gpio_out[$j]" ] } # UI for {set i 0} {$i < 10} {incr i} { set j [expr $i+6] - lappend all_pads_in [ get_ports "io_in[$j]" ] + lappend all_pads_in [ get_ports "gpio_in[$j]" ] } # Pins: User modules