Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

f4pga: add f4pga utils command support and add auxDir builtin variable #635

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@

import lxml.etree as ET

from f4pga.utils.quicklogic.pp3.data_structs import ConnectionType, Loc
from f4pga.aux.utils.quicklogic.pp3.data_structs import ConnectionType, Loc

from f4pga.utils.quicklogic.pp3.tile_import import make_top_level_pb_type
from f4pga.utils.quicklogic.pp3.tile_import import make_top_level_tile
from f4pga.aux.utils.quicklogic.pp3.tile_import import make_top_level_pb_type
from f4pga.aux.utils.quicklogic.pp3.tile_import import make_top_level_tile

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import sys

print("PYTHONPATH: {}".format(sys.path))
from f4pga.utils.quicklogic.pp3.data_structs import (
from f4pga.aux.utils.quicklogic.pp3.data_structs import (
SwitchboxPinType,
Loc,
OPPOSITE_DIRECTION,
Expand All @@ -35,7 +35,7 @@
ConnectionType,
PinDirection,
)
from f4pga.utils.quicklogic.pp3.utils import find_cell_in_tile
from f4pga.aux.utils.quicklogic.pp3.utils import find_cell_in_tile

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@

import lxml.etree as ET

from f4pga.utils.quicklogic.pp3.data_structs import PinDirection, SwitchboxPinType
from f4pga.utils.quicklogic.pp3.data_import import import_data
from f4pga.utils.quicklogic.pp3.utils import yield_muxes
from f4pga.utils.quicklogic.pp3.switchbox_model import SwitchboxModel
from f4pga.aux.utils.quicklogic.pp3.data_structs import PinDirection, SwitchboxPinType
from f4pga.aux.utils.quicklogic.pp3.data_import import import_data
from f4pga.aux.utils.quicklogic.pp3.utils import yield_muxes
from f4pga.aux.utils.quicklogic.pp3.switchbox_model import SwitchboxModel

# =============================================================================
duplicate = {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
import re
from collections import defaultdict

import f4pga.utils.vpr_io_place as vpr_io_place
from f4pga.utils.pcf import parse_simple_pcf
import f4pga.aux.utils.vpr_io_place as vpr_io_place
from f4pga.aux.utils.pcf import parse_simple_pcf

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import sys
import csv

import f4pga.utils.eblif as eblif
import f4pga.aux.utils.eblif as eblif

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

import lxml.etree as ET

from f4pga.utils.quicklogic.pp3.data_structs import (
from f4pga.aux.utils.quicklogic.pp3.data_structs import (
Pin,
PinDirection,
Quadrant,
Expand All @@ -49,9 +49,9 @@
PackagePin,
OPPOSITE_DIRECTION,
)
from f4pga.utils.quicklogic.pp3.utils import yield_muxes, get_loc_of_cell, find_cell_in_tile, natural_keys
from f4pga.utils.quicklogic.pp3.connections import build_connections, check_connections
from f4pga.utils.quicklogic.pp3.connections import hop_to_str, get_name_and_hop, is_regular_hop_wire
from f4pga.aux.utils.quicklogic.pp3.utils import yield_muxes, get_loc_of_cell, find_cell_in_tile, natural_keys
from f4pga.aux.utils.quicklogic.pp3.connections import build_connections, check_connections
from f4pga.aux.utils.quicklogic.pp3.connections import hop_to_str, get_name_and_hop, is_regular_hop_wire

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
import re
import sys

from f4pga.utils.pcf import parse_simple_pcf
from f4pga.utils.eblif import parse_blif
from f4pga.aux.utils.pcf import parse_simple_pcf
from f4pga.aux.utils.eblif import parse_blif

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@
from collections import defaultdict, namedtuple
import fasm

from f4pga.utils.quicklogic.pp3.connections import get_name_and_hop
from f4pga.aux.utils.quicklogic.pp3.connections import get_name_and_hop

from pathlib import Path
from f4pga.utils.quicklogic.pp3.data_structs import Loc, SwitchboxPinLoc, PinDirection, ConnectionType
from f4pga.utils.quicklogic.pp3.utils import get_quadrant_for_loc
from f4pga.utils.quicklogic.pp3.verilogmodule import VModule
from f4pga.aux.utils.quicklogic.pp3.data_structs import Loc, SwitchboxPinLoc, PinDirection, ConnectionType
from f4pga.aux.utils.quicklogic.pp3.utils import get_quadrant_for_loc
from f4pga.aux.utils.quicklogic.pp3.verilogmodule import VModule

from quicklogic_fasm.qlfasm import load_quicklogic_database, get_db_dir
from quicklogic_fasm.qlfasm import QL732BAssembler
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from sdf_timing import sdfparse
from sdf_timing.utils import get_scale_seconds

from f4pga.utils.quicklogic.pp3.data_structs import (
from f4pga.aux.utils.quicklogic.pp3.data_structs import (
Pin,
PinDirection,
Cell,
Expand All @@ -43,12 +43,12 @@
VprSegment,
Quadrant,
)
from f4pga.utils.quicklogic.pp3.utils import get_loc_of_cell, find_cell_in_tile
from f4pga.utils.quicklogic.pp3.utils import get_pin_name
from f4pga.aux.utils.quicklogic.pp3.utils import get_loc_of_cell, find_cell_in_tile
from f4pga.aux.utils.quicklogic.pp3.utils import get_pin_name

from f4pga.utils.quicklogic.pp3.timing import compute_switchbox_timing_model
from f4pga.utils.quicklogic.pp3.timing import populate_switchbox_timing, copy_switchbox_timing
from f4pga.utils.quicklogic.pp3.timing import add_vpr_switches_for_cell
from f4pga.aux.utils.quicklogic.pp3.timing import compute_switchbox_timing_model
from f4pga.aux.utils.quicklogic.pp3.timing import populate_switchbox_timing, copy_switchbox_timing
from f4pga.aux.utils.quicklogic.pp3.timing import add_vpr_switches_for_cell

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@
import lib.rr_graph_xml.graph2 as rr_xml
from lib import progressbar_utils

from f4pga.utils.quicklogic.pp3.data_structs import Loc, ConnectionType
from f4pga.utils.quicklogic.pp3.utils import fixup_pin_name
from f4pga.aux.utils.quicklogic.pp3.data_structs import Loc, ConnectionType
from f4pga.aux.utils.quicklogic.pp3.utils import fixup_pin_name

from f4pga.utils.quicklogic.pp3.rr_utils import add_node, add_track, add_edge, connect
from f4pga.utils.quicklogic.pp3.switchbox_model import SwitchboxModel, QmuxSwitchboxModel
from f4pga.aux.utils.quicklogic.pp3.rr_utils import add_node, add_track, add_edge, connect
from f4pga.aux.utils.quicklogic.pp3.switchbox_model import SwitchboxModel, QmuxSwitchboxModel

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,11 @@
# SPDX-License-Identifier: Apache-2.0


from f4pga.utils.quicklogic.pp3.data_structs import Loc
from f4pga.aux.utils.quicklogic.pp3.data_structs import Loc

from lib.rr_graph import tracks
import lib.rr_graph.graph2 as rr

# =============================================================================


def add_track(graph, track, segment_id, node_timing=None):
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,9 @@

from collections import defaultdict

from f4pga.utils.quicklogic.pp3.data_structs import PinDirection, ConnectionType
from f4pga.utils.quicklogic.pp3.utils import yield_muxes
from f4pga.utils.quicklogic.pp3.rr_utils import add_node, connect

# =============================================================================
from f4pga.aux.utils.quicklogic.pp3.data_structs import PinDirection, ConnectionType
from f4pga.aux.utils.quicklogic.pp3.utils import yield_muxes
from f4pga.aux.utils.quicklogic.pp3.rr_utils import add_node, connect


class SwitchboxModel(object):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,8 @@

import lxml.etree as ET

from f4pga.utils.quicklogic.pp3.data_structs import PinDirection
from f4pga.utils.quicklogic.pp3.utils import fixup_pin_name, get_pin_name

# =============================================================================
from f4pga.aux.utils.quicklogic.pp3.data_structs import PinDirection
from f4pga.aux.utils.quicklogic.pp3.utils import fixup_pin_name, get_pin_name


def add_ports(xml_parent, pins, buses=True):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,8 @@
from copy import deepcopy
from collections import defaultdict, namedtuple

from f4pga.utils.quicklogic.pp3.data_structs import VprSwitch, MuxEdgeTiming, DriverTiming, SinkTiming
from f4pga.utils.quicklogic.pp3.utils import yield_muxes, add_named_item

# =============================================================================
from f4pga.aux.utils.quicklogic.pp3.data_structs import VprSwitch, MuxEdgeTiming, DriverTiming, SinkTiming
from f4pga.aux.utils.quicklogic.pp3.utils import yield_muxes, add_named_item


def linear_regression(xs, ys):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0


import re
from collections import namedtuple, defaultdict

from f4pga.utils.quicklogic.pp3.data_structs import PinDirection
from f4pga.aux.utils.quicklogic.pp3.data_structs import PinDirection

Element = namedtuple("Element", "loc type name ios")
Wire = namedtuple("Wire", "srcloc name inverted")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0


import argparse

import lxml.etree as ET

from f4pga.utils.quicklogic.pp3.data_structs import SwitchboxPinType
from f4pga.utils.quicklogic.pp3.data_import import import_data

# =============================================================================
from f4pga.aux.utils.quicklogic.pp3.data_structs import SwitchboxPinType
from f4pga.aux.utils.quicklogic.pp3.data_import import import_data


def fixup_pin_name(name):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
import re
import csv

from f4pga.utils.pcf import parse_simple_pcf, PcfIoConstraint
from f4pga.utils.eblif import parse_blif
from f4pga.aux.utils.pcf import parse_simple_pcf, PcfIoConstraint
from f4pga.aux.utils.eblif import parse_blif


RE_INDICES = re.compile(r"(?P<name>\S+)\[(?P<i0>[0-9]+):(?P<i1>[0-9]+)\]")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@
import re
from collections import defaultdict

import f4pga.utils.vpr_io_place as vpr_io_place
from f4pga.utils.quicklogic.pinmap_parse import read_pinmapfile_data
from f4pga.utils.quicklogic.pinmap_parse import vec_to_scalar
import f4pga.aux.utils.vpr_io_place as vpr_io_place
from f4pga.aux.utils.quicklogic.pinmap_parse import read_pinmapfile_data
from f4pga.aux.utils.quicklogic.pinmap_parse import vec_to_scalar

from f4pga.utils.pcf import parse_simple_pcf
from f4pga.aux.utils.pcf import parse_simple_pcf

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import re
import lxml.etree as ET

from f4pga.utils.quicklogic.repacker.block_path import PathNode
from f4pga.aux.utils.quicklogic.repacker.block_path import PathNode

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@

from enum import Enum

from f4pga.utils.quicklogic.repacker.block_path import PathNode
from f4pga.aux.utils.quicklogic.repacker.block_path import PathNode

from f4pga.utils.quicklogic.repacker.pb_type import PortType
from f4pga.aux.utils.quicklogic.repacker.pb_type import PortType

from f4pga.utils.quicklogic.repacker.arch_xml_utils import is_leaf_pbtype
from f4pga.utils.quicklogic.repacker.arch_xml_utils import get_parent_pb
from f4pga.utils.quicklogic.repacker.arch_xml_utils import yield_pb_children
from f4pga.utils.quicklogic.repacker.arch_xml_utils import yield_pins
from f4pga.aux.utils.quicklogic.repacker.arch_xml_utils import is_leaf_pbtype
from f4pga.aux.utils.quicklogic.repacker.arch_xml_utils import get_parent_pb
from f4pga.aux.utils.quicklogic.repacker.arch_xml_utils import yield_pb_children
from f4pga.aux.utils.quicklogic.repacker.arch_xml_utils import yield_pins

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
routing information.
"""

from f4pga.utils.quicklogic.repacker.block_path import PathNode
from f4pga.aux.utils.quicklogic.repacker.block_path import PathNode

import f4pga.utils.quicklogic.repacker.packed_netlist as packed_netlist
import f4pga.aux.utils.quicklogic.repacker.packed_netlist as packed_netlist

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

import logging

from f4pga.utils.quicklogic.repacker.pb_rr_graph import NodeType
from f4pga.aux.utils.quicklogic.repacker.pb_rr_graph import NodeType

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
from copy import deepcopy
from enum import Enum

from f4pga.utils.quicklogic.repacker.arch_xml_utils import is_leaf_pbtype
from f4pga.aux.utils.quicklogic.repacker.arch_xml_utils import is_leaf_pbtype

from f4pga.utils.quicklogic.repacker.block_path import PathNode
from f4pga.aux.utils.quicklogic.repacker.block_path import PathNode

# =============================================================================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,23 +41,21 @@
import json
import lxml.etree as ET

from f4pga.utils.quicklogic.repacker.block_path import PathNode
from f4pga.aux.utils.quicklogic.repacker.block_path import PathNode

from f4pga.utils.quicklogic.repacker.eblif_netlist import Eblif, Cell
import f4pga.utils.quicklogic.repacker.netlist_cleaning as netlist_cleaning
from f4pga.aux.utils.quicklogic.repacker.eblif_netlist import Eblif, Cell
import f4pga.aux.utils.quicklogic.repacker.netlist_cleaning as netlist_cleaning

import f4pga.utils.quicklogic.repacker.packed_netlist as pn
from f4pga.utils.quicklogic.repacker.packed_netlist import PackedNetlist
from f4pga.utils.quicklogic.repacker.pb_rr_graph import Graph, NodeType
from f4pga.utils.quicklogic.repacker.pb_rr_graph_router import Router
import f4pga.aux.utils.quicklogic.repacker.packed_netlist as pn
from f4pga.aux.utils.quicklogic.repacker.packed_netlist import PackedNetlist
from f4pga.aux.utils.quicklogic.repacker.pb_rr_graph import Graph, NodeType
from f4pga.aux.utils.quicklogic.repacker.pb_rr_graph_router import Router

from f4pga.utils.quicklogic.repacker.pb_rr_graph_netlist import load_clb_nets_into_pb_graph
from f4pga.utils.quicklogic.repacker.pb_rr_graph_netlist import build_packed_netlist_from_pb_graph
from f4pga.aux.utils.quicklogic.repacker.pb_rr_graph_netlist import load_clb_nets_into_pb_graph
from f4pga.aux.utils.quicklogic.repacker.pb_rr_graph_netlist import build_packed_netlist_from_pb_graph

from f4pga.utils.quicklogic.repacker.pb_type import PbType, Model, PortType
from f4pga.utils.pcf import parse_simple_pcf

# =============================================================================
from f4pga.aux.utils.quicklogic.repacker.pb_type import PbType, Model, PortType
from f4pga.aux.utils.pcf import parse_simple_pcf


class RepackingRule:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import re
import lxml.etree as ET

from f4pga.utils.eblif import parse_blif
from f4pga.aux.utils.eblif import parse_blif

IoConstraint = namedtuple("IoConstraint", "name x y z comment")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
from sys import stdout, stderr, exit as sys_exit
from json import dump as json_dump, load as json_load

from f4pga.utils.vpr_io_place import IoPlace
from f4pga.utils.pcf import parse_simple_pcf
from f4pga.aux.utils.vpr_io_place import IoPlace
from f4pga.aux.utils.pcf import parse_simple_pcf


def p_main(blif, map, net, pcf=None, output=stdout, iostandard_defs_file=None, iostandard="LVCMOS33", drive=12):
Expand Down
Loading