Merge pull request #1741 from lnis-uofu/xt_clkntwk2
Support Connection Blocks on Perimeter Tiles
|
@ -88,6 +88,23 @@ Layout
|
|||
|
||||
.. warning:: Do NOT enable ``shrink_boundary`` if you are not using the tileable routing resource graph generator!
|
||||
|
||||
.. option:: perimeter_cb="<bool>"
|
||||
|
||||
Allow connection blocks to appear around the perimeter programmable block (mainly I/Os). This is designed to enhance routability of I/Os on perimeter. Also strongly recommended when programmable clock network is required to touch clock pins on I/Os. As illustrated in :numref:`fig_perimeter_cb`, routing tracks can access three sides of each I/O when perimeter connection blocks are created.
|
||||
By default, it is ``false``.
|
||||
|
||||
.. warning:: When enabled, please only place outputs at one side of I/Os. For example, outputs of an I/O on the top side can only occur on the bottom side of the I/O tile. Otherwise, routability loss may be expected, leading to some pins cannot be reachable. Enable the ``opin2all_sides`` to recover routability loss.
|
||||
|
||||
.. _fig_perimeter_cb:
|
||||
|
||||
.. figure:: ./figures/perimeter_cb.png
|
||||
:width: 100%
|
||||
:alt: Impact of perimeter_cb
|
||||
|
||||
Impact on routing architecture when perimeter connection blocks are : (a) disabled; (b) enabled.
|
||||
|
||||
.. warning:: Do NOT enable ``perimeter_cb`` if you are not using the tileable routing resource graph generator!
|
||||
|
||||
.. option:: opin2all_sides="<bool>"
|
||||
|
||||
Allow each output pin of a programmable block to drive the routing tracks on all the sides of its adjacent switch block (see an illustrative example in :numref:`fig_opin2all_sides`). This can improve the routability of an FPGA fabric with an increase in the sizes of routing multiplexers in each switch block.
|
||||
|
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 119 KiB |
After Width: | Height: | Size: 5.3 MiB |
|
@ -14,6 +14,8 @@ Using the clock network description language, users can define multiple clock ne
|
|||
- A number of switch points which interconnects clock spines using programmable routing switches. See details in :ref:`file_formats_clock_network_switch_point`.
|
||||
- A number of tap points which connect the clock spines to programmable blocks, e.g., CLBs. See details in :ref:`file_formats_clock_network_tap_point`.
|
||||
|
||||
The entry point of a clock tree must be at a valid connection block.
|
||||
|
||||
.. note:: Please note that the levels of a clock network will be automatically inferred from the clock spines and switch points. Clock network will be **only** built based on the width and the number of levels, as well as the tap points.
|
||||
|
||||
.. note:: The switch points and clock spines will be used to route a clock network. The switch points will not impact the physical clock network but only impact the configuration of the programmable routing switches in the physical clock network.
|
||||
|
@ -45,6 +47,17 @@ Using the clock network description language, users can define multiple clock ne
|
|||
|
||||
An example of programmable clock network considering a 2x2 FPGA fabric
|
||||
|
||||
Note that when the ``perimeter_cb`` is enabled for routing architecture (See details in :ref:`addon_vpr_syntax`), clock entry point can be indeed at the fringe of FPGA fabrics. See example in :numref:`prog_clock_network_example_2x2_perimeter_cb`.
|
||||
|
||||
.. _fig_prog_clock_network_example_2x2_perimeter_cb:
|
||||
|
||||
.. figure:: figures/prog_clk_network_example_2x2_perimeter_cb.png
|
||||
:width: 100%
|
||||
:alt: An example of programmable clock network considering a 2x2 FPGA fabric with perimeter cb
|
||||
|
||||
An example of programmable clock network considering a 2x2 FPGA fabric with perimeter cb
|
||||
|
||||
|
||||
General Settings
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
|
@ -134,6 +147,8 @@ Clock Spine Settings
|
|||
The following syntax are applicable to the XML definition tagged by ``spine``.
|
||||
Note that a number of clock spines can be defined under the node ``clock_network``.
|
||||
|
||||
.. note:: Use coordinates of connection blocks to define the starting and ending points of clock spines.
|
||||
|
||||
.. option:: name="<string>"
|
||||
|
||||
The unique name of the clock spine. It will be used to build switch points between other clock spines.
|
||||
|
@ -172,6 +187,8 @@ Switch Point Settings
|
|||
The following syntax are applicable to the XML definition tagged by ``switch_point``.
|
||||
Note that a number of switch points can be defined under each clock spine ``spine``.
|
||||
|
||||
.. note:: Use the coordinate of switch block to define switching points!
|
||||
|
||||
.. option:: tap="<string>"
|
||||
|
||||
Define which clock spine will be tapped from the current clock spine.
|
||||
|
@ -292,6 +309,8 @@ For example,
|
|||
|
||||
where all the clock spines of the clock network ``clk_tree_0`` tap the clock pins ``clk`` of tile ``clb`` in a VPR architecture description file:
|
||||
|
||||
.. note:: Use the name of ``subtile`` in the ``to_pin`` when there are a number of subtiles in your tile!
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
<tile name="clb">
|
||||
|
|
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 89 KiB |
|
@ -24,7 +24,7 @@ Detailed syntax are presented as follows.
|
|||
|
||||
Specify the style of tile organization. Can be [``top_left`` | ``top_right`` | ``bottom_left`` | ``bottom_right`` | ``custom``]
|
||||
|
||||
.. warning:: Currently, only ``top_left`` is supported!
|
||||
.. warning:: Currently, only ``top_left`` and ``bottom_left`` are supported!
|
||||
|
||||
The ``top_left`` is a shortcut to define the organization for all the tiles. :numref:`fig_tile_style_top_left` shows an example of tiles in the top-left sytle, where the programmable block locates in the top-left corner of all the tiles, surrounded by two connection blocks and one switch blocks.
|
||||
|
||||
|
@ -37,3 +37,14 @@ Detailed syntax are presented as follows.
|
|||
An example of top-left style of a tile in FPGA fabric
|
||||
|
||||
|
||||
The ``bottom_left`` is a shortcut to define the organization for all the tiles. :numref:`fig_tile_style_bottom_left` shows an example of tiles in the bottom-left sytle, where the programmable block locates in the bottom-left corner of all the tiles, surrounded by two connection blocks and one switch blocks.
|
||||
|
||||
.. _fig_tile_style_bottom_left:
|
||||
|
||||
.. figure:: ./figures/tile_style_bottom_left.png
|
||||
:width: 100%
|
||||
:alt: An example of bottom-left style of tile
|
||||
|
||||
An example of bottom-left style of a tile in FPGA fabric
|
||||
|
||||
|
||||
|
|
|
@ -14,6 +14,14 @@ write_fabric_verilog
|
|||
|
||||
Specify the output directory for the Verilog netlists. For example, ``--file /temp/fabric_netlist/``
|
||||
|
||||
.. option:: --constant_undriven_inputs
|
||||
|
||||
.. note:: This option is automatically enabled when the option ``perimeter_cb`` of tileable routing resource graph is enabled (see details in :ref`addon_vpr_syntax`).
|
||||
|
||||
.. note:: Enable this option may shadow issues in your FPGA architecture, which causes them difficult to be found in design verification.
|
||||
|
||||
Use constant gnd for undriven wires in Verilog netlists. Recommand to enable when there are boundary routing tracks in FPGA fabric.
|
||||
|
||||
.. option:: --default_net_type <string>
|
||||
|
||||
Specify the default net type for the Verilog netlists. Currently, supported types are ``none`` and ``wire``. Default value: ``none``.
|
||||
|
|
|
@ -98,7 +98,7 @@ static RRGSB build_rr_gsb(const DeviceContext& vpr_device_ctx,
|
|||
const vtr::Point<size_t>& gsb_range,
|
||||
const size_t& layer,
|
||||
const vtr::Point<size_t>& gsb_coord,
|
||||
const bool& include_clock) {
|
||||
const bool& perimeter_cb, const bool& include_clock) {
|
||||
/* Create an object to return */
|
||||
RRGSB rr_gsb;
|
||||
|
||||
|
@ -126,7 +126,6 @@ static RRGSB build_rr_gsb(const DeviceContext& vpr_device_ctx,
|
|||
|
||||
switch (side) {
|
||||
case TOP: /* TOP = 0 */
|
||||
/* For the border, we should take special care */
|
||||
if (gsb_coord.y() == gsb_range.y()) {
|
||||
rr_gsb.clear_one_side(side_manager.get_side());
|
||||
break;
|
||||
|
@ -157,7 +156,6 @@ static RRGSB build_rr_gsb(const DeviceContext& vpr_device_ctx,
|
|||
|
||||
break;
|
||||
case RIGHT: /* RIGHT = 1 */
|
||||
/* For the border, we should take special care */
|
||||
if (gsb_coord.x() == gsb_range.x()) {
|
||||
rr_gsb.clear_one_side(side_manager.get_side());
|
||||
break;
|
||||
|
@ -189,8 +187,7 @@ static RRGSB build_rr_gsb(const DeviceContext& vpr_device_ctx,
|
|||
gsb_coord.x() + 1, gsb_coord.y(), OPIN, opin_grid_side[1]);
|
||||
break;
|
||||
case BOTTOM: /* BOTTOM = 2*/
|
||||
/* For the border, we should take special care */
|
||||
if (gsb_coord.y() == 0) {
|
||||
if (!perimeter_cb && gsb_coord.y() == 0) {
|
||||
rr_gsb.clear_one_side(side_manager.get_side());
|
||||
break;
|
||||
}
|
||||
|
@ -220,8 +217,7 @@ static RRGSB build_rr_gsb(const DeviceContext& vpr_device_ctx,
|
|||
gsb_coord.y(), OPIN, opin_grid_side[1]);
|
||||
break;
|
||||
case LEFT: /* LEFT = 3 */
|
||||
/* For the border, we should take special care */
|
||||
if (gsb_coord.x() == 0) {
|
||||
if (!perimeter_cb && gsb_coord.x() == 0) {
|
||||
rr_gsb.clear_one_side(side_manager.get_side());
|
||||
break;
|
||||
}
|
||||
|
@ -333,11 +329,11 @@ static RRGSB build_rr_gsb(const DeviceContext& vpr_device_ctx,
|
|||
case RIGHT: /* RIGHT = 1 */
|
||||
/* For the bording, we should take special care */
|
||||
/* Check if TOP side chan width is 0 or not */
|
||||
chan_side = TOP;
|
||||
chan_side = BOTTOM;
|
||||
/* Build the connection block: ipin and ipin_grid_side */
|
||||
/* LEFT side INPUT Pins of Grid[x+1][y+1] */
|
||||
/* LEFT side INPUT Pins of Grid[x+1][y] */
|
||||
ix = rr_gsb.get_sb_x() + 1;
|
||||
iy = rr_gsb.get_sb_y() + 1;
|
||||
iy = rr_gsb.get_sb_y();
|
||||
ipin_rr_node_grid_side = LEFT;
|
||||
break;
|
||||
case BOTTOM: /* BOTTOM = 2*/
|
||||
|
@ -353,11 +349,11 @@ static RRGSB build_rr_gsb(const DeviceContext& vpr_device_ctx,
|
|||
case LEFT: /* LEFT = 3 */
|
||||
/* For the bording, we should take special care */
|
||||
/* Check if left side chan width is 0 or not */
|
||||
chan_side = TOP;
|
||||
chan_side = BOTTOM;
|
||||
/* Build the connection block: ipin and ipin_grid_side */
|
||||
/* RIGHT side INPUT Pins of Grid[x][y+1] */
|
||||
/* RIGHT side INPUT Pins of Grid[x][y] */
|
||||
ix = rr_gsb.get_sb_x();
|
||||
iy = rr_gsb.get_sb_y() + 1;
|
||||
iy = rr_gsb.get_sb_y();
|
||||
ipin_rr_node_grid_side = RIGHT;
|
||||
break;
|
||||
default:
|
||||
|
@ -420,6 +416,9 @@ void annotate_device_rr_gsb(const DeviceContext& vpr_device_ctx,
|
|||
*/
|
||||
vtr::Point<size_t> gsb_range(vpr_device_ctx.grid.width() - 1,
|
||||
vpr_device_ctx.grid.height() - 1);
|
||||
if (vpr_device_ctx.arch->perimeter_cb) {
|
||||
gsb_range.set(vpr_device_ctx.grid.width(), vpr_device_ctx.grid.height());
|
||||
}
|
||||
device_rr_gsb.reserve(gsb_range);
|
||||
|
||||
VTR_LOGV(verbose_output, "Start annotation GSB up to [%lu][%lu]\n",
|
||||
|
@ -434,11 +433,11 @@ void annotate_device_rr_gsb(const DeviceContext& vpr_device_ctx,
|
|||
* the GSBs at the borderside correctly sort drive_rr_nodes should be
|
||||
* called if required by users
|
||||
*/
|
||||
const RRGSB& rr_gsb =
|
||||
build_rr_gsb(vpr_device_ctx,
|
||||
vtr::Point<size_t>(vpr_device_ctx.grid.width() - 2,
|
||||
vpr_device_ctx.grid.height() - 2),
|
||||
layer, vtr::Point<size_t>(ix, iy), include_clock);
|
||||
vtr::Point<size_t> sub_gsb_range(vpr_device_ctx.grid.width() - 1,
|
||||
vpr_device_ctx.grid.height() - 1);
|
||||
const RRGSB& rr_gsb = build_rr_gsb(
|
||||
vpr_device_ctx, sub_gsb_range, layer, vtr::Point<size_t>(ix, iy),
|
||||
vpr_device_ctx.arch->perimeter_cb, include_clock);
|
||||
/* Add to device_rr_gsb */
|
||||
vtr::Point<size_t> gsb_coordinate = rr_gsb.get_sb_coordinate();
|
||||
device_rr_gsb.add_rr_gsb(gsb_coordinate, rr_gsb);
|
||||
|
|
|
@ -45,17 +45,25 @@ static size_t estimate_clock_rr_graph_num_chan_nodes(
|
|||
*******************************************************************/
|
||||
static size_t estimate_clock_rr_graph_num_nodes(const DeviceGrid& grids,
|
||||
const size_t& layer,
|
||||
const bool& perimeter_cb,
|
||||
const bool& through_channel,
|
||||
const ClockNetwork& clk_ntwk) {
|
||||
size_t num_nodes = 0;
|
||||
vtr::Rect<size_t> chanx_bb(1, 0, grids.width() - 1, grids.height() - 1);
|
||||
if (perimeter_cb) {
|
||||
chanx_bb.set_xmin(0);
|
||||
chanx_bb.set_xmax(grids.width());
|
||||
chanx_bb.set_ymin(0);
|
||||
chanx_bb.set_ymax(grids.height());
|
||||
}
|
||||
/* Check the number of CHANX nodes required */
|
||||
for (size_t iy = 0; iy < grids.height() - 1; ++iy) {
|
||||
for (size_t ix = 1; ix < grids.width() - 1; ++ix) {
|
||||
for (size_t iy = chanx_bb.ymin(); iy < chanx_bb.ymax(); ++iy) {
|
||||
for (size_t ix = chanx_bb.xmin(); ix < chanx_bb.xmax(); ++ix) {
|
||||
vtr::Point<size_t> chanx_coord(ix, iy);
|
||||
/* Bypass if the routing channel does not exist when through channels are
|
||||
* not allowed */
|
||||
if ((false == through_channel) &&
|
||||
(false == is_chanx_exist(grids, layer, chanx_coord))) {
|
||||
(false == is_chanx_exist(grids, layer, chanx_coord, perimeter_cb))) {
|
||||
continue;
|
||||
}
|
||||
/* Estimate the routing tracks required by clock routing only */
|
||||
|
@ -63,13 +71,21 @@ static size_t estimate_clock_rr_graph_num_nodes(const DeviceGrid& grids,
|
|||
}
|
||||
}
|
||||
|
||||
for (size_t ix = 0; ix < grids.width() - 1; ++ix) {
|
||||
for (size_t iy = 1; iy < grids.height() - 1; ++iy) {
|
||||
vtr::Rect<size_t> chany_bb(0, 1, grids.width() - 1, grids.height() - 1);
|
||||
if (perimeter_cb) {
|
||||
chany_bb.set_xmin(0);
|
||||
chany_bb.set_xmax(grids.width());
|
||||
chany_bb.set_ymin(0);
|
||||
chany_bb.set_ymax(grids.height());
|
||||
}
|
||||
|
||||
for (size_t ix = chany_bb.xmin(); ix < chany_bb.xmax(); ++ix) {
|
||||
for (size_t iy = chany_bb.ymin(); iy < chany_bb.ymax(); ++iy) {
|
||||
vtr::Point<size_t> chany_coord(ix, iy);
|
||||
/* Bypass if the routing channel does not exist when through channel are
|
||||
* not allowed */
|
||||
if ((false == through_channel) &&
|
||||
(false == is_chany_exist(grids, layer, chany_coord))) {
|
||||
(false == is_chany_exist(grids, layer, chany_coord, perimeter_cb))) {
|
||||
continue;
|
||||
}
|
||||
/* Estimate the routing tracks required by clock routing only */
|
||||
|
@ -151,56 +167,59 @@ static void add_rr_graph_block_clock_nodes(
|
|||
static void add_rr_graph_clock_nodes(
|
||||
RRGraphBuilder& rr_graph_builder, RRClockSpatialLookup& clk_rr_lookup,
|
||||
const RRGraphView& rr_graph_view, const DeviceGrid& grids,
|
||||
const size_t& layer, const bool& through_channel,
|
||||
const size_t& layer, const bool& perimeter_cb, const bool& through_channel,
|
||||
const ClockNetwork& clk_ntwk, const bool& verbose) {
|
||||
/* Pre-allocate memory: Must do otherwise data will be messed up! */
|
||||
clk_rr_lookup.reserve_nodes(grids.width(), grids.height(),
|
||||
clk_ntwk.num_trees(), clk_ntwk.max_tree_depth(),
|
||||
clk_ntwk.max_tree_width());
|
||||
|
||||
vtr::Rect<size_t> chanx_bb(1, 0, grids.width() - 1, grids.height() - 1);
|
||||
if (perimeter_cb) {
|
||||
chanx_bb.set_xmin(0);
|
||||
chanx_bb.set_xmax(grids.width());
|
||||
chanx_bb.set_ymin(0);
|
||||
chanx_bb.set_ymax(grids.height());
|
||||
}
|
||||
/* Add X-direction clock nodes */
|
||||
for (size_t iy = 0; iy < grids.height() - 1; ++iy) {
|
||||
for (size_t ix = 1; ix < grids.width() - 1; ++ix) {
|
||||
for (size_t iy = chanx_bb.ymin(); iy < chanx_bb.ymax(); ++iy) {
|
||||
for (size_t ix = chanx_bb.xmin(); ix < chanx_bb.xmax(); ++ix) {
|
||||
vtr::Point<size_t> chanx_coord(ix, iy);
|
||||
/* Bypass if the routing channel does not exist when through channels are
|
||||
* not allowed */
|
||||
if ((false == through_channel) &&
|
||||
(false == is_chanx_exist(grids, layer, chanx_coord))) {
|
||||
(false == is_chanx_exist(grids, layer, chanx_coord, perimeter_cb))) {
|
||||
continue;
|
||||
}
|
||||
add_rr_graph_block_clock_nodes(
|
||||
rr_graph_builder, clk_rr_lookup, rr_graph_view, clk_ntwk, layer,
|
||||
chanx_coord, CHANX, CHANX_COST_INDEX_START, verbose);
|
||||
VTR_ASSERT(rr_graph_view.valid_node(
|
||||
clk_rr_lookup.find_node(1, 0, ClockTreeId(0), ClockLevelId(0),
|
||||
ClockTreePinId(0), Direction::INC)));
|
||||
}
|
||||
}
|
||||
|
||||
VTR_ASSERT(rr_graph_view.valid_node(clk_rr_lookup.find_node(
|
||||
1, 0, ClockTreeId(0), ClockLevelId(0), ClockTreePinId(0), Direction::INC)));
|
||||
|
||||
/* Add Y-direction clock nodes */
|
||||
for (size_t ix = 0; ix < grids.width() - 1; ++ix) {
|
||||
for (size_t iy = 1; iy < grids.height() - 1; ++iy) {
|
||||
vtr::Rect<size_t> chany_bb(0, 1, grids.width() - 1, grids.height() - 1);
|
||||
if (perimeter_cb) {
|
||||
chany_bb.set_xmin(0);
|
||||
chany_bb.set_xmax(grids.width());
|
||||
chany_bb.set_ymin(0);
|
||||
chany_bb.set_ymax(grids.height());
|
||||
}
|
||||
for (size_t ix = chany_bb.xmin(); ix < chany_bb.xmax(); ++ix) {
|
||||
for (size_t iy = chany_bb.ymin(); iy < chany_bb.ymax(); ++iy) {
|
||||
vtr::Point<size_t> chany_coord(ix, iy);
|
||||
/* Bypass if the routing channel does not exist when through channel are
|
||||
* not allowed */
|
||||
if ((false == through_channel) &&
|
||||
(false == is_chany_exist(grids, layer, chany_coord))) {
|
||||
(false == is_chany_exist(grids, layer, chany_coord, perimeter_cb))) {
|
||||
continue;
|
||||
}
|
||||
add_rr_graph_block_clock_nodes(
|
||||
rr_graph_builder, clk_rr_lookup, rr_graph_view, clk_ntwk, layer,
|
||||
chany_coord, CHANY,
|
||||
CHANX_COST_INDEX_START + rr_graph_view.num_rr_segments(), verbose);
|
||||
VTR_ASSERT(rr_graph_view.valid_node(
|
||||
clk_rr_lookup.find_node(1, 0, ClockTreeId(0), ClockLevelId(0),
|
||||
ClockTreePinId(0), Direction::INC)));
|
||||
}
|
||||
}
|
||||
VTR_ASSERT(rr_graph_view.valid_node(clk_rr_lookup.find_node(
|
||||
1, 0, ClockTreeId(0), ClockLevelId(0), ClockTreePinId(0), Direction::INC)));
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
|
@ -396,19 +415,23 @@ static void try_find_and_add_clock_track2ipin_node(
|
|||
const RRGraphView& rr_graph_view, const size_t& layer,
|
||||
const vtr::Point<size_t>& grid_coord, const e_side& pin_side,
|
||||
const ClockNetwork& clk_ntwk, const ClockTreeId& clk_tree,
|
||||
const ClockTreePinId& clk_pin) {
|
||||
const ClockTreePinId& clk_pin, const bool& verbose) {
|
||||
t_physical_tile_type_ptr grid_type = grids.get_physical_type(
|
||||
t_physical_tile_loc(grid_coord.x(), grid_coord.y(), layer));
|
||||
for (std::string tap_pin_name :
|
||||
clk_ntwk.tree_flatten_tap_to_ports(clk_tree, clk_pin, grid_coord)) {
|
||||
VTR_LOGV(verbose, "Checking tap pin name: %s\n", tap_pin_name.c_str());
|
||||
/* tap pin name could be 'io[5:5].a2f[0]' */
|
||||
int grid_pin_idx = find_physical_tile_pin_index(grid_type, tap_pin_name);
|
||||
if (grid_pin_idx == grid_type->num_pins) {
|
||||
continue;
|
||||
}
|
||||
VTR_LOGV(verbose, "Found a valid pin (index=%d) in physical tile\n",
|
||||
grid_pin_idx);
|
||||
RRNodeId des_node = rr_graph_view.node_lookup().find_node(
|
||||
layer, grid_coord.x(), grid_coord.y(), IPIN, grid_pin_idx, pin_side);
|
||||
if (rr_graph_view.valid_node(des_node)) {
|
||||
VTR_LOGV(verbose, "Found a valid pin in rr graph\n");
|
||||
des_nodes.push_back(des_node);
|
||||
}
|
||||
}
|
||||
|
@ -444,34 +467,35 @@ static std::vector<RRNodeId> find_clock_track2ipin_node(
|
|||
const DeviceGrid& grids, const RRGraphView& rr_graph_view,
|
||||
const t_rr_type& chan_type, const size_t& layer,
|
||||
const vtr::Point<size_t>& chan_coord, const ClockNetwork& clk_ntwk,
|
||||
const ClockTreeId& clk_tree, const ClockTreePinId& clk_pin) {
|
||||
const ClockTreeId& clk_tree, const ClockTreePinId& clk_pin,
|
||||
const bool& verbose) {
|
||||
std::vector<RRNodeId> des_nodes;
|
||||
|
||||
if (chan_type == CHANX) {
|
||||
/* Get the clock IPINs at the BOTTOM side of adjacent grids [x][y+1] */
|
||||
vtr::Point<size_t> bot_grid_coord(chan_coord.x(), chan_coord.y() + 1);
|
||||
try_find_and_add_clock_track2ipin_node(des_nodes, grids, rr_graph_view,
|
||||
layer, bot_grid_coord, BOTTOM,
|
||||
clk_ntwk, clk_tree, clk_pin);
|
||||
try_find_and_add_clock_track2ipin_node(
|
||||
des_nodes, grids, rr_graph_view, layer, bot_grid_coord, BOTTOM, clk_ntwk,
|
||||
clk_tree, clk_pin, verbose);
|
||||
|
||||
/* Get the clock IPINs at the TOP side of adjacent grids [x][y] */
|
||||
vtr::Point<size_t> top_grid_coord(chan_coord.x(), chan_coord.y());
|
||||
try_find_and_add_clock_track2ipin_node(des_nodes, grids, rr_graph_view,
|
||||
layer, top_grid_coord, TOP, clk_ntwk,
|
||||
clk_tree, clk_pin);
|
||||
clk_tree, clk_pin, verbose);
|
||||
} else {
|
||||
VTR_ASSERT(chan_type == CHANY);
|
||||
/* Get the clock IPINs at the LEFT side of adjacent grids [x][y+1] */
|
||||
vtr::Point<size_t> left_grid_coord(chan_coord.x() + 1, chan_coord.y());
|
||||
try_find_and_add_clock_track2ipin_node(des_nodes, grids, rr_graph_view,
|
||||
layer, left_grid_coord, LEFT,
|
||||
clk_ntwk, clk_tree, clk_pin);
|
||||
try_find_and_add_clock_track2ipin_node(
|
||||
des_nodes, grids, rr_graph_view, layer, left_grid_coord, LEFT, clk_ntwk,
|
||||
clk_tree, clk_pin, verbose);
|
||||
|
||||
/* Get the clock IPINs at the RIGHT side of adjacent grids [x][y] */
|
||||
vtr::Point<size_t> right_grid_coord(chan_coord.x(), chan_coord.y());
|
||||
try_find_and_add_clock_track2ipin_node(des_nodes, grids, rr_graph_view,
|
||||
layer, right_grid_coord, RIGHT,
|
||||
clk_ntwk, clk_tree, clk_pin);
|
||||
try_find_and_add_clock_track2ipin_node(
|
||||
des_nodes, grids, rr_graph_view, layer, right_grid_coord, RIGHT, clk_ntwk,
|
||||
clk_tree, clk_pin, verbose);
|
||||
}
|
||||
|
||||
return des_nodes;
|
||||
|
@ -538,7 +562,7 @@ static void add_rr_graph_block_clock_edges(
|
|||
size_t curr_edge_count = edge_count;
|
||||
for (RRNodeId des_node : find_clock_track2ipin_node(
|
||||
grids, rr_graph_view, chan_type, layer, chan_coord, clk_ntwk,
|
||||
itree, ClockTreePinId(ipin))) {
|
||||
itree, ClockTreePinId(ipin), verbose)) {
|
||||
/* Create edges */
|
||||
VTR_ASSERT(rr_graph_view.valid_node(des_node));
|
||||
rr_graph_builder.create_edge(
|
||||
|
@ -729,16 +753,24 @@ static int add_rr_graph_opin2clk_edges(
|
|||
static void add_rr_graph_clock_edges(
|
||||
RRGraphBuilder& rr_graph_builder, size_t& num_edges_to_create,
|
||||
const RRClockSpatialLookup& clk_rr_lookup, const RRGraphView& rr_graph_view,
|
||||
const DeviceGrid& grids, const size_t& layer, const bool& through_channel,
|
||||
const ClockNetwork& clk_ntwk, const bool& verbose) {
|
||||
const DeviceGrid& grids, const size_t& layer, const bool& perimeter_cb,
|
||||
const bool& through_channel, const ClockNetwork& clk_ntwk,
|
||||
const bool& verbose) {
|
||||
vtr::Rect<size_t> chanx_bb(1, 0, grids.width() - 1, grids.height() - 1);
|
||||
if (perimeter_cb) {
|
||||
chanx_bb.set_xmin(0);
|
||||
chanx_bb.set_xmax(grids.width());
|
||||
chanx_bb.set_ymin(0);
|
||||
chanx_bb.set_ymax(grids.height());
|
||||
}
|
||||
/* Add edges which is driven by X-direction clock routing tracks */
|
||||
for (size_t iy = 0; iy < grids.height() - 1; ++iy) {
|
||||
for (size_t ix = 1; ix < grids.width() - 1; ++ix) {
|
||||
for (size_t iy = chanx_bb.ymin(); iy < chanx_bb.ymax(); ++iy) {
|
||||
for (size_t ix = chanx_bb.xmin(); ix < chanx_bb.xmax(); ++ix) {
|
||||
vtr::Point<size_t> chanx_coord(ix, iy);
|
||||
/* Bypass if the routing channel does not exist when through channels are
|
||||
* not allowed */
|
||||
if ((false == through_channel) &&
|
||||
(false == is_chanx_exist(grids, layer, chanx_coord))) {
|
||||
(false == is_chanx_exist(grids, layer, chanx_coord, perimeter_cb))) {
|
||||
continue;
|
||||
}
|
||||
add_rr_graph_block_clock_edges(rr_graph_builder, num_edges_to_create,
|
||||
|
@ -748,13 +780,20 @@ static void add_rr_graph_clock_edges(
|
|||
}
|
||||
|
||||
/* Add edges which is driven by Y-direction clock routing tracks */
|
||||
for (size_t ix = 0; ix < grids.width() - 1; ++ix) {
|
||||
for (size_t iy = 1; iy < grids.height() - 1; ++iy) {
|
||||
vtr::Rect<size_t> chany_bb(0, 1, grids.width() - 1, grids.height() - 1);
|
||||
if (perimeter_cb) {
|
||||
chany_bb.set_xmin(0);
|
||||
chany_bb.set_xmax(grids.width());
|
||||
chany_bb.set_ymin(0);
|
||||
chany_bb.set_ymax(grids.height());
|
||||
}
|
||||
for (size_t ix = chany_bb.xmin(); ix < chany_bb.xmax(); ++ix) {
|
||||
for (size_t iy = chany_bb.ymin(); iy < chany_bb.ymax(); ++iy) {
|
||||
vtr::Point<size_t> chany_coord(ix, iy);
|
||||
/* Bypass if the routing channel does not exist when through channel are
|
||||
* not allowed */
|
||||
if ((false == through_channel) &&
|
||||
(false == is_chany_exist(grids, layer, chany_coord))) {
|
||||
(false == is_chany_exist(grids, layer, chany_coord, perimeter_cb))) {
|
||||
continue;
|
||||
}
|
||||
add_rr_graph_block_clock_edges(rr_graph_builder, num_edges_to_create,
|
||||
|
@ -793,7 +832,8 @@ int append_clock_rr_graph(DeviceContext& vpr_device_ctx,
|
|||
/* Estimate the number of nodes and pre-allocate */
|
||||
size_t orig_num_nodes = vpr_device_ctx.rr_graph.num_nodes();
|
||||
size_t num_clock_nodes = estimate_clock_rr_graph_num_nodes(
|
||||
vpr_device_ctx.grid, 0, vpr_device_ctx.arch->through_channel, clk_ntwk);
|
||||
vpr_device_ctx.grid, 0, vpr_device_ctx.arch->perimeter_cb,
|
||||
vpr_device_ctx.arch->through_channel, clk_ntwk);
|
||||
vpr_device_ctx.rr_graph_builder.unlock_storage();
|
||||
vpr_device_ctx.rr_graph_builder.reserve_nodes(num_clock_nodes +
|
||||
orig_num_nodes);
|
||||
|
@ -803,10 +843,10 @@ int append_clock_rr_graph(DeviceContext& vpr_device_ctx,
|
|||
num_clock_nodes, (float)(num_clock_nodes / orig_num_nodes));
|
||||
|
||||
/* Add clock nodes */
|
||||
add_rr_graph_clock_nodes(vpr_device_ctx.rr_graph_builder, clk_rr_lookup,
|
||||
vpr_device_ctx.rr_graph, vpr_device_ctx.grid, 0,
|
||||
vpr_device_ctx.arch->through_channel, clk_ntwk,
|
||||
verbose);
|
||||
add_rr_graph_clock_nodes(
|
||||
vpr_device_ctx.rr_graph_builder, clk_rr_lookup, vpr_device_ctx.rr_graph,
|
||||
vpr_device_ctx.grid, 0, vpr_device_ctx.arch->perimeter_cb,
|
||||
vpr_device_ctx.arch->through_channel, clk_ntwk, verbose);
|
||||
VTR_LOGV(verbose,
|
||||
"Added %lu clock nodes to routing "
|
||||
"resource graph.\n",
|
||||
|
@ -820,7 +860,8 @@ int append_clock_rr_graph(DeviceContext& vpr_device_ctx,
|
|||
vpr_device_ctx.rr_graph_builder, num_clock_edges,
|
||||
static_cast<const RRClockSpatialLookup&>(clk_rr_lookup),
|
||||
vpr_device_ctx.rr_graph, vpr_device_ctx.grid, 0,
|
||||
vpr_device_ctx.arch->through_channel, clk_ntwk, verbose);
|
||||
vpr_device_ctx.arch->perimeter_cb, vpr_device_ctx.arch->through_channel,
|
||||
clk_ntwk, verbose);
|
||||
VTR_LOGV(verbose,
|
||||
"Added %lu clock edges to routing "
|
||||
"resource graph.\n",
|
||||
|
|
|
@ -186,8 +186,6 @@ static int route_spine_taps(
|
|||
const std::map<ClockTreePinId, ClusterNetId>& tree2clk_pin_map,
|
||||
const ClockNetwork& clk_ntwk, const ClockTreeId& clk_tree,
|
||||
const ClockSpineId& ispine, const ClockTreePinId& ipin, const bool& verbose) {
|
||||
std::vector<vtr::Point<int>> spine_coords =
|
||||
clk_ntwk.spine_coordinates(ispine);
|
||||
size_t spine_tap_cnt = 0;
|
||||
/* Route the spine-to-IPIN connections (only for the last level) */
|
||||
if (clk_ntwk.is_last_level(ispine)) {
|
||||
|
@ -195,6 +193,8 @@ static int route_spine_taps(
|
|||
"Routing clock taps of spine '%s' for pin '%d' of tree '%s'...\n",
|
||||
clk_ntwk.spine_name(ispine).c_str(), size_t(ipin),
|
||||
clk_ntwk.tree_name(clk_tree).c_str());
|
||||
std::vector<vtr::Point<int>> spine_coords =
|
||||
clk_ntwk.spine_coordinates(ispine);
|
||||
/* Connect to any fan-out node which is IPIN */
|
||||
for (size_t icoord = 0; icoord < spine_coords.size(); ++icoord) {
|
||||
vtr::Point<int> src_coord = spine_coords[icoord];
|
||||
|
|
|
@ -59,8 +59,8 @@ static void update_cluster_pin_with_post_routing_results(
|
|||
VTR_ASSERT(class_inf.type == RECEIVER);
|
||||
rr_node_type = IPIN;
|
||||
}
|
||||
std::vector<e_side> pin_sides =
|
||||
find_physical_tile_pin_side(physical_tile, physical_pin, border_side);
|
||||
std::vector<e_side> pin_sides = find_physical_tile_pin_side(
|
||||
physical_tile, physical_pin, border_side, device_ctx.arch->perimeter_cb);
|
||||
/* As some grid has height/width offset, we may not have the pin on any side
|
||||
*/
|
||||
if (0 == pin_sides.size()) {
|
||||
|
|
|
@ -30,6 +30,12 @@ ShellCommandId add_write_fabric_verilog_command_template(
|
|||
shell_cmd.set_option_short_name(output_opt, "f");
|
||||
shell_cmd.set_option_require_value(output_opt, openfpga::OPT_STRING);
|
||||
|
||||
/* Add an option '--constant_undriven_inputs' */
|
||||
shell_cmd.add_option(
|
||||
"constant_undriven_inputs", false,
|
||||
"Use constant gnd for undriven wires in Verilog netlists. Recommand to "
|
||||
"enable when there are boundary routing tracks in FPGA fabric");
|
||||
|
||||
/* Add an option '--explicit_port_mapping' */
|
||||
shell_cmd.add_option("explicit_port_mapping", false,
|
||||
"Use explicit port mapping in Verilog netlists");
|
||||
|
|
|
@ -28,6 +28,8 @@ int write_fabric_verilog_template(T& openfpga_ctx, const Command& cmd,
|
|||
CommandOptionId opt_output_dir = cmd.option("file");
|
||||
CommandOptionId opt_explicit_port_mapping =
|
||||
cmd.option("explicit_port_mapping");
|
||||
CommandOptionId opt_constant_undriven_inputs =
|
||||
cmd.option("constant_undriven_inputs");
|
||||
CommandOptionId opt_include_timing = cmd.option("include_timing");
|
||||
CommandOptionId opt_print_user_defined_template =
|
||||
cmd.option("print_user_defined_template");
|
||||
|
@ -56,6 +58,17 @@ int write_fabric_verilog_template(T& openfpga_ctx, const Command& cmd,
|
|||
}
|
||||
options.set_verbose_output(cmd_context.option_enable(cmd, opt_verbose));
|
||||
options.set_compress_routing(openfpga_ctx.flow_manager().compress_routing());
|
||||
/* For perimeter cb, enable the constant undriven inputs, unless it is off by
|
||||
* user */
|
||||
if (g_vpr_ctx.device().arch->perimeter_cb) {
|
||||
options.set_constant_undriven_inputs(true);
|
||||
VTR_LOG(
|
||||
"Automatically enable the constant_undriven_input option as perimeter "
|
||||
"connection blocks are seen in FPGA fabric\n");
|
||||
} else {
|
||||
options.set_constant_undriven_inputs(
|
||||
cmd_context.option_enable(cmd, opt_constant_undriven_inputs));
|
||||
}
|
||||
|
||||
return fpga_fabric_verilog(
|
||||
openfpga_ctx.mutable_module_graph(),
|
||||
|
|
|
@ -128,7 +128,8 @@ int build_device_module_graph(
|
|||
openfpga_ctx.device_rr_gsb(), vpr_device_ctx.rr_graph,
|
||||
openfpga_ctx.arch().tile_annotations, openfpga_ctx.arch().circuit_lib,
|
||||
sram_model, openfpga_ctx.arch().config_protocol.type(),
|
||||
name_module_using_index, frame_view, verbose);
|
||||
name_module_using_index, vpr_device_ctx.arch->perimeter_cb, frame_view,
|
||||
verbose);
|
||||
}
|
||||
|
||||
/* Build FPGA fabric top-level module */
|
||||
|
@ -141,7 +142,8 @@ int build_device_module_graph(
|
|||
openfpga_ctx.arch().arch_direct, openfpga_ctx.arch().config_protocol,
|
||||
sram_model, fabric_tile, name_module_using_index, frame_view,
|
||||
compress_routing, duplicate_grid_pin, fabric_key,
|
||||
generate_random_fabric_key, group_config_block, verbose);
|
||||
generate_random_fabric_key, group_config_block,
|
||||
vpr_device_ctx.arch->perimeter_cb, verbose);
|
||||
|
||||
if (CMD_EXEC_FATAL_ERROR == status) {
|
||||
return status;
|
||||
|
|
|
@ -22,10 +22,175 @@
|
|||
namespace openfpga {
|
||||
|
||||
/********************************************************************
|
||||
* Build tiles by following the top-level style.
|
||||
* With a given coordinate of a grid, find an existing fabric tile
|
||||
* or create a new fabric tile
|
||||
* - A grid may never exist in any fabric tile (no coordinate matches)
|
||||
* Create a new one
|
||||
* - A grid already in another fabric tile (occur in heterogeneous blocks)
|
||||
* Find the existing one
|
||||
*******************************************************************/
|
||||
static int find_or_create_one_fabric_tile_from_grid(
|
||||
FabricTile& fabric_tile, FabricTileId& curr_tile_id, const DeviceGrid& grids,
|
||||
const t_physical_tile_loc& tile_loc, const bool& verbose) {
|
||||
t_physical_tile_type_ptr phy_tile_type = grids.get_physical_type(tile_loc);
|
||||
vtr::Point<size_t> curr_tile_coord(tile_loc.x, tile_loc.y);
|
||||
vtr::Point<size_t> curr_gsb_coord(tile_loc.x, tile_loc.y);
|
||||
|
||||
bool skip_add_pb = false;
|
||||
/* For EMPTY grid, routing blocks may still be required if there is a gsb
|
||||
*/
|
||||
if (true == is_empty_type(phy_tile_type)) {
|
||||
return CMD_EXEC_SUCCESS;
|
||||
} else if ((0 < grids.get_width_offset(tile_loc)) ||
|
||||
(0 < grids.get_height_offset(tile_loc))) {
|
||||
/* Skip width, height > 1 tiles (mostly heterogeneous blocks) */
|
||||
/* Find the root of this grid, the instance id should be valid.
|
||||
* We just copy it here
|
||||
*/
|
||||
vtr::Point<size_t> root_tile_coord(
|
||||
curr_tile_coord.x() - grids.get_width_offset(tile_loc),
|
||||
curr_tile_coord.y() - grids.get_height_offset(tile_loc));
|
||||
skip_add_pb = true;
|
||||
VTR_LOGV(verbose,
|
||||
"Tile[%lu][%lu] contains a heterogeneous block which is "
|
||||
"rooted from tile[%lu][%lu]\n",
|
||||
curr_tile_coord.x(), curr_tile_coord.y(), root_tile_coord.x(),
|
||||
root_tile_coord.y());
|
||||
curr_tile_id = fabric_tile.find_tile(root_tile_coord);
|
||||
/* Update the coordinates of the pb in tiles */
|
||||
size_t root_pb_idx_in_curr_tile =
|
||||
fabric_tile.find_pb_index_in_tile(curr_tile_id, root_tile_coord);
|
||||
int status_code = fabric_tile.set_pb_max_coordinate(
|
||||
curr_tile_id, root_pb_idx_in_curr_tile, curr_tile_coord);
|
||||
if (status_code != CMD_EXEC_SUCCESS) {
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
}
|
||||
} else {
|
||||
/* Need to create a new tile here */
|
||||
VTR_LOGV(verbose, "Create a regular tile[%lu][%lu]\n", curr_tile_coord.x(),
|
||||
curr_tile_coord.y());
|
||||
curr_tile_id = fabric_tile.create_tile(curr_tile_coord);
|
||||
}
|
||||
|
||||
/* Ensure that we have a valid id */
|
||||
if (!fabric_tile.valid_tile_id(curr_tile_id)) {
|
||||
VTR_LOG_ERROR("Failed to get a valid id for tile[%lu][%lu]!\n",
|
||||
curr_tile_coord.x(), curr_tile_coord.y());
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
}
|
||||
|
||||
/* Add components: pb, cbx, cby, and sb if exists */
|
||||
if (!skip_add_pb) {
|
||||
fabric_tile.add_pb_coordinate(curr_tile_id, curr_tile_coord,
|
||||
curr_gsb_coord);
|
||||
}
|
||||
return CMD_EXEC_SUCCESS;
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
* Build tiles by following the bottom style.
|
||||
* - The programmble block, e.g., clb, is placed on the bottom-left corner
|
||||
* - The connection blocks and switch block are placed on the top and bottom
|
||||
*sides
|
||||
* This is exactly how GSB is organized. Just need to transfer data from one GSB
|
||||
* The gsb coordinate is the same as the grid coordinate when the
|
||||
* bottom-left style is considered
|
||||
*
|
||||
* ------------------------------
|
||||
* +----------+ +----------+ ^
|
||||
* | CBx | | SB | |
|
||||
* | [x][y] | | [x][y] | GSB[x][y]
|
||||
* +----------+ +----------+ |
|
||||
* +----------+ +----------+ |
|
||||
* | Grid | | CBy | |
|
||||
* | [x][y] | | [x][y] | |
|
||||
* +----------+ +----------+ v
|
||||
* ------------------------------
|
||||
*
|
||||
*******************************************************************/
|
||||
static int build_fabric_tile_style_bottom_left(FabricTile& fabric_tile,
|
||||
const DeviceGrid& grids,
|
||||
const size_t& layer,
|
||||
const RRGraphView& rr_graph,
|
||||
const DeviceRRGSB& device_rr_gsb,
|
||||
const bool& verbose) {
|
||||
int status_code = CMD_EXEC_SUCCESS;
|
||||
|
||||
/* Walk through all the device rr_gsb and create tile one by one */
|
||||
for (size_t ix = 0; ix < grids.width(); ++ix) {
|
||||
for (size_t iy = 0; iy < grids.height(); ++iy) {
|
||||
t_physical_tile_loc tile_loc(ix, iy, layer);
|
||||
FabricTileId curr_tile_id = FabricTileId::INVALID();
|
||||
status_code = find_or_create_one_fabric_tile_from_grid(
|
||||
fabric_tile, curr_tile_id, grids, tile_loc, verbose);
|
||||
if (status_code != CMD_EXEC_SUCCESS) {
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
}
|
||||
/* If no tile is created for the pb, check if routing exists */
|
||||
vtr::Point<size_t> curr_tile_coord(tile_loc.x, tile_loc.y);
|
||||
vtr::Point<size_t> curr_gsb_coord(ix, iy);
|
||||
if (!fabric_tile.valid_tile_id(curr_tile_id)) {
|
||||
if (!device_rr_gsb.is_gsb_exist(rr_graph, curr_gsb_coord)) {
|
||||
VTR_LOGV(verbose, "Skip tile[%lu][%lu] as it is empty\n",
|
||||
curr_tile_coord.x(), curr_tile_coord.y());
|
||||
continue;
|
||||
}
|
||||
/* Need to create a new tile here */
|
||||
VTR_LOGV(verbose,
|
||||
"Create tile[%lu][%lu] which only has routing but not a "
|
||||
"programmable block\n",
|
||||
curr_tile_coord.x(), curr_tile_coord.y());
|
||||
curr_tile_id = fabric_tile.create_tile(curr_tile_coord);
|
||||
}
|
||||
if (fabric_tile.valid_tile_id(curr_tile_id) &&
|
||||
!device_rr_gsb.is_gsb_exist(rr_graph, curr_gsb_coord)) {
|
||||
VTR_LOGV(
|
||||
verbose,
|
||||
"Skip to add routing to tile[%lu][%lu] as it is not required\n",
|
||||
curr_tile_coord.x(), curr_tile_coord.y());
|
||||
continue;
|
||||
}
|
||||
const RRGSB& curr_rr_gsb = device_rr_gsb.get_gsb(curr_gsb_coord);
|
||||
for (t_rr_type cb_type : {CHANX, CHANY}) {
|
||||
if (curr_rr_gsb.is_cb_exist(cb_type)) {
|
||||
fabric_tile.add_cb_coordinate(curr_tile_id, cb_type,
|
||||
curr_rr_gsb.get_sb_coordinate());
|
||||
VTR_LOGV(
|
||||
verbose, "Added %s connection block [%lu][%lu] to tile[%lu][%lu]\n",
|
||||
cb_type == CHANX ? "x-" : "y-", curr_rr_gsb.get_cb_x(cb_type),
|
||||
curr_rr_gsb.get_cb_y(cb_type), ix, iy);
|
||||
}
|
||||
}
|
||||
if (curr_rr_gsb.is_sb_exist(rr_graph)) {
|
||||
fabric_tile.add_sb_coordinate(curr_tile_id,
|
||||
curr_rr_gsb.get_sb_coordinate());
|
||||
VTR_LOGV(verbose, "Added switch block [%lu][%lu] to tile[%lu][%lu]\n",
|
||||
curr_rr_gsb.get_sb_x(), curr_rr_gsb.get_sb_y(), ix, iy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return status_code;
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
* Build tiles by following the top-left style.
|
||||
* - The programmble block, e.g., clb, is placed on the top-left corner
|
||||
* - The connection blocks and switch block are placed on the right and bottom
|
||||
*sides
|
||||
* Tile[x][y]
|
||||
* ------------------------------
|
||||
* +----------+ +----------+ ^
|
||||
* | Grid | | CBy | GSB[x][y]
|
||||
* | [x][y] | | [x][y] | |
|
||||
* +----------+ +----------+ v
|
||||
* ------------------------------
|
||||
* +----------+ +----------+ ^
|
||||
* | CBx | | SB | |
|
||||
* | [x][y-1] | | [x][y-1] | GSB[x][y-1]
|
||||
* +----------+ +----------+ |
|
||||
* ------------------------------
|
||||
|
||||
*******************************************************************/
|
||||
static int build_fabric_tile_style_top_left(FabricTile& fabric_tile,
|
||||
const DeviceGrid& grids,
|
||||
|
@ -39,17 +204,34 @@ static int build_fabric_tile_style_top_left(FabricTile& fabric_tile,
|
|||
for (size_t ix = 0; ix < grids.width(); ++ix) {
|
||||
for (size_t iy = 0; iy < grids.height(); ++iy) {
|
||||
t_physical_tile_loc tile_loc(ix, iy, layer);
|
||||
t_physical_tile_type_ptr phy_tile_type =
|
||||
grids.get_physical_type(tile_loc);
|
||||
bool skip_add_pb = false;
|
||||
vtr::Point<size_t> curr_tile_coord(ix, iy);
|
||||
vtr::Point<size_t> curr_gsb_coord(ix, iy - 1);
|
||||
FabricTileId curr_tile_id = FabricTileId::INVALID();
|
||||
/* For EMPTY grid, routing blocks may still be required if there is a gsb
|
||||
*/
|
||||
if (true == is_empty_type(phy_tile_type)) {
|
||||
skip_add_pb = true;
|
||||
if (!device_rr_gsb.is_gsb_exist(rr_graph, curr_gsb_coord)) {
|
||||
status_code = find_or_create_one_fabric_tile_from_grid(
|
||||
fabric_tile, curr_tile_id, grids, tile_loc, verbose);
|
||||
if (status_code != CMD_EXEC_SUCCESS) {
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
}
|
||||
/* If no valid tile is created/found by the pb, check if there is any
|
||||
* routing inside */
|
||||
vtr::Point<size_t> curr_tile_coord(tile_loc.x, tile_loc.y);
|
||||
vtr::Point<size_t> curr_gsb_coord(ix, iy);
|
||||
vtr::Point<size_t> neighbor_gsb_coord(ix, iy - 1);
|
||||
if (!fabric_tile.valid_tile_id(curr_tile_id)) {
|
||||
bool routing_exist = false;
|
||||
if (device_rr_gsb.is_gsb_exist(rr_graph, curr_gsb_coord)) {
|
||||
const RRGSB& routing_rr_gsb = device_rr_gsb.get_gsb(curr_gsb_coord);
|
||||
if (routing_rr_gsb.is_cb_exist(CHANY)) {
|
||||
routing_exist = true;
|
||||
}
|
||||
}
|
||||
if (device_rr_gsb.is_gsb_exist(rr_graph, neighbor_gsb_coord)) {
|
||||
const RRGSB& routing_rr_gsb =
|
||||
device_rr_gsb.get_gsb(neighbor_gsb_coord);
|
||||
if (routing_rr_gsb.is_cb_exist(CHANX) ||
|
||||
routing_rr_gsb.is_sb_exist(rr_graph)) {
|
||||
routing_exist = true;
|
||||
}
|
||||
}
|
||||
if (!routing_exist) {
|
||||
VTR_LOGV(verbose, "Skip tile[%lu][%lu] as it is empty\n",
|
||||
curr_tile_coord.x(), curr_tile_coord.y());
|
||||
continue;
|
||||
|
@ -60,74 +242,38 @@ static int build_fabric_tile_style_top_left(FabricTile& fabric_tile,
|
|||
"programmable block\n",
|
||||
curr_tile_coord.x(), curr_tile_coord.y());
|
||||
curr_tile_id = fabric_tile.create_tile(curr_tile_coord);
|
||||
} else if ((0 < grids.get_width_offset(tile_loc)) ||
|
||||
(0 < grids.get_height_offset(tile_loc))) {
|
||||
/* Skip width, height > 1 tiles (mostly heterogeneous blocks) */
|
||||
/* Find the root of this grid, the instance id should be valid.
|
||||
* We just copy it here
|
||||
*/
|
||||
vtr::Point<size_t> root_tile_coord(
|
||||
ix - grids.get_width_offset(tile_loc),
|
||||
iy - grids.get_height_offset(tile_loc));
|
||||
skip_add_pb = true;
|
||||
VTR_LOGV(verbose,
|
||||
"Tile[%lu][%lu] contains a heterogeneous block which is "
|
||||
"rooted from tile[%lu][%lu]\n",
|
||||
curr_tile_coord.x(), curr_tile_coord.y(), root_tile_coord.x(),
|
||||
root_tile_coord.y());
|
||||
curr_tile_id = fabric_tile.find_tile(root_tile_coord);
|
||||
/* Update the coordinates of the pb in tiles */
|
||||
size_t root_pb_idx_in_curr_tile =
|
||||
fabric_tile.find_pb_index_in_tile(curr_tile_id, root_tile_coord);
|
||||
status_code = fabric_tile.set_pb_max_coordinate(
|
||||
curr_tile_id, root_pb_idx_in_curr_tile, vtr::Point<size_t>(ix, iy));
|
||||
if (status_code != CMD_EXEC_SUCCESS) {
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
}
|
||||
} else {
|
||||
/* Need to create a new tile here */
|
||||
VTR_LOGV(verbose, "Create a regular tile[%lu][%lu]\n",
|
||||
curr_tile_coord.x(), curr_tile_coord.y());
|
||||
curr_tile_id = fabric_tile.create_tile(curr_tile_coord);
|
||||
}
|
||||
|
||||
/* Ensure that we have a valid id */
|
||||
if (!fabric_tile.valid_tile_id(curr_tile_id)) {
|
||||
VTR_LOG_ERROR("Failed to get a valid id for tile[%lu][%lu]!\n", ix, iy);
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
}
|
||||
|
||||
/* Add components: pb, cbx, cby, and sb if exists */
|
||||
if (!skip_add_pb) {
|
||||
fabric_tile.add_pb_coordinate(curr_tile_id, curr_tile_coord,
|
||||
curr_gsb_coord);
|
||||
}
|
||||
/* The gsb coordinate is different than the grid coordinate when the
|
||||
* top-left style is considered
|
||||
*
|
||||
* +----------+ +----------+
|
||||
* | Grid | | CBx |
|
||||
* | [x][y] | | [x][y] |
|
||||
* +----------+ +----------+
|
||||
* +----------+ +----------+
|
||||
* | CBy | | SB |
|
||||
* | [x][y-1] | | [x][y-1] |
|
||||
* +----------+ +----------+
|
||||
*
|
||||
*/
|
||||
if (!device_rr_gsb.is_gsb_exist(rr_graph, curr_gsb_coord)) {
|
||||
continue;
|
||||
}
|
||||
const RRGSB& curr_rr_gsb = device_rr_gsb.get_gsb(curr_gsb_coord);
|
||||
for (t_rr_type cb_type : {CHANX, CHANY}) {
|
||||
if (curr_rr_gsb.is_cb_exist(cb_type)) {
|
||||
fabric_tile.add_cb_coordinate(curr_tile_id, cb_type,
|
||||
/* For the cby in the same gsb */
|
||||
if (device_rr_gsb.is_gsb_exist(rr_graph, curr_gsb_coord)) {
|
||||
const RRGSB& curr_rr_gsb = device_rr_gsb.get_gsb(curr_gsb_coord);
|
||||
if (curr_rr_gsb.is_cb_exist(CHANY)) {
|
||||
fabric_tile.add_cb_coordinate(curr_tile_id, CHANY,
|
||||
curr_rr_gsb.get_sb_coordinate());
|
||||
VTR_LOGV(
|
||||
verbose, "Added y- connection block [%lu][%lu] to tile[%lu][%lu]\n",
|
||||
curr_rr_gsb.get_cb_x(CHANY), curr_rr_gsb.get_cb_y(CHANY), ix, iy);
|
||||
}
|
||||
}
|
||||
if (curr_rr_gsb.is_sb_exist(rr_graph)) {
|
||||
fabric_tile.add_sb_coordinate(curr_tile_id,
|
||||
curr_rr_gsb.get_sb_coordinate());
|
||||
/* For the cbx and sb in the neighbour gsb */
|
||||
if (device_rr_gsb.is_gsb_exist(rr_graph, neighbor_gsb_coord)) {
|
||||
const RRGSB& neighbor_rr_gsb =
|
||||
device_rr_gsb.get_gsb(neighbor_gsb_coord);
|
||||
if (neighbor_rr_gsb.is_cb_exist(CHANX)) {
|
||||
fabric_tile.add_cb_coordinate(curr_tile_id, CHANX,
|
||||
neighbor_rr_gsb.get_sb_coordinate());
|
||||
|
||||
VTR_LOGV(verbose,
|
||||
"Added x- connection block [%lu][%lu] to tile[%lu][%lu]\n",
|
||||
neighbor_rr_gsb.get_cb_x(CHANX),
|
||||
neighbor_rr_gsb.get_cb_y(CHANX), ix, iy);
|
||||
}
|
||||
if (neighbor_rr_gsb.is_sb_exist(rr_graph)) {
|
||||
fabric_tile.add_sb_coordinate(curr_tile_id,
|
||||
neighbor_rr_gsb.get_sb_coordinate());
|
||||
VTR_LOGV(verbose, "Added switch block [%lu][%lu] to tile[%lu][%lu]\n",
|
||||
neighbor_rr_gsb.get_sb_x(), neighbor_rr_gsb.get_sb_y(), ix,
|
||||
iy);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -152,6 +298,10 @@ int build_fabric_tile(FabricTile& fabric_tile, const TileConfig& tile_config,
|
|||
if (tile_config.style() == TileConfig::e_style::TOP_LEFT) {
|
||||
status_code = build_fabric_tile_style_top_left(
|
||||
fabric_tile, grids, 0, rr_graph, device_rr_gsb, verbose);
|
||||
} else if (tile_config.style() == TileConfig::e_style::BOTTOM_LEFT) {
|
||||
status_code = build_fabric_tile_style_bottom_left(
|
||||
fabric_tile, grids, 0, rr_graph, device_rr_gsb, verbose);
|
||||
|
||||
} else {
|
||||
/* Error out for styles that are not supported yet! */
|
||||
VTR_LOG_ERROR("Tile style '%s' is not supported yet!\n",
|
||||
|
|
|
@ -55,7 +55,8 @@ void add_grid_module_duplicated_pb_type_ports(
|
|||
ModuleManager& module_manager, const ModuleId& grid_module,
|
||||
const VprDeviceAnnotation& vpr_device_annotation,
|
||||
t_physical_tile_type_ptr grid_type_descriptor,
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side) {
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side,
|
||||
const bool& perimeter_cb) {
|
||||
/* Ensure that we have a valid grid_type_descriptor */
|
||||
VTR_ASSERT(false == is_empty_type(grid_type_descriptor));
|
||||
|
||||
|
@ -65,8 +66,8 @@ void add_grid_module_duplicated_pb_type_ports(
|
|||
* Otherwise, we will iterate all the 4 sides
|
||||
*/
|
||||
if (true == is_io_type(grid_type_descriptor)) {
|
||||
grid_pin_sides =
|
||||
find_grid_module_pin_sides(grid_type_descriptor, border_side);
|
||||
grid_pin_sides = find_grid_module_pin_sides(grid_type_descriptor,
|
||||
border_side, perimeter_cb);
|
||||
} else {
|
||||
grid_pin_sides = {TOP, RIGHT, BOTTOM, LEFT};
|
||||
}
|
||||
|
@ -172,7 +173,8 @@ static void add_grid_module_net_connect_duplicated_pb_graph_pin(
|
|||
const size_t& child_inst_subtile_index,
|
||||
const VprDeviceAnnotation& vpr_device_annotation,
|
||||
t_physical_tile_type_ptr grid_type_descriptor, t_pb_graph_pin* pb_graph_pin,
|
||||
const e_side& border_side, const e_pin2pin_interc_type& pin2pin_interc_type) {
|
||||
const e_side& border_side, const bool& perimeter_cb,
|
||||
const e_pin2pin_interc_type& pin2pin_interc_type) {
|
||||
/* Make sure this is ONLY applied to output pins */
|
||||
VTR_ASSERT(OUTPUT2OUTPUT_INTERC == pin2pin_interc_type);
|
||||
|
||||
|
@ -182,8 +184,8 @@ static void add_grid_module_net_connect_duplicated_pb_graph_pin(
|
|||
* Otherwise, we will iterate all the 4 sides
|
||||
*/
|
||||
if (true == is_io_type(grid_type_descriptor)) {
|
||||
grid_pin_sides =
|
||||
find_grid_module_pin_sides(grid_type_descriptor, border_side);
|
||||
grid_pin_sides = find_grid_module_pin_sides(grid_type_descriptor,
|
||||
border_side, perimeter_cb);
|
||||
} else {
|
||||
grid_pin_sides = {TOP, RIGHT, BOTTOM, LEFT};
|
||||
}
|
||||
|
@ -316,7 +318,8 @@ void add_grid_module_nets_connect_duplicated_pb_type_ports(
|
|||
const ModuleId& child_module, const size_t& child_instance,
|
||||
const t_sub_tile& sub_tile, const VprDeviceAnnotation& vpr_device_annotation,
|
||||
t_physical_tile_type_ptr grid_type_descriptor,
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side) {
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side,
|
||||
const bool& perimeter_cb) {
|
||||
/* Ensure that we have a valid grid_type_descriptor */
|
||||
VTR_ASSERT(false == is_empty_type(grid_type_descriptor));
|
||||
|
||||
|
@ -334,7 +337,7 @@ void add_grid_module_nets_connect_duplicated_pb_type_ports(
|
|||
module_manager, grid_module, child_module, child_instance,
|
||||
child_inst_subtile_index, vpr_device_annotation, grid_type_descriptor,
|
||||
tile_annotation, &(top_pb_graph_node->input_pins[iport][ipin]),
|
||||
border_side, INPUT2INPUT_INTERC);
|
||||
border_side, perimeter_cb, INPUT2INPUT_INTERC);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -345,7 +348,7 @@ void add_grid_module_nets_connect_duplicated_pb_type_ports(
|
|||
module_manager, grid_module, child_module, child_instance,
|
||||
child_inst_subtile_index, vpr_device_annotation, grid_type_descriptor,
|
||||
&(top_pb_graph_node->output_pins[iport][ipin]), border_side,
|
||||
OUTPUT2OUTPUT_INTERC);
|
||||
perimeter_cb, OUTPUT2OUTPUT_INTERC);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -356,7 +359,7 @@ void add_grid_module_nets_connect_duplicated_pb_type_ports(
|
|||
module_manager, grid_module, child_module, child_instance,
|
||||
child_inst_subtile_index, vpr_device_annotation, grid_type_descriptor,
|
||||
tile_annotation, &(top_pb_graph_node->clock_pins[iport][ipin]),
|
||||
border_side, INPUT2INPUT_INTERC);
|
||||
border_side, perimeter_cb, INPUT2INPUT_INTERC);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,14 +21,16 @@ void add_grid_module_duplicated_pb_type_ports(
|
|||
ModuleManager& module_manager, const ModuleId& grid_module,
|
||||
const VprDeviceAnnotation& vpr_device_annotation,
|
||||
t_physical_tile_type_ptr grid_type_descriptor,
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side);
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side,
|
||||
const bool& perimeter_cb);
|
||||
|
||||
void add_grid_module_nets_connect_duplicated_pb_type_ports(
|
||||
ModuleManager& module_manager, const ModuleId& grid_module,
|
||||
const ModuleId& child_module, const size_t& child_instance,
|
||||
const t_sub_tile& sub_tile, const VprDeviceAnnotation& vpr_device_annotation,
|
||||
t_physical_tile_type_ptr grid_type_descriptor,
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side);
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side,
|
||||
const bool& perimeter_cb);
|
||||
|
||||
} /* end namespace openfpga */
|
||||
|
||||
|
|
|
@ -24,7 +24,8 @@ namespace openfpga {
|
|||
* 5. I/O grids in the center part of FPGA can have ports on any side
|
||||
*******************************************************************/
|
||||
std::vector<e_side> find_grid_module_pin_sides(
|
||||
t_physical_tile_type_ptr grid_type_descriptor, const e_side& border_side) {
|
||||
t_physical_tile_type_ptr grid_type_descriptor, const e_side& border_side,
|
||||
const bool& perimeter_cb) {
|
||||
/* We must have an regular (non-I/O) type here */
|
||||
VTR_ASSERT(true == is_io_type(grid_type_descriptor));
|
||||
SideManager side_manager(border_side);
|
||||
|
@ -33,7 +34,19 @@ std::vector<e_side> find_grid_module_pin_sides(
|
|||
return {TOP, RIGHT, BOTTOM, LEFT};
|
||||
}
|
||||
|
||||
return std::vector<e_side>(1, side_manager.get_opposite());
|
||||
if (!perimeter_cb) {
|
||||
return std::vector<e_side>(1, side_manager.get_opposite());
|
||||
}
|
||||
/* For cbs on perimeter, exclude the border side. All the other 3 sides are ok
|
||||
*/
|
||||
std::vector<e_side> pin_sides;
|
||||
pin_sides.reserve(3);
|
||||
for (e_side pin_side : {TOP, RIGHT, BOTTOM, LEFT}) {
|
||||
if (pin_side != border_side) {
|
||||
pin_sides.push_back(pin_side);
|
||||
}
|
||||
}
|
||||
return pin_sides;
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
|
@ -47,15 +60,16 @@ void add_grid_module_net_connect_pb_graph_pin(
|
|||
const VprDeviceAnnotation& vpr_device_annotation,
|
||||
t_physical_tile_type_ptr grid_type_descriptor,
|
||||
const TileAnnotation& tile_annotation, t_pb_graph_pin* pb_graph_pin,
|
||||
const e_side& border_side, const e_pin2pin_interc_type& pin2pin_interc_type) {
|
||||
const e_side& border_side, const bool& perimeter_cb,
|
||||
const e_pin2pin_interc_type& pin2pin_interc_type) {
|
||||
/* Find the pin side for I/O grids*/
|
||||
std::vector<e_side> grid_pin_sides;
|
||||
/* For I/O grids, we care only one side
|
||||
* Otherwise, we will iterate all the 4 sides
|
||||
*/
|
||||
if (true == is_io_type(grid_type_descriptor)) {
|
||||
grid_pin_sides =
|
||||
find_grid_module_pin_sides(grid_type_descriptor, border_side);
|
||||
grid_pin_sides = find_grid_module_pin_sides(grid_type_descriptor,
|
||||
border_side, perimeter_cb);
|
||||
} else {
|
||||
grid_pin_sides = {TOP, RIGHT, BOTTOM, LEFT};
|
||||
}
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
namespace openfpga {
|
||||
|
||||
std::vector<e_side> find_grid_module_pin_sides(
|
||||
t_physical_tile_type_ptr grid_type_descriptor, const e_side& border_side);
|
||||
t_physical_tile_type_ptr grid_type_descriptor, const e_side& border_side,
|
||||
const bool& perimeter_cb);
|
||||
|
||||
void add_grid_module_net_connect_pb_graph_pin(
|
||||
ModuleManager& module_manager, const ModuleId& grid_module,
|
||||
|
@ -28,7 +29,7 @@ void add_grid_module_net_connect_pb_graph_pin(
|
|||
const VprDeviceAnnotation& vpr_device_annotation,
|
||||
t_physical_tile_type_ptr grid_type_descriptor,
|
||||
const TileAnnotation& tile_annotation, t_pb_graph_pin* pb_graph_pin,
|
||||
const e_side& border_side,
|
||||
const e_side& border_side, const bool& perimeter_cb,
|
||||
const enum e_pin2pin_interc_type& pin2pin_interc_type);
|
||||
|
||||
} /* end namespace openfpga */
|
||||
|
|
|
@ -42,7 +42,8 @@ static void add_grid_module_pb_type_ports(
|
|||
ModuleManager& module_manager, const ModuleId& grid_module,
|
||||
const VprDeviceAnnotation& vpr_device_annotation,
|
||||
t_physical_tile_type_ptr grid_type_descriptor,
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side) {
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side,
|
||||
const bool& perimeter_cb) {
|
||||
/* Ensure that we have a valid grid_type_descriptor */
|
||||
VTR_ASSERT(nullptr != grid_type_descriptor);
|
||||
|
||||
|
@ -52,8 +53,8 @@ static void add_grid_module_pb_type_ports(
|
|||
* Otherwise, we will iterate all the 4 sides
|
||||
*/
|
||||
if (true == is_io_type(grid_type_descriptor)) {
|
||||
grid_pin_sides =
|
||||
find_grid_module_pin_sides(grid_type_descriptor, border_side);
|
||||
grid_pin_sides = find_grid_module_pin_sides(grid_type_descriptor,
|
||||
border_side, perimeter_cb);
|
||||
} else {
|
||||
grid_pin_sides = {TOP, RIGHT, BOTTOM, LEFT};
|
||||
}
|
||||
|
@ -125,7 +126,8 @@ static void add_grid_module_nets_connect_pb_type_ports(
|
|||
const ModuleId& child_module, const size_t& child_instance,
|
||||
const t_sub_tile& sub_tile, const VprDeviceAnnotation& vpr_device_annotation,
|
||||
t_physical_tile_type_ptr grid_type_descriptor,
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side) {
|
||||
const TileAnnotation& tile_annotation, const e_side& border_side,
|
||||
const bool& perimeter_cb) {
|
||||
/* Ensure that we have a valid grid_type_descriptor */
|
||||
VTR_ASSERT(nullptr != grid_type_descriptor);
|
||||
|
||||
|
@ -144,7 +146,7 @@ static void add_grid_module_nets_connect_pb_type_ports(
|
|||
module_manager, grid_module, child_module, child_instance,
|
||||
child_inst_subtile_index, vpr_device_annotation, grid_type_descriptor,
|
||||
tile_annotation, &(top_pb_graph_node->input_pins[iport][ipin]),
|
||||
border_side, INPUT2INPUT_INTERC);
|
||||
border_side, perimeter_cb, INPUT2INPUT_INTERC);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -155,7 +157,7 @@ static void add_grid_module_nets_connect_pb_type_ports(
|
|||
module_manager, grid_module, child_module, child_instance,
|
||||
child_inst_subtile_index, vpr_device_annotation, grid_type_descriptor,
|
||||
tile_annotation, &(top_pb_graph_node->output_pins[iport][ipin]),
|
||||
border_side, OUTPUT2OUTPUT_INTERC);
|
||||
border_side, perimeter_cb, OUTPUT2OUTPUT_INTERC);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -166,7 +168,7 @@ static void add_grid_module_nets_connect_pb_type_ports(
|
|||
module_manager, grid_module, child_module, child_instance,
|
||||
child_inst_subtile_index, vpr_device_annotation, grid_type_descriptor,
|
||||
tile_annotation, &(top_pb_graph_node->clock_pins[iport][ipin]),
|
||||
border_side, INPUT2INPUT_INTERC);
|
||||
border_side, perimeter_cb, INPUT2INPUT_INTERC);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1168,7 +1170,7 @@ static int build_physical_tile_module(
|
|||
const TileAnnotation& tile_annotation, const e_side& border_side,
|
||||
const QLMemoryBankConfigSetting* ql_memory_bank_config_setting,
|
||||
const bool& duplicate_grid_pin, const bool& group_config_block,
|
||||
const bool& verbose) {
|
||||
const bool& perimeter_cb, const bool& verbose) {
|
||||
int status = CMD_EXEC_SUCCESS;
|
||||
/* Create a Module for the top-level physical block, and add to module manager
|
||||
*/
|
||||
|
@ -1247,7 +1249,7 @@ static int build_physical_tile_module(
|
|||
/* Default way to add these ports by following the definition in pb_types */
|
||||
add_grid_module_pb_type_ports(module_manager, grid_module,
|
||||
vpr_device_annotation, phy_block_type,
|
||||
tile_annotation, border_side);
|
||||
tile_annotation, border_side, perimeter_cb);
|
||||
/* Add module nets to connect the pb_type ports to sub modules */
|
||||
for (const t_sub_tile& sub_tile : phy_block_type->sub_tiles) {
|
||||
VTR_ASSERT(sub_tile.equivalent_sites.size() == 1);
|
||||
|
@ -1264,7 +1266,8 @@ static int build_physical_tile_module(
|
|||
module_manager.child_module_instances(grid_module, pb_module)) {
|
||||
add_grid_module_nets_connect_pb_type_ports(
|
||||
module_manager, grid_module, pb_module, child_instance, sub_tile,
|
||||
vpr_device_annotation, phy_block_type, tile_annotation, border_side);
|
||||
vpr_device_annotation, phy_block_type, tile_annotation, border_side,
|
||||
perimeter_cb);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -1272,7 +1275,7 @@ static int build_physical_tile_module(
|
|||
/* Add these ports with duplication */
|
||||
add_grid_module_duplicated_pb_type_ports(
|
||||
module_manager, grid_module, vpr_device_annotation, phy_block_type,
|
||||
tile_annotation, border_side);
|
||||
tile_annotation, border_side, perimeter_cb);
|
||||
|
||||
/* Add module nets to connect the duplicated pb_type ports to sub modules */
|
||||
for (const t_sub_tile& sub_tile : phy_block_type->sub_tiles) {
|
||||
|
@ -1290,7 +1293,8 @@ static int build_physical_tile_module(
|
|||
module_manager.child_module_instances(grid_module, pb_module)) {
|
||||
add_grid_module_nets_connect_duplicated_pb_type_ports(
|
||||
module_manager, grid_module, pb_module, child_instance, sub_tile,
|
||||
vpr_device_annotation, phy_block_type, tile_annotation, border_side);
|
||||
vpr_device_annotation, phy_block_type, tile_annotation, border_side,
|
||||
perimeter_cb);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1436,7 +1440,7 @@ int build_grid_modules(
|
|||
module_manager, decoder_lib, device_annotation, circuit_lib,
|
||||
sram_orgz_type, sram_model, &physical_tile, tile_annotation,
|
||||
io_type_side, ql_memory_bank_config_setting, duplicate_grid_pin,
|
||||
group_config_block, verbose);
|
||||
group_config_block, device_ctx.arch->perimeter_cb, verbose);
|
||||
if (status != CMD_EXEC_SUCCESS) {
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
}
|
||||
|
@ -1447,7 +1451,7 @@ int build_grid_modules(
|
|||
module_manager, decoder_lib, device_annotation, circuit_lib,
|
||||
sram_orgz_type, sram_model, &physical_tile, tile_annotation, NUM_SIDES,
|
||||
ql_memory_bank_config_setting, duplicate_grid_pin, group_config_block,
|
||||
verbose);
|
||||
device_ctx.arch->perimeter_cb, verbose);
|
||||
if (status != CMD_EXEC_SUCCESS) {
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
}
|
||||
|
|
|
@ -732,13 +732,13 @@ static int build_tile_module_port_and_nets_between_sb_and_cb(
|
|||
* is_cb_exist() FOr RIGHT and BOTTOM side, find the adjacent RRGSB and then
|
||||
* use is_cb_exist()
|
||||
*/
|
||||
if (TOP == side_manager.get_side() || LEFT == side_manager.get_side()) {
|
||||
if (BOTTOM == side_manager.get_side() || LEFT == side_manager.get_side()) {
|
||||
if (false == rr_gsb.is_cb_exist(cb_type)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (RIGHT == side_manager.get_side() || BOTTOM == side_manager.get_side()) {
|
||||
if (RIGHT == side_manager.get_side() || TOP == side_manager.get_side()) {
|
||||
const RRGSB& adjacent_gsb =
|
||||
device_rr_gsb.get_gsb(module_gsb_cb_coordinate);
|
||||
if (false == adjacent_gsb.is_cb_exist(cb_type)) {
|
||||
|
@ -1175,7 +1175,7 @@ static int build_tile_port_and_nets_from_pb(
|
|||
const TileAnnotation& tile_annotation, const vtr::Point<size_t>& pb_coord,
|
||||
const std::vector<size_t>& pb_instances, const FabricTile& fabric_tile,
|
||||
const FabricTileId& curr_fabric_tile_id, const size_t& ipb,
|
||||
const bool& frame_view, const bool& verbose) {
|
||||
const bool& perimeter_cb, const bool& frame_view, const bool& verbose) {
|
||||
size_t pb_instance = pb_instances[ipb];
|
||||
t_physical_tile_type_ptr phy_tile = grids.get_physical_type(
|
||||
t_physical_tile_loc(pb_coord.x(), pb_coord.y(), layer));
|
||||
|
@ -1201,7 +1201,8 @@ static int build_tile_port_and_nets_from_pb(
|
|||
* Otherwise, we will iterate all the 4 sides
|
||||
*/
|
||||
if (true == is_io_type(phy_tile)) {
|
||||
grid_pin_sides = find_grid_module_pin_sides(phy_tile, grid_side);
|
||||
grid_pin_sides =
|
||||
find_grid_module_pin_sides(phy_tile, grid_side, perimeter_cb);
|
||||
} else {
|
||||
grid_pin_sides = {TOP, RIGHT, BOTTOM, LEFT};
|
||||
}
|
||||
|
@ -1378,7 +1379,7 @@ static int build_tile_module_ports_and_nets(
|
|||
const FabricTileId& fabric_tile_id, const std::vector<size_t>& pb_instances,
|
||||
const std::map<t_rr_type, std::vector<size_t>>& cb_instances,
|
||||
const std::vector<size_t>& sb_instances, const bool& name_module_using_index,
|
||||
const bool& frame_view, const bool& verbose) {
|
||||
const bool& perimeter_cb, const bool& frame_view, const bool& verbose) {
|
||||
int status_code = CMD_EXEC_SUCCESS;
|
||||
|
||||
/* Get the submodule of Switch blocks one by one, build connections between sb
|
||||
|
@ -1441,7 +1442,7 @@ static int build_tile_module_ports_and_nets(
|
|||
status_code = build_tile_port_and_nets_from_pb(
|
||||
module_manager, tile_module, grids, layer, vpr_device_annotation,
|
||||
rr_graph_view, tile_annotation, pb_coord, pb_instances, fabric_tile,
|
||||
fabric_tile_id, ipb, frame_view, verbose);
|
||||
fabric_tile_id, ipb, perimeter_cb, frame_view, verbose);
|
||||
if (status_code != CMD_EXEC_SUCCESS) {
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
}
|
||||
|
@ -1487,8 +1488,8 @@ static int build_tile_module(
|
|||
const TileAnnotation& tile_annotation, const CircuitLibrary& circuit_lib,
|
||||
const CircuitModelId& sram_model,
|
||||
const e_config_protocol_type& sram_orgz_type,
|
||||
const bool& name_module_using_index, const bool& frame_view,
|
||||
const bool& verbose) {
|
||||
const bool& name_module_using_index, const bool& perimeter_cb,
|
||||
const bool& frame_view, const bool& verbose) {
|
||||
int status_code = CMD_EXEC_SUCCESS;
|
||||
|
||||
/* Create the module */
|
||||
|
@ -1635,7 +1636,7 @@ static int build_tile_module(
|
|||
module_manager, tile_module, grids, layer, vpr_device_annotation,
|
||||
device_rr_gsb, rr_graph_view, tile_annotation, fabric_tile, fabric_tile_id,
|
||||
pb_instances, cb_instances, sb_instances, name_module_using_index,
|
||||
frame_view, verbose);
|
||||
perimeter_cb, frame_view, verbose);
|
||||
|
||||
/* Add global ports to the pb_module:
|
||||
* This is a much easier job after adding sub modules (instances),
|
||||
|
@ -1698,18 +1699,16 @@ static int build_tile_module(
|
|||
/********************************************************************
|
||||
* Build all the tile modules
|
||||
*******************************************************************/
|
||||
int build_tile_modules(ModuleManager& module_manager,
|
||||
DecoderLibrary& decoder_lib,
|
||||
const FabricTile& fabric_tile, const DeviceGrid& grids,
|
||||
const VprDeviceAnnotation& vpr_device_annotation,
|
||||
const DeviceRRGSB& device_rr_gsb,
|
||||
const RRGraphView& rr_graph_view,
|
||||
const TileAnnotation& tile_annotation,
|
||||
const CircuitLibrary& circuit_lib,
|
||||
const CircuitModelId& sram_model,
|
||||
const e_config_protocol_type& sram_orgz_type,
|
||||
const bool& name_module_using_index,
|
||||
const bool& frame_view, const bool& verbose) {
|
||||
int build_tile_modules(
|
||||
ModuleManager& module_manager, DecoderLibrary& decoder_lib,
|
||||
const FabricTile& fabric_tile, const DeviceGrid& grids,
|
||||
const VprDeviceAnnotation& vpr_device_annotation,
|
||||
const DeviceRRGSB& device_rr_gsb, const RRGraphView& rr_graph_view,
|
||||
const TileAnnotation& tile_annotation, const CircuitLibrary& circuit_lib,
|
||||
const CircuitModelId& sram_model,
|
||||
const e_config_protocol_type& sram_orgz_type,
|
||||
const bool& name_module_using_index, const bool& perimeter_cb,
|
||||
const bool& frame_view, const bool& verbose) {
|
||||
vtr::ScopedStartFinishTimer timer("Build tile modules for the FPGA fabric");
|
||||
|
||||
int status_code = CMD_EXEC_SUCCESS;
|
||||
|
@ -1722,7 +1721,7 @@ int build_tile_modules(ModuleManager& module_manager,
|
|||
module_manager, decoder_lib, fabric_tile, fabric_tile_id, grids, layer,
|
||||
vpr_device_annotation, device_rr_gsb, rr_graph_view, tile_annotation,
|
||||
circuit_lib, sram_model, sram_orgz_type, name_module_using_index,
|
||||
frame_view, verbose);
|
||||
perimeter_cb, frame_view, verbose);
|
||||
if (status_code != CMD_EXEC_SUCCESS) {
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
}
|
||||
|
|
|
@ -25,18 +25,16 @@
|
|||
/* begin namespace openfpga */
|
||||
namespace openfpga {
|
||||
|
||||
int build_tile_modules(ModuleManager& module_manager,
|
||||
DecoderLibrary& decoder_lib,
|
||||
const FabricTile& fabric_tile, const DeviceGrid& grids,
|
||||
const VprDeviceAnnotation& vpr_device_annotation,
|
||||
const DeviceRRGSB& device_rr_gsb,
|
||||
const RRGraphView& rr_graph_view,
|
||||
const TileAnnotation& tile_annotation,
|
||||
const CircuitLibrary& circuit_lib,
|
||||
const CircuitModelId& sram_model,
|
||||
const e_config_protocol_type& sram_orgz_type,
|
||||
const bool& name_module_using_index,
|
||||
const bool& frame_view, const bool& verbose);
|
||||
int build_tile_modules(
|
||||
ModuleManager& module_manager, DecoderLibrary& decoder_lib,
|
||||
const FabricTile& fabric_tile, const DeviceGrid& grids,
|
||||
const VprDeviceAnnotation& vpr_device_annotation,
|
||||
const DeviceRRGSB& device_rr_gsb, const RRGraphView& rr_graph_view,
|
||||
const TileAnnotation& tile_annotation, const CircuitLibrary& circuit_lib,
|
||||
const CircuitModelId& sram_model,
|
||||
const e_config_protocol_type& sram_orgz_type,
|
||||
const bool& name_module_using_index, const bool& perimeter_cb,
|
||||
const bool& frame_view, const bool& verbose);
|
||||
|
||||
} /* end namespace openfpga */
|
||||
|
||||
|
|
|
@ -58,7 +58,8 @@ int build_top_module(
|
|||
const bool& name_module_using_index, const bool& frame_view,
|
||||
const bool& compact_routing_hierarchy, const bool& duplicate_grid_pin,
|
||||
const FabricKey& fabric_key, const bool& generate_random_fabric_key,
|
||||
const bool& group_config_block, const bool& verbose) {
|
||||
const bool& group_config_block, const bool& perimeter_cb,
|
||||
const bool& verbose) {
|
||||
vtr::ScopedStartFinishTimer timer("Build FPGA fabric module");
|
||||
|
||||
int status = CMD_EXEC_SUCCESS;
|
||||
|
@ -79,7 +80,7 @@ int build_top_module(
|
|||
rr_clock_lookup, vpr_device_annotation, grids, layer, tile_annotation,
|
||||
rr_graph, device_rr_gsb, tile_direct, arch_direct, config_protocol,
|
||||
sram_model, frame_view, compact_routing_hierarchy, duplicate_grid_pin,
|
||||
fabric_key, group_config_block);
|
||||
fabric_key, group_config_block, perimeter_cb, verbose);
|
||||
} else {
|
||||
/* Build the tile instances under the top module */
|
||||
status = build_top_module_tile_child_instances(
|
||||
|
@ -87,7 +88,7 @@ int build_top_module(
|
|||
rr_clock_lookup, vpr_device_annotation, grids, layer, tile_annotation,
|
||||
rr_graph, device_rr_gsb, tile_direct, arch_direct, fabric_tile,
|
||||
config_protocol, sram_model, fabric_key, group_config_block,
|
||||
name_module_using_index, frame_view, verbose);
|
||||
name_module_using_index, perimeter_cb, frame_view, verbose);
|
||||
}
|
||||
|
||||
if (status != CMD_EXEC_SUCCESS) {
|
||||
|
|
|
@ -45,7 +45,8 @@ int build_top_module(
|
|||
const bool& name_module_using_index, const bool& frame_view,
|
||||
const bool& compact_routing_hierarchy, const bool& duplicate_grid_pin,
|
||||
const FabricKey& fabric_key, const bool& generate_random_fabric_key,
|
||||
const bool& group_config_block, const bool& verbose);
|
||||
const bool& group_config_block, const bool& perimeter_cb,
|
||||
const bool& verbose);
|
||||
|
||||
} /* end namespace openfpga */
|
||||
|
||||
|
|
|
@ -244,7 +244,7 @@ static vtr::Matrix<size_t> add_top_module_switch_block_instances(
|
|||
static vtr::Matrix<size_t> add_top_module_connection_block_instances(
|
||||
ModuleManager& module_manager, const ModuleId& top_module,
|
||||
const DeviceRRGSB& device_rr_gsb, const t_rr_type& cb_type,
|
||||
const bool& compact_routing_hierarchy) {
|
||||
const bool& compact_routing_hierarchy, const bool& verbose) {
|
||||
vtr::ScopedStartFinishTimer timer(
|
||||
"Add connection block instances to top module");
|
||||
|
||||
|
@ -261,9 +261,15 @@ static vtr::Matrix<size_t> add_top_module_connection_block_instances(
|
|||
* We will skip those modules
|
||||
*/
|
||||
const RRGSB& rr_gsb = device_rr_gsb.get_gsb(ix, iy);
|
||||
VTR_LOGV(verbose, "Try to add %s connnection block at (%lu, %lu)\n",
|
||||
cb_type == CHANX ? "X-" : "Y-", ix, iy);
|
||||
vtr::Point<size_t> cb_coordinate(rr_gsb.get_cb_x(cb_type),
|
||||
rr_gsb.get_cb_y(cb_type));
|
||||
if (false == rr_gsb.is_cb_exist(cb_type)) {
|
||||
VTR_LOGV(
|
||||
verbose,
|
||||
"Skip %s connnection block at (%lu, %lu) as it does not exist\n",
|
||||
cb_type == CHANX ? "X-" : "Y-", cb_coordinate.x(), cb_coordinate.y());
|
||||
continue;
|
||||
}
|
||||
/* If we use compact routing hierarchy, we should instanciate the unique
|
||||
|
@ -295,6 +301,9 @@ static vtr::Matrix<size_t> add_top_module_connection_block_instances(
|
|||
top_module, cb_module,
|
||||
cb_instance_ids[rr_gsb.get_cb_x(cb_type)][rr_gsb.get_cb_y(cb_type)],
|
||||
cb_instance_name);
|
||||
VTR_LOGV(verbose, "Added %s connnection block '%s' (module '%s')\n",
|
||||
cb_type == CHANX ? "X-" : "Y-", cb_instance_name.c_str(),
|
||||
cb_module_name.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -445,7 +454,8 @@ int build_top_module_fine_grained_child_instances(
|
|||
const ConfigProtocol& config_protocol, const CircuitModelId& sram_model,
|
||||
const bool& frame_view, const bool& compact_routing_hierarchy,
|
||||
const bool& duplicate_grid_pin, const FabricKey& fabric_key,
|
||||
const bool& group_config_block) {
|
||||
const bool& group_config_block, const bool& perimeter_cb,
|
||||
const bool& verbose) {
|
||||
int status = CMD_EXEC_SUCCESS;
|
||||
std::map<t_rr_type, vtr::Matrix<size_t>> cb_instance_ids;
|
||||
|
||||
|
@ -459,11 +469,11 @@ int build_top_module_fine_grained_child_instances(
|
|||
compact_routing_hierarchy);
|
||||
/* Add all the CBX and CBYs across the fabric */
|
||||
cb_instance_ids[CHANX] = add_top_module_connection_block_instances(
|
||||
module_manager, top_module, device_rr_gsb, CHANX,
|
||||
compact_routing_hierarchy);
|
||||
module_manager, top_module, device_rr_gsb, CHANX, compact_routing_hierarchy,
|
||||
verbose);
|
||||
cb_instance_ids[CHANY] = add_top_module_connection_block_instances(
|
||||
module_manager, top_module, device_rr_gsb, CHANY,
|
||||
compact_routing_hierarchy);
|
||||
module_manager, top_module, device_rr_gsb, CHANY, compact_routing_hierarchy,
|
||||
verbose);
|
||||
|
||||
/* Update I/O children list */
|
||||
add_top_module_io_children(module_manager, top_module, grids, layer,
|
||||
|
@ -492,7 +502,7 @@ int build_top_module_fine_grained_child_instances(
|
|||
status = add_top_module_global_ports_from_grid_modules(
|
||||
module_manager, top_module, tile_annotation, vpr_device_annotation, grids,
|
||||
layer, rr_graph, device_rr_gsb, cb_instance_ids, grid_instance_ids,
|
||||
clk_ntwk, rr_clock_lookup);
|
||||
clk_ntwk, rr_clock_lookup, perimeter_cb);
|
||||
if (CMD_EXEC_FATAL_ERROR == status) {
|
||||
return status;
|
||||
}
|
||||
|
|
|
@ -44,7 +44,8 @@ int build_top_module_fine_grained_child_instances(
|
|||
const ConfigProtocol& config_protocol, const CircuitModelId& sram_model,
|
||||
const bool& frame_view, const bool& compact_routing_hierarchy,
|
||||
const bool& duplicate_grid_pin, const FabricKey& fabric_key,
|
||||
const bool& group_config_block);
|
||||
const bool& group_config_block, const bool& perimeter_cb,
|
||||
const bool& verbose);
|
||||
|
||||
} /* end namespace openfpga */
|
||||
|
||||
|
|
|
@ -802,13 +802,13 @@ static int build_top_module_tile_nets_between_sb_and_cb(
|
|||
* is_cb_exist() FOr RIGHT and BOTTOM side, find the adjacent RRGSB and then
|
||||
* use is_cb_exist()
|
||||
*/
|
||||
if (TOP == side_manager.get_side() || LEFT == side_manager.get_side()) {
|
||||
if (BOTTOM == side_manager.get_side() || LEFT == side_manager.get_side()) {
|
||||
if (false == rr_gsb.is_cb_exist(cb_type)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (RIGHT == side_manager.get_side() || BOTTOM == side_manager.get_side()) {
|
||||
if (RIGHT == side_manager.get_side() || TOP == side_manager.get_side()) {
|
||||
const RRGSB& adjacent_gsb =
|
||||
device_rr_gsb.get_gsb(module_gsb_cb_coordinate);
|
||||
if (false == adjacent_gsb.is_cb_exist(cb_type)) {
|
||||
|
@ -1295,7 +1295,7 @@ static int build_top_module_global_net_for_given_tile_module(
|
|||
const VprDeviceAnnotation& vpr_device_annotation, const DeviceGrid& grids,
|
||||
const size_t& layer, const vtr::Point<size_t>& grid_coordinate,
|
||||
const e_side& border_side, const vtr::Matrix<size_t>& tile_instance_ids,
|
||||
const FabricTile& fabric_tile) {
|
||||
const FabricTile& fabric_tile, const bool& perimeter_cb) {
|
||||
/* Get the tile module and instance */
|
||||
FabricTileId curr_fabric_tile_id =
|
||||
fabric_tile.find_tile_by_pb_coordinate(grid_coordinate);
|
||||
|
@ -1392,7 +1392,7 @@ static int build_top_module_global_net_for_given_tile_module(
|
|||
size_t grid_pin_height =
|
||||
physical_tile->pin_height_offset[grid_pin_index];
|
||||
std::vector<e_side> pin_sides = find_physical_tile_pin_side(
|
||||
physical_tile, grid_pin_index, border_side);
|
||||
physical_tile, grid_pin_index, border_side, perimeter_cb);
|
||||
|
||||
BasicPort grid_pin_info =
|
||||
vpr_device_annotation.physical_tile_pin_port_info(physical_tile,
|
||||
|
@ -1452,7 +1452,7 @@ static int build_top_module_global_net_from_tile_modules(
|
|||
const TileGlobalPortId& tile_global_port,
|
||||
const VprDeviceAnnotation& vpr_device_annotation, const DeviceGrid& grids,
|
||||
const size_t& layer, const vtr::Matrix<size_t>& tile_instance_ids,
|
||||
const FabricTile& fabric_tile) {
|
||||
const FabricTile& fabric_tile, const bool& perimeter_cb) {
|
||||
int status = CMD_EXEC_SUCCESS;
|
||||
|
||||
std::map<e_side, std::vector<vtr::Point<size_t>>> io_coordinates =
|
||||
|
@ -1530,8 +1530,8 @@ static int build_top_module_global_net_from_tile_modules(
|
|||
status = build_top_module_global_net_for_given_tile_module(
|
||||
module_manager, top_module, top_module_port, tile_annotation,
|
||||
tile_global_port, tile_port, vpr_device_annotation, grids, layer,
|
||||
vtr::Point<size_t>(ix, iy), NUM_SIDES, tile_instance_ids,
|
||||
fabric_tile);
|
||||
vtr::Point<size_t>(ix, iy), NUM_SIDES, tile_instance_ids, fabric_tile,
|
||||
perimeter_cb);
|
||||
if (CMD_EXEC_FATAL_ERROR == status) {
|
||||
return status;
|
||||
}
|
||||
|
@ -1578,7 +1578,7 @@ static int build_top_module_global_net_from_tile_modules(
|
|||
status = build_top_module_global_net_for_given_tile_module(
|
||||
module_manager, top_module, top_module_port, tile_annotation,
|
||||
tile_global_port, tile_port, vpr_device_annotation, grids, layer,
|
||||
io_coordinate, io_side, tile_instance_ids, fabric_tile);
|
||||
io_coordinate, io_side, tile_instance_ids, fabric_tile, perimeter_cb);
|
||||
if (CMD_EXEC_FATAL_ERROR == status) {
|
||||
return status;
|
||||
}
|
||||
|
@ -1600,7 +1600,8 @@ static int add_top_module_global_ports_from_tile_modules(
|
|||
const size_t& layer, const RRGraphView& rr_graph,
|
||||
const DeviceRRGSB& device_rr_gsb,
|
||||
const vtr::Matrix<size_t>& tile_instance_ids, const FabricTile& fabric_tile,
|
||||
const ClockNetwork& clk_ntwk, const RRClockSpatialLookup& rr_clock_lookup) {
|
||||
const ClockNetwork& clk_ntwk, const RRClockSpatialLookup& rr_clock_lookup,
|
||||
const bool& perimeter_cb) {
|
||||
int status = CMD_EXEC_SUCCESS;
|
||||
|
||||
/* Add the global ports which are NOT yet added to the top-level module
|
||||
|
@ -1657,7 +1658,7 @@ static int add_top_module_global_ports_from_tile_modules(
|
|||
status = build_top_module_global_net_from_tile_modules(
|
||||
module_manager, top_module, top_module_port, tile_annotation,
|
||||
tile_global_port, vpr_device_annotation, grids, layer,
|
||||
tile_instance_ids, fabric_tile);
|
||||
tile_instance_ids, fabric_tile, perimeter_cb);
|
||||
}
|
||||
if (status == CMD_EXEC_FATAL_ERROR) {
|
||||
return status;
|
||||
|
@ -1905,7 +1906,7 @@ int build_top_module_tile_child_instances(
|
|||
const FabricTile& fabric_tile, const ConfigProtocol& config_protocol,
|
||||
const CircuitModelId& sram_model, const FabricKey& fabric_key,
|
||||
const bool& group_config_block, const bool& name_module_using_index,
|
||||
const bool& frame_view, const bool& verbose) {
|
||||
const bool& perimeter_cb, const bool& frame_view, const bool& verbose) {
|
||||
int status = CMD_EXEC_SUCCESS;
|
||||
vtr::Matrix<size_t> tile_instance_ids;
|
||||
status = add_top_module_tile_instances(module_manager, top_module,
|
||||
|
@ -1942,7 +1943,7 @@ int build_top_module_tile_child_instances(
|
|||
status = add_top_module_global_ports_from_tile_modules(
|
||||
module_manager, top_module, tile_annotation, vpr_device_annotation, grids,
|
||||
layer, rr_graph, device_rr_gsb, tile_instance_ids, fabric_tile, clk_ntwk,
|
||||
rr_clock_lookup);
|
||||
rr_clock_lookup, perimeter_cb);
|
||||
if (CMD_EXEC_FATAL_ERROR == status) {
|
||||
return status;
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ int build_top_module_tile_child_instances(
|
|||
const FabricTile& fabric_tile, const ConfigProtocol& config_protocol,
|
||||
const CircuitModelId& sram_model, const FabricKey& fabric_key,
|
||||
const bool& group_config_block, const bool& name_module_using_index,
|
||||
const bool& frame_view, const bool& verbose);
|
||||
const bool& perimeter_cb, const bool& frame_view, const bool& verbose);
|
||||
|
||||
} /* end namespace openfpga */
|
||||
|
||||
|
|
|
@ -753,13 +753,24 @@ static void add_top_module_nets_connect_sb_and_cb(
|
|||
* is_cb_exist() FOr RIGHT and BOTTOM side, find the adjacent RRGSB and then
|
||||
* use is_cb_exist()
|
||||
*/
|
||||
if (TOP == side_manager.get_side() || LEFT == side_manager.get_side()) {
|
||||
if (BOTTOM == side_manager.get_side() || LEFT == side_manager.get_side()) {
|
||||
if (false == rr_gsb.is_cb_exist(cb_type)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (RIGHT == side_manager.get_side() || BOTTOM == side_manager.get_side()) {
|
||||
if (RIGHT == side_manager.get_side() || TOP == side_manager.get_side()) {
|
||||
/* Only for the condition where cbs are on perimeter, the neighbour cb
|
||||
* will be invalid Bypass in such case on finding neighbour cbs
|
||||
*/
|
||||
if (TOP == side_manager.get_side() &&
|
||||
instance_sb_coordinate.y() == device_rr_gsb.get_gsb_range().y()) {
|
||||
continue;
|
||||
}
|
||||
if (RIGHT == side_manager.get_side() &&
|
||||
instance_sb_coordinate.x() == device_rr_gsb.get_gsb_range().x()) {
|
||||
continue;
|
||||
}
|
||||
const RRGSB& adjacent_gsb =
|
||||
device_rr_gsb.get_gsb(module_gsb_cb_coordinate);
|
||||
if (false == adjacent_gsb.is_cb_exist(cb_type)) {
|
||||
|
@ -945,7 +956,8 @@ static int build_top_module_global_net_for_given_grid_module(
|
|||
const BasicPort& tile_port_to_connect,
|
||||
const VprDeviceAnnotation& vpr_device_annotation, const DeviceGrid& grids,
|
||||
const size_t& layer, const vtr::Point<size_t>& grid_coordinate,
|
||||
const e_side& border_side, const vtr::Matrix<size_t>& grid_instance_ids) {
|
||||
const e_side& border_side, const vtr::Matrix<size_t>& grid_instance_ids,
|
||||
const bool& perimeter_cb) {
|
||||
t_physical_tile_type_ptr physical_tile = grids.get_physical_type(
|
||||
t_physical_tile_loc(grid_coordinate.x(), grid_coordinate.y(), layer));
|
||||
/* Find the module name for this type of grid */
|
||||
|
@ -963,6 +975,7 @@ static int build_top_module_global_net_for_given_grid_module(
|
|||
/* Walk through each instance considering the unique sub tile and capacity
|
||||
* range, each instance may have an independent pin to be driven by a global
|
||||
* net! */
|
||||
int curr_sub_tile_start_pin_index = 0;
|
||||
for (const t_sub_tile& sub_tile : physical_tile->sub_tiles) {
|
||||
VTR_ASSERT(1 == sub_tile.equivalent_sites.size());
|
||||
int grid_pin_start_index = physical_tile->num_pins;
|
||||
|
@ -983,16 +996,15 @@ static int build_top_module_global_net_for_given_grid_module(
|
|||
/* Port size must match!!! */
|
||||
if (false == ref_tile_port.contained(tile_port_to_connect)) {
|
||||
VTR_LOG_ERROR(
|
||||
"Tile annotation '%s' port '%s[%lu:%lu]' is out of the range of "
|
||||
"physical tile port '%s[%lu:%lu]'!",
|
||||
"Tile annotation '%s' port '%s' is out of the range of "
|
||||
"physical tile port '%s'!\n",
|
||||
tile_annotation.global_port_name(tile_global_port).c_str(),
|
||||
tile_port_to_connect.get_name().c_str(),
|
||||
tile_port_to_connect.get_lsb(), tile_port_to_connect.get_msb(),
|
||||
ref_tile_port.get_name().c_str(), ref_tile_port.get_lsb(),
|
||||
ref_tile_port.get_msb());
|
||||
tile_port_to_connect.to_verilog_string().c_str(),
|
||||
ref_tile_port.to_verilog_string().c_str());
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
}
|
||||
grid_pin_start_index =
|
||||
curr_sub_tile_start_pin_index +
|
||||
(subtile_index - sub_tile.capacity.low) * sub_tile_num_pins +
|
||||
tile_port.absolute_first_pin_index;
|
||||
physical_tile_port = tile_port;
|
||||
|
@ -1022,7 +1034,7 @@ static int build_top_module_global_net_for_given_grid_module(
|
|||
size_t grid_pin_height =
|
||||
physical_tile->pin_height_offset[grid_pin_index];
|
||||
std::vector<e_side> pin_sides = find_physical_tile_pin_side(
|
||||
physical_tile, grid_pin_index, border_side);
|
||||
physical_tile, grid_pin_index, border_side, perimeter_cb);
|
||||
|
||||
BasicPort grid_pin_info =
|
||||
vpr_device_annotation.physical_tile_pin_port_info(physical_tile,
|
||||
|
@ -1067,6 +1079,9 @@ static int build_top_module_global_net_for_given_grid_module(
|
|||
}
|
||||
}
|
||||
}
|
||||
/* Note that the start pin index for a new type of tile should be calculated
|
||||
* by the accumulated number of pins of previous sub tiles */
|
||||
curr_sub_tile_start_pin_index += sub_tile.num_phy_pins;
|
||||
}
|
||||
|
||||
return CMD_EXEC_SUCCESS;
|
||||
|
@ -1080,7 +1095,8 @@ static int build_top_module_global_net_from_grid_modules(
|
|||
const ModulePortId& top_module_port, const TileAnnotation& tile_annotation,
|
||||
const TileGlobalPortId& tile_global_port,
|
||||
const VprDeviceAnnotation& vpr_device_annotation, const DeviceGrid& grids,
|
||||
const size_t& layer, const vtr::Matrix<size_t>& grid_instance_ids) {
|
||||
const size_t& layer, const vtr::Matrix<size_t>& grid_instance_ids,
|
||||
const bool& perimeter_cb) {
|
||||
int status = CMD_EXEC_SUCCESS;
|
||||
|
||||
std::map<e_side, std::vector<vtr::Point<size_t>>> io_coordinates =
|
||||
|
@ -1127,7 +1143,7 @@ static int build_top_module_global_net_from_grid_modules(
|
|||
if (true == out_of_range) {
|
||||
VTR_LOG_ERROR(
|
||||
"Coordinate (%lu, %lu) in tile annotation for tile '%s' is out of "
|
||||
"range (%lu:%lu, %lu:%lu)!",
|
||||
"range (%lu:%lu, %lu:%lu)!\n",
|
||||
range.x(), range.y(), tile_name.c_str(), start_coord.x(), end_coord.x(),
|
||||
start_coord.y(), end_coord.y());
|
||||
return CMD_EXEC_FATAL_ERROR;
|
||||
|
@ -1158,7 +1174,8 @@ static int build_top_module_global_net_from_grid_modules(
|
|||
status = build_top_module_global_net_for_given_grid_module(
|
||||
module_manager, top_module, top_module_port, tile_annotation,
|
||||
tile_global_port, tile_port, vpr_device_annotation, grids, layer,
|
||||
vtr::Point<size_t>(ix, iy), NUM_SIDES, grid_instance_ids);
|
||||
vtr::Point<size_t>(ix, iy), NUM_SIDES, grid_instance_ids,
|
||||
perimeter_cb);
|
||||
if (CMD_EXEC_FATAL_ERROR == status) {
|
||||
return status;
|
||||
}
|
||||
|
@ -1205,7 +1222,7 @@ static int build_top_module_global_net_from_grid_modules(
|
|||
status = build_top_module_global_net_for_given_grid_module(
|
||||
module_manager, top_module, top_module_port, tile_annotation,
|
||||
tile_global_port, tile_port, vpr_device_annotation, grids, layer,
|
||||
io_coordinate, io_side, grid_instance_ids);
|
||||
io_coordinate, io_side, grid_instance_ids, perimeter_cb);
|
||||
if (CMD_EXEC_FATAL_ERROR == status) {
|
||||
return status;
|
||||
}
|
||||
|
@ -1306,7 +1323,7 @@ int add_top_module_global_ports_from_grid_modules(
|
|||
const DeviceRRGSB& device_rr_gsb,
|
||||
const std::map<t_rr_type, vtr::Matrix<size_t>>& cb_instance_ids,
|
||||
const vtr::Matrix<size_t>& grid_instance_ids, const ClockNetwork& clk_ntwk,
|
||||
const RRClockSpatialLookup& rr_clock_lookup) {
|
||||
const RRClockSpatialLookup& rr_clock_lookup, const bool& perimeter_cb) {
|
||||
int status = CMD_EXEC_SUCCESS;
|
||||
|
||||
/* Add the global ports which are NOT yet added to the top-level module
|
||||
|
@ -1371,7 +1388,7 @@ int add_top_module_global_ports_from_grid_modules(
|
|||
status = build_top_module_global_net_from_grid_modules(
|
||||
module_manager, top_module, top_module_port, tile_annotation,
|
||||
tile_global_port, vpr_device_annotation, grids, layer,
|
||||
grid_instance_ids);
|
||||
grid_instance_ids, perimeter_cb);
|
||||
}
|
||||
if (status == CMD_EXEC_FATAL_ERROR) {
|
||||
return status;
|
||||
|
|
|
@ -42,7 +42,7 @@ int add_top_module_global_ports_from_grid_modules(
|
|||
const DeviceRRGSB& device_rr_gsb,
|
||||
const std::map<t_rr_type, vtr::Matrix<size_t>>& cb_instance_ids,
|
||||
const vtr::Matrix<size_t>& grid_instance_ids, const ClockNetwork& clk_ntwk,
|
||||
const RRClockSpatialLookup& rr_clock_lookup);
|
||||
const RRClockSpatialLookup& rr_clock_lookup, const bool& perimeter_cb);
|
||||
|
||||
void add_top_module_nets_prog_clock(ModuleManager& module_manager,
|
||||
const ModuleId& top_module,
|
||||
|
|
|
@ -141,7 +141,7 @@ static void organize_top_module_tile_memory_modules(
|
|||
const vtr::Point<size_t>& tile_coord, const e_side& tile_border_side) {
|
||||
vtr::Point<size_t> gsb_coord_range = device_rr_gsb.get_gsb_range();
|
||||
|
||||
vtr::Point<size_t> gsb_coord(tile_coord.x(), tile_coord.y() - 1);
|
||||
vtr::Point<size_t> gsb_coord(tile_coord.x(), tile_coord.y());
|
||||
|
||||
/* We do NOT consider SB and CBs if the gsb is not in the range! */
|
||||
if ((gsb_coord.x() < gsb_coord_range.x()) &&
|
||||
|
@ -370,12 +370,13 @@ void build_top_module_configurable_regions(
|
|||
* Note: the organization of inter-tile aims to reduce the wire length
|
||||
* to connect between tiles. Therefore, it is organized as a snake
|
||||
* where we can avoid long wires between rows and columns
|
||||
* Note: Corner I/Os only occur when perimeter cb is allowed
|
||||
*
|
||||
* +--------------------------------------------------------+
|
||||
* | +------+------+-----+------+ |
|
||||
* | | I/O | I/O | ... | I/O | |
|
||||
* | | TOP | TOP | | TOP | |
|
||||
* | +------+------+-----+------+ |
|
||||
* | +------+ +------+------+-----+------+ +------+ |
|
||||
* | | I/O | | I/O | I/O | ... | I/O | | I/O | |
|
||||
* | | LEFT | | TOP | TOP | | TOP | | TOP | |
|
||||
* | +------+ +------+------+-----+------+ +------+ |
|
||||
* | +---------------------------------->tail |
|
||||
* | +------+ | +------+------+-----+------+ +------+ |
|
||||
* | | | | | | | | | | | |
|
||||
|
@ -397,10 +398,10 @@ void build_top_module_configurable_regions(
|
|||
* | | LEFT | | [0] | [1] | | [i] | | |RIGHT | |
|
||||
* | +------+ +------+------+-----+------+ | +------+ |
|
||||
* +-------------------------------------------+ |
|
||||
* +------+------+-----+------+ |
|
||||
* | I/O | I/O | ... | I/O | |
|
||||
* |BOTTOM|BOTTOM| |BOTTOM| |
|
||||
* +------+------+-----+------+ |
|
||||
* +------+ +------+------+-----+------+ +------+ |
|
||||
* | I/O | | I/O | I/O | ... | I/O | | I/O | |
|
||||
* |BOTTOM| |BOTTOM|BOTTOM| |BOTTOM| |RIGHT | |
|
||||
* +------+ +------+------+-----+------+ +------+ |
|
||||
* head >-----------------------------------------------+
|
||||
*
|
||||
* Inner tile connection:
|
||||
|
@ -458,12 +459,12 @@ void organize_top_module_memory_modules(
|
|||
std::map<e_side, std::vector<vtr::Point<size_t>>> io_coords;
|
||||
|
||||
/* BOTTOM side I/Os */
|
||||
for (size_t ix = 1; ix < grids.width() - 1; ++ix) {
|
||||
for (size_t ix = 0; ix < grids.width() - 1; ++ix) {
|
||||
io_coords[BOTTOM].push_back(vtr::Point<size_t>(ix, 0));
|
||||
}
|
||||
|
||||
/* RIGHT side I/Os */
|
||||
for (size_t iy = 1; iy < grids.height() - 1; ++iy) {
|
||||
for (size_t iy = 0; iy < grids.height() - 1; ++iy) {
|
||||
io_coords[RIGHT].push_back(vtr::Point<size_t>(grids.width() - 1, iy));
|
||||
}
|
||||
|
||||
|
@ -483,13 +484,12 @@ void organize_top_module_memory_modules(
|
|||
* +--------+ +--------+
|
||||
*
|
||||
*/
|
||||
for (size_t ix = grids.width() - 2; ix >= 1; --ix) {
|
||||
for (size_t ix = grids.width() - 1; ix >= 1; --ix) {
|
||||
io_coords[TOP].push_back(vtr::Point<size_t>(ix, grids.height() - 1));
|
||||
}
|
||||
io_coords[TOP].push_back(vtr::Point<size_t>(0, grids.height() - 1));
|
||||
|
||||
/* LEFT side I/Os */
|
||||
for (size_t iy = grids.height() - 2; iy >= 1; --iy) {
|
||||
for (size_t iy = grids.height() - 1; iy >= 1; --iy) {
|
||||
io_coords[LEFT].push_back(vtr::Point<size_t>(0, iy));
|
||||
}
|
||||
|
||||
|
|
|
@ -100,13 +100,13 @@ vtr::Point<size_t> find_top_module_gsb_coordinate_by_sb_side(
|
|||
|
||||
vtr::Point<size_t> gsb_coordinate;
|
||||
|
||||
if ((TOP == sb_side) || (LEFT == sb_side)) {
|
||||
if ((BOTTOM == sb_side) || (LEFT == sb_side)) {
|
||||
gsb_coordinate.set_x(rr_gsb.get_x());
|
||||
gsb_coordinate.set_y(rr_gsb.get_y());
|
||||
return gsb_coordinate;
|
||||
}
|
||||
|
||||
VTR_ASSERT((RIGHT == sb_side) || (BOTTOM == sb_side));
|
||||
VTR_ASSERT((RIGHT == sb_side) || (TOP == sb_side));
|
||||
|
||||
/* RIGHT side: x + 1 */
|
||||
if (RIGHT == sb_side) {
|
||||
|
@ -115,9 +115,9 @@ vtr::Point<size_t> find_top_module_gsb_coordinate_by_sb_side(
|
|||
}
|
||||
|
||||
/* BOTTOM side: y - 1 */
|
||||
if (BOTTOM == sb_side) {
|
||||
if (TOP == sb_side) {
|
||||
gsb_coordinate.set_x(rr_gsb.get_x());
|
||||
gsb_coordinate.set_y(rr_gsb.get_y() - 1);
|
||||
gsb_coordinate.set_y(rr_gsb.get_y() + 1);
|
||||
}
|
||||
|
||||
return gsb_coordinate;
|
||||
|
|
|
@ -21,6 +21,7 @@ FabricVerilogOption::FabricVerilogOption() {
|
|||
default_net_type_ = VERILOG_DEFAULT_NET_TYPE_NONE;
|
||||
time_stamp_ = true;
|
||||
use_relative_path_ = false;
|
||||
constant_undriven_inputs_ = false;
|
||||
verbose_output_ = false;
|
||||
}
|
||||
|
||||
|
@ -53,6 +54,10 @@ e_verilog_default_net_type FabricVerilogOption::default_net_type() const {
|
|||
return default_net_type_;
|
||||
}
|
||||
|
||||
bool FabricVerilogOption::constant_undriven_inputs() const {
|
||||
return constant_undriven_inputs_;
|
||||
}
|
||||
|
||||
bool FabricVerilogOption::verbose_output() const { return verbose_output_; }
|
||||
|
||||
/******************************************************************************
|
||||
|
@ -106,6 +111,10 @@ void FabricVerilogOption::set_default_net_type(
|
|||
}
|
||||
}
|
||||
|
||||
void FabricVerilogOption::set_constant_undriven_inputs(const bool& enabled) {
|
||||
constant_undriven_inputs_ = enabled;
|
||||
}
|
||||
|
||||
void FabricVerilogOption::set_verbose_output(const bool& enabled) {
|
||||
verbose_output_ = enabled;
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ class FabricVerilogOption {
|
|||
bool compress_routing() const;
|
||||
e_verilog_default_net_type default_net_type() const;
|
||||
bool print_user_defined_template() const;
|
||||
bool constant_undriven_inputs() const;
|
||||
bool verbose_output() const;
|
||||
|
||||
public: /* Public mutators */
|
||||
|
@ -39,6 +40,7 @@ class FabricVerilogOption {
|
|||
void set_compress_routing(const bool& enabled);
|
||||
void set_print_user_defined_template(const bool& enabled);
|
||||
void set_default_net_type(const std::string& default_net_type);
|
||||
void set_constant_undriven_inputs(const bool& enabled);
|
||||
void set_verbose_output(const bool& enabled);
|
||||
|
||||
private: /* Internal Data */
|
||||
|
@ -50,6 +52,7 @@ class FabricVerilogOption {
|
|||
e_verilog_default_net_type default_net_type_;
|
||||
bool time_stamp_;
|
||||
bool use_relative_path_;
|
||||
bool constant_undriven_inputs_;
|
||||
bool verbose_output_;
|
||||
};
|
||||
|
||||
|
|
|
@ -114,6 +114,7 @@ static void print_verilog_primitive_block(
|
|||
|
||||
/* Write the verilog module */
|
||||
write_verilog_module_to_file(fp, module_manager, primitive_module, true,
|
||||
options.constant_undriven_inputs(),
|
||||
options.default_net_type());
|
||||
|
||||
/* Close file handler */
|
||||
|
@ -232,9 +233,9 @@ static void rec_print_verilog_logical_tile(
|
|||
std::string(physical_pb_type->name) + " -----"));
|
||||
|
||||
/* Write the verilog module */
|
||||
write_verilog_module_to_file(fp, module_manager, pb_module,
|
||||
options.explicit_port_mapping(),
|
||||
options.default_net_type());
|
||||
write_verilog_module_to_file(
|
||||
fp, module_manager, pb_module, options.explicit_port_mapping(),
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
print_verilog_comment(
|
||||
fp,
|
||||
|
@ -346,9 +347,9 @@ static void print_verilog_physical_tile_netlist(
|
|||
print_verilog_comment(
|
||||
fp, std::string("----- BEGIN Grid Verilog module: " +
|
||||
module_manager.module_name(grid_module) + " -----"));
|
||||
write_verilog_module_to_file(fp, module_manager, grid_module,
|
||||
options.explicit_port_mapping(),
|
||||
options.default_net_type());
|
||||
write_verilog_module_to_file(
|
||||
fp, module_manager, grid_module, options.explicit_port_mapping(),
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
print_verilog_comment(
|
||||
fp, std::string("----- END Grid Verilog module: " +
|
||||
|
|
|
@ -63,7 +63,7 @@ void print_verilog_submodule_luts(const ModuleManager& module_manager,
|
|||
fp, module_manager, lut_module,
|
||||
options.explicit_port_mapping() ||
|
||||
circuit_lib.dump_explicit_port_map(lut_model),
|
||||
options.default_net_type());
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
}
|
||||
|
||||
/* Close the file handler */
|
||||
|
|
|
@ -61,7 +61,7 @@ static void print_verilog_mux_memory_module(
|
|||
fp, module_manager, mem_module,
|
||||
options.explicit_port_mapping() ||
|
||||
circuit_lib.dump_explicit_port_map(mux_model),
|
||||
options.default_net_type());
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
/* Add an empty line as a splitter */
|
||||
fp << std::endl;
|
||||
|
@ -84,7 +84,7 @@ static void print_verilog_mux_memory_module(
|
|||
fp, module_manager, feedthru_mem_module,
|
||||
options.explicit_port_mapping() ||
|
||||
circuit_lib.dump_explicit_port_map(mux_model),
|
||||
options.default_net_type());
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
/* Add an empty line as a splitter */
|
||||
fp << std::endl;
|
||||
|
@ -208,6 +208,7 @@ void print_verilog_submodule_memories(
|
|||
write_verilog_module_to_file(fp, module_manager, mem_module,
|
||||
options.explicit_port_mapping() ||
|
||||
circuit_lib.dump_explicit_port_map(model),
|
||||
options.constant_undriven_inputs(),
|
||||
options.default_net_type());
|
||||
|
||||
/* Add an empty line as a splitter */
|
||||
|
@ -228,6 +229,7 @@ void print_verilog_submodule_memories(
|
|||
write_verilog_module_to_file(fp, module_manager, feedthru_mem_module,
|
||||
options.explicit_port_mapping() ||
|
||||
circuit_lib.dump_explicit_port_map(model),
|
||||
options.constant_undriven_inputs(),
|
||||
options.default_net_type());
|
||||
|
||||
/* Add an empty line as a splitter */
|
||||
|
@ -239,9 +241,9 @@ void print_verilog_submodule_memories(
|
|||
for (ModuleId mem_group_module : module_manager.modules_by_usage(
|
||||
ModuleManager::e_module_usage_type::MODULE_CONFIG_GROUP)) {
|
||||
/* Write the module content in Verilog format */
|
||||
write_verilog_module_to_file(fp, module_manager, mem_group_module,
|
||||
options.explicit_port_mapping(),
|
||||
options.default_net_type());
|
||||
write_verilog_module_to_file(
|
||||
fp, module_manager, mem_group_module, options.explicit_port_mapping(),
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
/* Add an empty line as a splitter */
|
||||
fp << std::endl;
|
||||
|
|
|
@ -139,6 +139,66 @@ static BasicPort generate_verilog_port_for_module_net(
|
|||
return port_to_return;
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
* Find all the undriven nets that are going to be local wires
|
||||
* And organize it in a vector of ports
|
||||
* Verilog wire writter function will use the output of this function
|
||||
* to write up local wire declaration in Verilog format
|
||||
*******************************************************************/
|
||||
static void find_verilog_module_local_undriven_wires(
|
||||
std::map<std::string, std::vector<BasicPort>>& local_wires,
|
||||
const ModuleManager& module_manager, const ModuleId& module_id,
|
||||
const std::vector<ModuleManager::e_module_port_type>& port_type_blacklist) {
|
||||
/* Local wires could also happen for undriven ports of child module */
|
||||
for (const ModuleId& child : module_manager.child_modules(module_id)) {
|
||||
for (size_t instance :
|
||||
module_manager.child_module_instances(module_id, child)) {
|
||||
for (const ModulePortId& child_port_id :
|
||||
module_manager.module_ports(child)) {
|
||||
BasicPort child_port = module_manager.module_port(child, child_port_id);
|
||||
ModuleManager::e_module_port_type child_port_type =
|
||||
module_manager.port_type(child, child_port_id);
|
||||
bool filter_out = false;
|
||||
for (ModuleManager::e_module_port_type curr_port_type :
|
||||
port_type_blacklist) {
|
||||
if (child_port_type == curr_port_type) {
|
||||
filter_out = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (filter_out) {
|
||||
continue;
|
||||
}
|
||||
std::vector<size_t> undriven_pins;
|
||||
for (size_t child_pin : child_port.pins()) {
|
||||
/* Find the net linked to the pin */
|
||||
ModuleNetId net = module_manager.module_instance_port_net(
|
||||
module_id, child, instance, child_port_id, child_pin);
|
||||
/* We only care undriven ports */
|
||||
if (ModuleNetId::INVALID() == net) {
|
||||
undriven_pins.push_back(child_pin);
|
||||
}
|
||||
}
|
||||
if (true == undriven_pins.empty()) {
|
||||
continue;
|
||||
}
|
||||
/* Reach here, we need a local wire, we will create a port only for the
|
||||
* undriven pins of the port! */
|
||||
BasicPort instance_port;
|
||||
instance_port.set_name(generate_verilog_undriven_local_wire_name(
|
||||
module_manager, module_id, child, instance, child_port_id));
|
||||
/* We give the same port name as child module, this case happens to
|
||||
* global ports */
|
||||
instance_port.set_width(
|
||||
*std::min_element(undriven_pins.begin(), undriven_pins.end()),
|
||||
*std::max_element(undriven_pins.begin(), undriven_pins.end()));
|
||||
|
||||
local_wires[instance_port.get_name()].push_back(instance_port);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
* Find all the nets that are going to be local wires
|
||||
* And organize it in a vector of ports
|
||||
|
@ -206,41 +266,9 @@ find_verilog_module_local_wires(const ModuleManager& module_manager,
|
|||
}
|
||||
}
|
||||
|
||||
/* Local wires could also happen for undriven ports of child module */
|
||||
for (const ModuleId& child : module_manager.child_modules(module_id)) {
|
||||
for (size_t instance :
|
||||
module_manager.child_module_instances(module_id, child)) {
|
||||
for (const ModulePortId& child_port_id :
|
||||
module_manager.module_ports(child)) {
|
||||
BasicPort child_port = module_manager.module_port(child, child_port_id);
|
||||
std::vector<size_t> undriven_pins;
|
||||
for (size_t child_pin : child_port.pins()) {
|
||||
/* Find the net linked to the pin */
|
||||
ModuleNetId net = module_manager.module_instance_port_net(
|
||||
module_id, child, instance, child_port_id, child_pin);
|
||||
/* We only care undriven ports */
|
||||
if (ModuleNetId::INVALID() == net) {
|
||||
undriven_pins.push_back(child_pin);
|
||||
}
|
||||
}
|
||||
if (true == undriven_pins.empty()) {
|
||||
continue;
|
||||
}
|
||||
/* Reach here, we need a local wire, we will create a port only for the
|
||||
* undriven pins of the port! */
|
||||
BasicPort instance_port;
|
||||
instance_port.set_name(generate_verilog_undriven_local_wire_name(
|
||||
module_manager, module_id, child, instance, child_port_id));
|
||||
/* We give the same port name as child module, this case happens to
|
||||
* global ports */
|
||||
instance_port.set_width(
|
||||
*std::min_element(undriven_pins.begin(), undriven_pins.end()),
|
||||
*std::max_element(undriven_pins.begin(), undriven_pins.end()));
|
||||
|
||||
local_wires[instance_port.get_name()].push_back(instance_port);
|
||||
}
|
||||
}
|
||||
}
|
||||
find_verilog_module_local_undriven_wires(
|
||||
local_wires, module_manager, module_id,
|
||||
std::vector<ModuleManager::e_module_port_type>());
|
||||
|
||||
return local_wires;
|
||||
}
|
||||
|
@ -545,6 +573,7 @@ static void write_verilog_instance_to_file(std::fstream& fp,
|
|||
void write_verilog_module_to_file(
|
||||
std::fstream& fp, const ModuleManager& module_manager,
|
||||
const ModuleId& module_id, const bool& use_explicit_port_map,
|
||||
const bool& constant_local_undriven_wires,
|
||||
const e_verilog_default_net_type& default_net_type) {
|
||||
VTR_ASSERT(true == valid_file_stream(fp));
|
||||
|
||||
|
@ -575,6 +604,29 @@ void write_verilog_module_to_file(
|
|||
}
|
||||
}
|
||||
|
||||
/* Use constant to drive undriven local wires */
|
||||
if (constant_local_undriven_wires) {
|
||||
std::vector<ModuleManager::e_module_port_type> blacklist = {
|
||||
ModuleManager::e_module_port_type::MODULE_GLOBAL_PORT,
|
||||
ModuleManager::e_module_port_type::MODULE_GPIN_PORT,
|
||||
ModuleManager::e_module_port_type::MODULE_GPOUT_PORT,
|
||||
ModuleManager::e_module_port_type::MODULE_GPIO_PORT,
|
||||
ModuleManager::e_module_port_type::MODULE_INOUT_PORT,
|
||||
ModuleManager::e_module_port_type::MODULE_OUTPUT_PORT,
|
||||
ModuleManager::e_module_port_type::MODULE_CLOCK_PORT};
|
||||
std::map<std::string, std::vector<BasicPort>> local_undriven_wires;
|
||||
find_verilog_module_local_undriven_wires(
|
||||
local_undriven_wires, module_manager, module_id, blacklist);
|
||||
for (std::pair<std::string, std::vector<BasicPort>> port_group :
|
||||
local_undriven_wires) {
|
||||
for (const BasicPort& local_undriven_wire : port_group.second) {
|
||||
print_verilog_wire_constant_values(
|
||||
fp, local_undriven_wire,
|
||||
std::vector<size_t>(local_undriven_wire.get_width(), 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Print an empty line as splitter */
|
||||
fp << std::endl;
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ namespace openfpga {
|
|||
void write_verilog_module_to_file(
|
||||
std::fstream& fp, const ModuleManager& module_manager,
|
||||
const ModuleId& module_id, const bool& use_explicit_port_map,
|
||||
const bool& constant_local_undriven_wires,
|
||||
const e_verilog_default_net_type& default_net_type);
|
||||
|
||||
} /* end namespace openfpga */
|
||||
|
|
|
@ -679,7 +679,7 @@ static void generate_verilog_mux_branch_module(
|
|||
fp, module_manager, mux_module,
|
||||
use_explicit_port_map ||
|
||||
circuit_lib.dump_explicit_port_map(mux_model),
|
||||
default_net_type);
|
||||
false, default_net_type);
|
||||
/* Add an empty line as a splitter */
|
||||
fp << std::endl;
|
||||
} else {
|
||||
|
@ -1423,7 +1423,7 @@ static void generate_verilog_mux_module(
|
|||
circuit_lib.dump_explicit_port_map(mux_model) ||
|
||||
circuit_lib.dump_explicit_port_map(
|
||||
circuit_lib.pass_gate_logic_model(mux_model))),
|
||||
default_net_type);
|
||||
false, default_net_type);
|
||||
/* Add an empty line as a splitter */
|
||||
fp << std::endl;
|
||||
break;
|
||||
|
|
|
@ -115,9 +115,9 @@ static void print_verilog_routing_connection_box_unique_module(
|
|||
VTR_ASSERT(true == module_manager.valid_module_id(cb_module));
|
||||
|
||||
/* Write the verilog module */
|
||||
write_verilog_module_to_file(fp, module_manager, cb_module,
|
||||
options.explicit_port_mapping(),
|
||||
options.default_net_type());
|
||||
write_verilog_module_to_file(
|
||||
fp, module_manager, cb_module, options.explicit_port_mapping(),
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
/* Add an empty line as a splitter */
|
||||
fp << std::endl;
|
||||
|
@ -236,9 +236,9 @@ static void print_verilog_routing_switch_box_unique_module(
|
|||
VTR_ASSERT(true == module_manager.valid_module_id(sb_module));
|
||||
|
||||
/* Write the verilog module */
|
||||
write_verilog_module_to_file(fp, module_manager, sb_module,
|
||||
options.explicit_port_mapping(),
|
||||
options.default_net_type());
|
||||
write_verilog_module_to_file(
|
||||
fp, module_manager, sb_module, options.explicit_port_mapping(),
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
/* Close file handler */
|
||||
fp.close();
|
||||
|
|
|
@ -56,9 +56,9 @@ void print_verilog_submodule_shift_register_banks(
|
|||
for (const ModuleId& sr_module : blwl_sr_banks.bl_bank_unique_modules()) {
|
||||
VTR_ASSERT(true == module_manager.valid_module_id(sr_module));
|
||||
/* Write the module content in Verilog format */
|
||||
write_verilog_module_to_file(fp, module_manager, sr_module,
|
||||
options.explicit_port_mapping(),
|
||||
options.default_net_type());
|
||||
write_verilog_module_to_file(
|
||||
fp, module_manager, sr_module, options.explicit_port_mapping(),
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
/* Add an empty line as a splitter */
|
||||
fp << std::endl;
|
||||
|
@ -67,9 +67,9 @@ void print_verilog_submodule_shift_register_banks(
|
|||
for (const ModuleId& sr_module : blwl_sr_banks.wl_bank_unique_modules()) {
|
||||
VTR_ASSERT(true == module_manager.valid_module_id(sr_module));
|
||||
/* Write the module content in Verilog format */
|
||||
write_verilog_module_to_file(fp, module_manager, sr_module,
|
||||
options.explicit_port_mapping(),
|
||||
options.default_net_type());
|
||||
write_verilog_module_to_file(
|
||||
fp, module_manager, sr_module, options.explicit_port_mapping(),
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
/* Add an empty line as a splitter */
|
||||
fp << std::endl;
|
||||
|
|
|
@ -58,9 +58,9 @@ static int print_verilog_tile_module_netlist(
|
|||
options.time_stamp());
|
||||
|
||||
/* Write the module content in Verilog format */
|
||||
write_verilog_module_to_file(fp, module_manager, tile_module,
|
||||
options.explicit_port_mapping(),
|
||||
options.default_net_type());
|
||||
write_verilog_module_to_file(
|
||||
fp, module_manager, tile_module, options.explicit_port_mapping(),
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
/* Add an empty line as a splitter */
|
||||
fp << std::endl;
|
||||
|
|
|
@ -61,9 +61,9 @@ void print_verilog_core_module(NetlistManager& netlist_manager,
|
|||
options.time_stamp());
|
||||
|
||||
/* Write the module content in Verilog format */
|
||||
write_verilog_module_to_file(fp, module_manager, core_module,
|
||||
options.explicit_port_mapping(),
|
||||
options.default_net_type());
|
||||
write_verilog_module_to_file(
|
||||
fp, module_manager, core_module, options.explicit_port_mapping(),
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
/* Add an empty line as a splitter */
|
||||
fp << std::endl;
|
||||
|
@ -127,9 +127,9 @@ void print_verilog_top_module(NetlistManager& netlist_manager,
|
|||
fp, std::string("Top-level Verilog module for FPGA"), options.time_stamp());
|
||||
|
||||
/* Write the module content in Verilog format */
|
||||
write_verilog_module_to_file(fp, module_manager, top_module,
|
||||
options.explicit_port_mapping(),
|
||||
options.default_net_type());
|
||||
write_verilog_module_to_file(
|
||||
fp, module_manager, top_module, options.explicit_port_mapping(),
|
||||
options.constant_undriven_inputs(), options.default_net_type());
|
||||
|
||||
/* Add an empty line as a splitter */
|
||||
fp << std::endl;
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace openfpga {
|
|||
*******************************************************************/
|
||||
std::vector<e_side> find_physical_tile_pin_side(
|
||||
t_physical_tile_type_ptr physical_tile, const int& physical_pin,
|
||||
const e_side& border_side) {
|
||||
const e_side& border_side, const bool& perimeter_cb) {
|
||||
std::vector<e_side> pin_sides;
|
||||
for (const e_side& side_cand : {TOP, RIGHT, BOTTOM, LEFT}) {
|
||||
int pin_width_offset = physical_tile->pin_width_offset[physical_pin];
|
||||
|
@ -40,17 +40,21 @@ std::vector<e_side> find_physical_tile_pin_side(
|
|||
|
||||
/* For regular grid, we should have pin only one side!
|
||||
* I/O grids: VPR creates the grid with duplicated pins on every side
|
||||
* but the expected side (only used side) will be opposite side of the border
|
||||
* side!
|
||||
* - In regular cases: the expected side (only used side) will be on the
|
||||
* opposite to the border side!
|
||||
* - When perimeter cb is on, the expected sides can be on any sides except
|
||||
* the border side. But we only expect 1 side
|
||||
*/
|
||||
if (NUM_SIDES == border_side) {
|
||||
VTR_ASSERT(1 == pin_sides.size());
|
||||
} else {
|
||||
} else if (!perimeter_cb) {
|
||||
SideManager side_manager(border_side);
|
||||
VTR_ASSERT(pin_sides.end() != std::find(pin_sides.begin(), pin_sides.end(),
|
||||
side_manager.get_opposite()));
|
||||
pin_sides.clear();
|
||||
pin_sides.push_back(side_manager.get_opposite());
|
||||
} else {
|
||||
VTR_ASSERT(1 == pin_sides.size() && pin_sides[0] != border_side);
|
||||
}
|
||||
|
||||
return pin_sides;
|
||||
|
@ -141,9 +145,6 @@ int find_physical_tile_pin_index(t_physical_tile_type_ptr physical_tile,
|
|||
}
|
||||
PortParser tile_parser(pin_tokens[0]);
|
||||
BasicPort tile_info = tile_parser.port();
|
||||
if (tile_info.get_name() != std::string(physical_tile->name)) {
|
||||
return pin_idx;
|
||||
}
|
||||
if (!tile_info.is_valid()) {
|
||||
VTR_LOG_ERROR(
|
||||
"Invalid pin name '%s' whose subtile index is not valid, expect [0, "
|
||||
|
@ -159,13 +160,6 @@ int find_physical_tile_pin_index(t_physical_tile_type_ptr physical_tile,
|
|||
pin_name.c_str());
|
||||
exit(1);
|
||||
}
|
||||
if (tile_info.get_msb() > size_t(physical_tile->capacity) - 1) {
|
||||
VTR_LOG_ERROR(
|
||||
"Invalid pin name '%s' whose subtile index is out of range, expect [0, "
|
||||
"%lu]\n",
|
||||
pin_name.c_str(), physical_tile->capacity - 1);
|
||||
exit(1);
|
||||
}
|
||||
/* precheck: return unfound pin if the pin index does not match */
|
||||
PortParser pin_parser(pin_tokens[1]);
|
||||
BasicPort pin_info = pin_parser.port();
|
||||
|
@ -180,9 +174,18 @@ int find_physical_tile_pin_index(t_physical_tile_type_ptr physical_tile,
|
|||
|
||||
/* Spot the subtile by using the index */
|
||||
for (const t_sub_tile& sub_tile : physical_tile->sub_tiles) {
|
||||
if (!sub_tile.capacity.is_in_range(tile_info.get_lsb())) {
|
||||
/* Bypass unmatched subtiles*/
|
||||
if (tile_info.get_name() != std::string(sub_tile.name)) {
|
||||
continue;
|
||||
}
|
||||
if (!sub_tile.capacity.is_in_range(tile_info.get_lsb())) {
|
||||
VTR_LOG_ERROR(
|
||||
"Invalid pin name '%s' whose subtile index is out of range, expect "
|
||||
"[%lu, "
|
||||
"%lu]\n",
|
||||
pin_name.c_str(), sub_tile.capacity.low, sub_tile.capacity.high);
|
||||
exit(1);
|
||||
}
|
||||
for (const t_physical_tile_port& sub_tile_port : sub_tile.ports) {
|
||||
if (std::string(sub_tile_port.name) != pin_info.get_name()) {
|
||||
continue;
|
||||
|
@ -204,7 +207,8 @@ int find_physical_tile_pin_index(t_physical_tile_type_ptr physical_tile,
|
|||
/* Reach here, we get the port we want, return the accumulated index */
|
||||
size_t accumulated_pin_idx =
|
||||
sub_tile_port.absolute_first_pin_index +
|
||||
sub_tile.num_phy_pins * (tile_info.get_lsb() - sub_tile.capacity.low) +
|
||||
(sub_tile.num_phy_pins / sub_tile.capacity.total()) *
|
||||
(tile_info.get_lsb() - sub_tile.capacity.low) +
|
||||
pin_info.get_lsb();
|
||||
return accumulated_pin_idx;
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace openfpga {
|
|||
|
||||
std::vector<e_side> find_physical_tile_pin_side(
|
||||
t_physical_tile_type_ptr physical_tile, const int& physical_pin,
|
||||
const e_side& border_side);
|
||||
const e_side& border_side, const bool& perimeter_cb);
|
||||
|
||||
float find_physical_tile_pin_Fc(t_physical_tile_type_ptr type, const int& pin);
|
||||
|
||||
|
|
|
@ -0,0 +1,204 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- Architecture annotation for OpenFPGA framework
|
||||
This annotation supports the k6_N10_40nm.xml
|
||||
- General purpose logic block
|
||||
- K = 6, N = 10, I = 40
|
||||
- Single mode
|
||||
- Routing architecture
|
||||
- L = 4, fc_in = 0.15, fc_out = 0.1
|
||||
-->
|
||||
<openfpga_architecture>
|
||||
<technology_library>
|
||||
<device_library>
|
||||
<device_model name="logic" type="transistor">
|
||||
<lib type="industry" corner="TOP_TT" ref="M" path="${OPENFPGA_PATH}/openfpga_flow/tech/PTM_45nm/45nm.pm"/>
|
||||
<design vdd="0.9" pn_ratio="2"/>
|
||||
<pmos name="pch" chan_length="40e-9" min_width="140e-9" variation="logic_transistor_var"/>
|
||||
<nmos name="nch" chan_length="40e-9" min_width="140e-9" variation="logic_transistor_var"/>
|
||||
</device_model>
|
||||
<device_model name="io" type="transistor">
|
||||
<lib type="academia" ref="M" path="${OPENFPGA_PATH}/openfpga_flow/tech/PTM_45nm/45nm.pm"/>
|
||||
<design vdd="2.5" pn_ratio="3"/>
|
||||
<pmos name="pch_25" chan_length="270e-9" min_width="320e-9" variation="io_transistor_var"/>
|
||||
<nmos name="nch_25" chan_length="270e-9" min_width="320e-9" variation="io_transistor_var"/>
|
||||
</device_model>
|
||||
</device_library>
|
||||
<variation_library>
|
||||
<variation name="logic_transistor_var" abs_deviation="0.1" num_sigma="3"/>
|
||||
<variation name="io_transistor_var" abs_deviation="0.1" num_sigma="3"/>
|
||||
</variation_library>
|
||||
</technology_library>
|
||||
<circuit_library>
|
||||
<circuit_model type="inv_buf" name="INVTX1" prefix="INVTX1" is_default="true">
|
||||
<design_technology type="cmos" topology="inverter" size="1"/>
|
||||
<device_technology device_model_name="logic"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<delay_matrix type="rise" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
<delay_matrix type="fall" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
</circuit_model>
|
||||
<circuit_model type="inv_buf" name="buf4" prefix="buf4" is_default="false">
|
||||
<design_technology type="cmos" topology="buffer" size="1" num_level="2" f_per_stage="4"/>
|
||||
<device_technology device_model_name="logic"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<delay_matrix type="rise" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
<delay_matrix type="fall" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
</circuit_model>
|
||||
<circuit_model type="inv_buf" name="tap_buf4" prefix="tap_buf4" is_default="false">
|
||||
<design_technology type="cmos" topology="buffer" size="1" num_level="3" f_per_stage="4"/>
|
||||
<device_technology device_model_name="logic"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<delay_matrix type="rise" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
<delay_matrix type="fall" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
</circuit_model>
|
||||
<circuit_model type="pass_gate" name="TGATE" prefix="TGATE" is_default="true">
|
||||
<design_technology type="cmos" topology="transmission_gate" nmos_size="1" pmos_size="2"/>
|
||||
<device_technology device_model_name="logic"/>
|
||||
<input_buffer exist="false"/>
|
||||
<output_buffer exist="false"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="input" prefix="sel" size="1"/>
|
||||
<port type="input" prefix="selb" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<delay_matrix type="rise" in_port="in sel selb" out_port="out">
|
||||
10e-12 5e-12 5e-12
|
||||
</delay_matrix>
|
||||
<delay_matrix type="fall" in_port="in sel selb" out_port="out">
|
||||
10e-12 5e-12 5e-12
|
||||
</delay_matrix>
|
||||
</circuit_model>
|
||||
<circuit_model type="chan_wire" name="chan_segment" prefix="track_seg" is_default="true">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="false"/>
|
||||
<output_buffer exist="false"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<wire_param model_type="pi" R="101" C="22.5e-15" num_level="1"/>
|
||||
<!-- model_type could be T, res_val and cap_val DON'T CARE -->
|
||||
</circuit_model>
|
||||
<circuit_model type="wire" name="direct_interc" prefix="direct_interc" is_default="true">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="false"/>
|
||||
<output_buffer exist="false"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<wire_param model_type="pi" R="0" C="0" num_level="1"/>
|
||||
<!-- model_type could be T, res_val cap_val should be defined -->
|
||||
</circuit_model>
|
||||
<circuit_model type="mux" name="mux_tree" prefix="mux_tree" dump_structural_verilog="true">
|
||||
<design_technology type="cmos" structure="tree" add_const_input="true" const_input_val="1"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<pass_gate_logic circuit_model_name="TGATE"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<port type="sram" prefix="sram" size="1"/>
|
||||
</circuit_model>
|
||||
<circuit_model type="mux" name="mux_tree_tapbuf" prefix="mux_tree_tapbuf" is_default="true" dump_structural_verilog="true">
|
||||
<design_technology type="cmos" structure="tree" add_const_input="true" const_input_val="1"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="tap_buf4"/>
|
||||
<pass_gate_logic circuit_model_name="TGATE"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<port type="sram" prefix="sram" size="1"/>
|
||||
</circuit_model>
|
||||
<!--DFF subckt ports should be defined as <D> <Q> <CLK> <RESET> <SET> -->
|
||||
<circuit_model type="ff" name="DFFSRQ" prefix="DFFSRQ" spice_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/spice/dff.sp" verilog_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/verilog/dff.v">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<port type="input" prefix="D" size="1"/>
|
||||
<port type="input" prefix="set" lib_name="SET" size="1" is_global="true" default_val="0" is_set="true"/>
|
||||
<port type="input" prefix="reset" lib_name="RST" size="1" is_global="true" default_val="0" is_reset="true"/>
|
||||
<port type="output" prefix="Q" size="1"/>
|
||||
<port type="clock" prefix="clk" lib_name="CK" size="1" is_global="false" default_val="0"/>
|
||||
</circuit_model>
|
||||
<circuit_model type="lut" name="lut4" prefix="lut4" dump_structural_verilog="true">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<lut_input_inverter exist="true" circuit_model_name="INVTX1"/>
|
||||
<lut_input_buffer exist="true" circuit_model_name="buf4"/>
|
||||
<pass_gate_logic circuit_model_name="TGATE"/>
|
||||
<port type="input" prefix="in" size="4"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<port type="sram" prefix="sram" size="16"/>
|
||||
</circuit_model>
|
||||
<!--Scan-chain DFF subckt ports should be defined as <D> <Q> <Qb> <CLK> <RESET> <SET> -->
|
||||
<circuit_model type="ccff" name="DFF" prefix="DFF" spice_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/spice/dff.sp" verilog_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/verilog/dff.v">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<port type="input" prefix="D" size="1"/>
|
||||
<port type="output" prefix="Q" size="1"/>
|
||||
<port type="output" prefix="QN" size="1"/>
|
||||
<port type="clock" prefix="prog_clk" lib_name="CK" size="1" is_global="true" default_val="0" is_prog="true"/>
|
||||
</circuit_model>
|
||||
<circuit_model type="iopad" name="GPIO" prefix="GPIO" spice_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/spice/gpio.sp" verilog_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/verilog/gpio.v">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<port type="inout" prefix="PAD" size="1" is_global="true" is_io="true" is_data_io="true"/>
|
||||
<port type="sram" prefix="DIR" size="1" mode_select="true" circuit_model_name="DFF" default_val="1"/>
|
||||
<port type="input" prefix="outpad" lib_name="A" size="1"/>
|
||||
<port type="output" prefix="inpad" lib_name="Y" size="1"/>
|
||||
</circuit_model>
|
||||
</circuit_library>
|
||||
<configuration_protocol>
|
||||
<organization type="scan_chain" circuit_model_name="DFF"/>
|
||||
</configuration_protocol>
|
||||
<connection_block>
|
||||
<switch name="ipin_cblock" circuit_model_name="mux_tree_tapbuf"/>
|
||||
</connection_block>
|
||||
<switch_block>
|
||||
<switch name="0" circuit_model_name="mux_tree_tapbuf"/>
|
||||
</switch_block>
|
||||
<routing_segment>
|
||||
<segment name="L1" circuit_model_name="chan_segment"/>
|
||||
<segment name="L4" circuit_model_name="chan_segment"/>
|
||||
</routing_segment>
|
||||
<tile_annotations>
|
||||
<global_port name="clk" is_clock="true" default_val="0" clock_arch_tree_name="clk_tree_2lvl">
|
||||
<tile name="clb" port="clk" x="-1" y="-1"/>
|
||||
<tile name="io_top" port="clk" x="-1" y="-1"/>
|
||||
<tile name="io_right" port="clk" x="-1" y="-1"/>
|
||||
<tile name="io_bottom" port="clk" x="-1" y="-1"/>
|
||||
<tile name="io_left" port="clk" x="-1" y="-1"/>
|
||||
</global_port>
|
||||
</tile_annotations>
|
||||
<pb_type_annotations>
|
||||
<!-- physical pb_type binding in complex block IO -->
|
||||
<pb_type name="io" physical_mode_name="physical" idle_mode_name="inpad"/>
|
||||
<pb_type name="io[physical].iopad" circuit_model_name="GPIO" mode_bits="1"/>
|
||||
<pb_type name="io[physical].ff" circuit_model_name="DFFSRQ"/>
|
||||
<pb_type name="io[inpad].inpad" physical_pb_type_name="io[physical].iopad" mode_bits="1"/>
|
||||
<pb_type name="io[inpad_registered].inpad" physical_pb_type_name="io[physical].iopad" mode_bits="1"/>
|
||||
<pb_type name="io[inpad_registered].ff" physical_pb_type_name="io[physical].ff"/>
|
||||
<pb_type name="io[outpad].outpad" physical_pb_type_name="io[physical].iopad" mode_bits="0"/>
|
||||
<!-- End physical pb_type binding in complex block IO -->
|
||||
<!-- physical pb_type binding in complex block CLB -->
|
||||
<!-- physical mode will be the default mode if not specified -->
|
||||
<pb_type name="clb">
|
||||
<!-- Binding interconnect to circuit models as their physical implementation, if not defined, we use the default model -->
|
||||
<interconnect name="crossbar" circuit_model_name="mux_tree"/>
|
||||
</pb_type>
|
||||
<pb_type name="clb.fle[n1_lut4].ble4.lut4" circuit_model_name="lut4"/>
|
||||
<pb_type name="clb.fle[n1_lut4].ble4.ff" circuit_model_name="DFFSRQ"/>
|
||||
<!-- End physical pb_type binding in complex block IO -->
|
||||
</pb_type_annotations>
|
||||
</openfpga_architecture>
|
|
@ -0,0 +1,204 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- Architecture annotation for OpenFPGA framework
|
||||
This annotation supports the k6_N10_40nm.xml
|
||||
- General purpose logic block
|
||||
- K = 6, N = 10, I = 40
|
||||
- Single mode
|
||||
- Routing architecture
|
||||
- L = 4, fc_in = 0.15, fc_out = 0.1
|
||||
-->
|
||||
<openfpga_architecture>
|
||||
<technology_library>
|
||||
<device_library>
|
||||
<device_model name="logic" type="transistor">
|
||||
<lib type="industry" corner="TOP_TT" ref="M" path="${OPENFPGA_PATH}/openfpga_flow/tech/PTM_45nm/45nm.pm"/>
|
||||
<design vdd="0.9" pn_ratio="2"/>
|
||||
<pmos name="pch" chan_length="40e-9" min_width="140e-9" variation="logic_transistor_var"/>
|
||||
<nmos name="nch" chan_length="40e-9" min_width="140e-9" variation="logic_transistor_var"/>
|
||||
</device_model>
|
||||
<device_model name="io" type="transistor">
|
||||
<lib type="academia" ref="M" path="${OPENFPGA_PATH}/openfpga_flow/tech/PTM_45nm/45nm.pm"/>
|
||||
<design vdd="2.5" pn_ratio="3"/>
|
||||
<pmos name="pch_25" chan_length="270e-9" min_width="320e-9" variation="io_transistor_var"/>
|
||||
<nmos name="nch_25" chan_length="270e-9" min_width="320e-9" variation="io_transistor_var"/>
|
||||
</device_model>
|
||||
</device_library>
|
||||
<variation_library>
|
||||
<variation name="logic_transistor_var" abs_deviation="0.1" num_sigma="3"/>
|
||||
<variation name="io_transistor_var" abs_deviation="0.1" num_sigma="3"/>
|
||||
</variation_library>
|
||||
</technology_library>
|
||||
<circuit_library>
|
||||
<circuit_model type="inv_buf" name="INVTX1" prefix="INVTX1" is_default="true">
|
||||
<design_technology type="cmos" topology="inverter" size="1"/>
|
||||
<device_technology device_model_name="logic"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<delay_matrix type="rise" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
<delay_matrix type="fall" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
</circuit_model>
|
||||
<circuit_model type="inv_buf" name="buf4" prefix="buf4" is_default="false">
|
||||
<design_technology type="cmos" topology="buffer" size="1" num_level="2" f_per_stage="4"/>
|
||||
<device_technology device_model_name="logic"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<delay_matrix type="rise" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
<delay_matrix type="fall" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
</circuit_model>
|
||||
<circuit_model type="inv_buf" name="tap_buf4" prefix="tap_buf4" is_default="false">
|
||||
<design_technology type="cmos" topology="buffer" size="1" num_level="3" f_per_stage="4"/>
|
||||
<device_technology device_model_name="logic"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<delay_matrix type="rise" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
<delay_matrix type="fall" in_port="in" out_port="out">
|
||||
10e-12
|
||||
</delay_matrix>
|
||||
</circuit_model>
|
||||
<circuit_model type="pass_gate" name="TGATE" prefix="TGATE" is_default="true">
|
||||
<design_technology type="cmos" topology="transmission_gate" nmos_size="1" pmos_size="2"/>
|
||||
<device_technology device_model_name="logic"/>
|
||||
<input_buffer exist="false"/>
|
||||
<output_buffer exist="false"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="input" prefix="sel" size="1"/>
|
||||
<port type="input" prefix="selb" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<delay_matrix type="rise" in_port="in sel selb" out_port="out">
|
||||
10e-12 5e-12 5e-12
|
||||
</delay_matrix>
|
||||
<delay_matrix type="fall" in_port="in sel selb" out_port="out">
|
||||
10e-12 5e-12 5e-12
|
||||
</delay_matrix>
|
||||
</circuit_model>
|
||||
<circuit_model type="chan_wire" name="chan_segment" prefix="track_seg" is_default="true">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="false"/>
|
||||
<output_buffer exist="false"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<wire_param model_type="pi" R="101" C="22.5e-15" num_level="1"/>
|
||||
<!-- model_type could be T, res_val and cap_val DON'T CARE -->
|
||||
</circuit_model>
|
||||
<circuit_model type="wire" name="direct_interc" prefix="direct_interc" is_default="true">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="false"/>
|
||||
<output_buffer exist="false"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<wire_param model_type="pi" R="0" C="0" num_level="1"/>
|
||||
<!-- model_type could be T, res_val cap_val should be defined -->
|
||||
</circuit_model>
|
||||
<circuit_model type="mux" name="mux_tree" prefix="mux_tree" dump_structural_verilog="true">
|
||||
<design_technology type="cmos" structure="tree" add_const_input="true" const_input_val="1"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<pass_gate_logic circuit_model_name="TGATE"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<port type="sram" prefix="sram" size="1"/>
|
||||
</circuit_model>
|
||||
<circuit_model type="mux" name="mux_tree_tapbuf" prefix="mux_tree_tapbuf" is_default="true" dump_structural_verilog="true">
|
||||
<design_technology type="cmos" structure="tree" add_const_input="true" const_input_val="1"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="tap_buf4"/>
|
||||
<pass_gate_logic circuit_model_name="TGATE"/>
|
||||
<port type="input" prefix="in" size="1"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<port type="sram" prefix="sram" size="1"/>
|
||||
</circuit_model>
|
||||
<!--DFF subckt ports should be defined as <D> <Q> <CLK> <RESET> <SET> -->
|
||||
<circuit_model type="ff" name="DFFSRQ" prefix="DFFSRQ" spice_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/spice/dff.sp" verilog_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/verilog/dff.v">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<port type="input" prefix="D" size="1"/>
|
||||
<port type="input" prefix="set" lib_name="SET" size="1" is_global="true" default_val="0" is_set="true"/>
|
||||
<port type="input" prefix="reset" lib_name="RST" size="1" is_global="true" default_val="0" is_reset="true"/>
|
||||
<port type="output" prefix="Q" size="1"/>
|
||||
<port type="clock" prefix="clk" lib_name="CK" size="1" is_global="false" default_val="0"/>
|
||||
</circuit_model>
|
||||
<circuit_model type="lut" name="lut4" prefix="lut4" dump_structural_verilog="true">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<lut_input_inverter exist="true" circuit_model_name="INVTX1"/>
|
||||
<lut_input_buffer exist="true" circuit_model_name="buf4"/>
|
||||
<pass_gate_logic circuit_model_name="TGATE"/>
|
||||
<port type="input" prefix="in" size="4"/>
|
||||
<port type="output" prefix="out" size="1"/>
|
||||
<port type="sram" prefix="sram" size="16"/>
|
||||
</circuit_model>
|
||||
<!--Scan-chain DFF subckt ports should be defined as <D> <Q> <Qb> <CLK> <RESET> <SET> -->
|
||||
<circuit_model type="ccff" name="DFF" prefix="DFF" spice_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/spice/dff.sp" verilog_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/verilog/dff.v">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<port type="input" prefix="D" size="1"/>
|
||||
<port type="output" prefix="Q" size="1"/>
|
||||
<port type="output" prefix="QN" size="1"/>
|
||||
<port type="clock" prefix="prog_clk" lib_name="CK" size="1" is_global="true" default_val="0" is_prog="true"/>
|
||||
</circuit_model>
|
||||
<circuit_model type="iopad" name="GPIO" prefix="GPIO" spice_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/spice/gpio.sp" verilog_netlist="${OPENFPGA_PATH}/openfpga_flow/openfpga_cell_library/verilog/gpio.v">
|
||||
<design_technology type="cmos"/>
|
||||
<input_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<output_buffer exist="true" circuit_model_name="INVTX1"/>
|
||||
<port type="inout" prefix="PAD" size="1" is_global="true" is_io="true" is_data_io="true"/>
|
||||
<port type="sram" prefix="DIR" size="1" mode_select="true" circuit_model_name="DFF" default_val="1"/>
|
||||
<port type="input" prefix="outpad" lib_name="A" size="1"/>
|
||||
<port type="output" prefix="inpad" lib_name="Y" size="1"/>
|
||||
</circuit_model>
|
||||
</circuit_library>
|
||||
<configuration_protocol>
|
||||
<organization type="scan_chain" circuit_model_name="DFF"/>
|
||||
</configuration_protocol>
|
||||
<connection_block>
|
||||
<switch name="ipin_cblock" circuit_model_name="mux_tree_tapbuf"/>
|
||||
</connection_block>
|
||||
<switch_block>
|
||||
<switch name="0" circuit_model_name="mux_tree_tapbuf"/>
|
||||
</switch_block>
|
||||
<routing_segment>
|
||||
<segment name="L1" circuit_model_name="chan_segment"/>
|
||||
<segment name="L4" circuit_model_name="chan_segment"/>
|
||||
</routing_segment>
|
||||
<tile_annotations>
|
||||
<global_port name="clk" is_clock="true" default_val="0">
|
||||
<tile name="clb" port="clk" x="-1" y="-1"/>
|
||||
<tile name="io_top" port="clk" x="-1" y="-1"/>
|
||||
<tile name="io_right" port="clk" x="-1" y="-1"/>
|
||||
<tile name="io_bottom" port="clk" x="-1" y="-1"/>
|
||||
<tile name="io_left" port="clk" x="-1" y="-1"/>
|
||||
</global_port>
|
||||
</tile_annotations>
|
||||
<pb_type_annotations>
|
||||
<!-- physical pb_type binding in complex block IO -->
|
||||
<pb_type name="io" physical_mode_name="physical" idle_mode_name="inpad"/>
|
||||
<pb_type name="io[physical].iopad" circuit_model_name="GPIO" mode_bits="1"/>
|
||||
<pb_type name="io[physical].ff" circuit_model_name="DFFSRQ"/>
|
||||
<pb_type name="io[inpad].inpad" physical_pb_type_name="io[physical].iopad" mode_bits="1"/>
|
||||
<pb_type name="io[inpad_registered].inpad" physical_pb_type_name="io[physical].iopad" mode_bits="1"/>
|
||||
<pb_type name="io[inpad_registered].ff" physical_pb_type_name="io[physical].ff"/>
|
||||
<pb_type name="io[outpad].outpad" physical_pb_type_name="io[physical].iopad" mode_bits="0"/>
|
||||
<!-- End physical pb_type binding in complex block IO -->
|
||||
<!-- physical pb_type binding in complex block CLB -->
|
||||
<!-- physical mode will be the default mode if not specified -->
|
||||
<pb_type name="clb">
|
||||
<!-- Binding interconnect to circuit models as their physical implementation, if not defined, we use the default model -->
|
||||
<interconnect name="crossbar" circuit_model_name="mux_tree"/>
|
||||
</pb_type>
|
||||
<pb_type name="clb.fle[n1_lut4].ble4.lut4" circuit_model_name="lut4"/>
|
||||
<pb_type name="clb.fle[n1_lut4].ble4.ff" circuit_model_name="DFFSRQ"/>
|
||||
<!-- End physical pb_type binding in complex block IO -->
|
||||
</pb_type_annotations>
|
||||
</openfpga_architecture>
|
|
@ -195,10 +195,10 @@
|
|||
<pb_type name="io[inpad_registered].ff" physical_pb_type_name="io[physical].ff"/>
|
||||
<pb_type name="io[outpad].outpad" physical_pb_type_name="io[physical].iopad" mode_bits="0"/>
|
||||
<pb_type name="io_input" physical_mode_name="physical" idle_mode_name="inpad"/>
|
||||
<pb_type name="io_input[physical].iopad" circuit_model_name="GPIN" mode_bits="1"/>
|
||||
<pb_type name="io_input[physical].iopad" circuit_model_name="GPIN"/>
|
||||
<pb_type name="io_input[physical].ff" circuit_model_name="DFFSRQ"/>
|
||||
<pb_type name="io_input[inpad].inpad" physical_pb_type_name="io_input[physical].iopad" mode_bits="1"/>
|
||||
<pb_type name="io_input[inpad_registered].inpad" physical_pb_type_name="io_input[physical].iopad" mode_bits="1"/>
|
||||
<pb_type name="io_input[inpad].inpad" physical_pb_type_name="io_input[physical].iopad"/>
|
||||
<pb_type name="io_input[inpad_registered].inpad" physical_pb_type_name="io_input[physical].iopad"/>
|
||||
<pb_type name="io_input[inpad_registered].ff" physical_pb_type_name="io_input[physical].ff"/>
|
||||
<!-- End physical pb_type binding in complex block IO -->
|
||||
<!-- physical pb_type binding in complex block CLB -->
|
||||
|
|
|
@ -190,10 +190,15 @@ run-task basic_tests/tile_organization/tileable_io $@
|
|||
echo -e "Testing tiles with I/O consisting of subtiles";
|
||||
run-task basic_tests/tile_organization/io_subtile $@
|
||||
run-task basic_tests/tile_organization/io_subtile_strong $@
|
||||
echo -e "Testing tiles with routing tracks around I/O";
|
||||
run-task basic_tests/tile_organization/perimeter_cb $@
|
||||
echo -e "Testing tile grouping on a homogeneous FPGA fabric (Full testbench)";
|
||||
run-task basic_tests/tile_organization/homo_fabric_tile $@
|
||||
run-task basic_tests/tile_organization/homo_fabric_tile_bl $@
|
||||
echo -e "Testing tile grouping on a homogeneous FPGA fabric (Preconfigured testbench)";
|
||||
run-task basic_tests/tile_organization/fabric_tile_global_tile_clock_io_subtile $@
|
||||
run-task basic_tests/tile_organization/fabric_tile_perimeter_cb_global_tile_clock $@
|
||||
run-task basic_tests/tile_organization/fabric_tile_clkntwk_io_subtile $@
|
||||
run-task basic_tests/tile_organization/homo_fabric_tile_preconfig $@
|
||||
run-task basic_tests/tile_organization/homo_fabric_tile_2x2_preconfig $@
|
||||
run-task basic_tests/tile_organization/homo_fabric_tile_4x4_preconfig $@
|
||||
|
|
|
@ -20,7 +20,7 @@ openfpga_shell_template=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_shell_scrip
|
|||
openfpga_arch_file=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_arch/k4_N4_40nm_GlobalTileClk_registerable_io_cc_openfpga.xml
|
||||
openfpga_sim_setting_file=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_simulation_settings/auto_sim_openfpga.xml
|
||||
openfpga_vpr_device_layout=2x2_hybrid_io
|
||||
openfpga_vpr_route_chan_width=60
|
||||
openfpga_vpr_route_chan_width=20
|
||||
|
||||
[ARCHITECTURES]
|
||||
arch0=${PATH:OPENFPGA_PATH}/openfpga_flow/vpr_arch/k4_N4_tileable_GlobalTileClk_registerable_io_40nm.xml
|
||||
|
|
|
@ -22,7 +22,7 @@ openfpga_sim_setting_file=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_simulatio
|
|||
openfpga_vpr_device_layout=2x2
|
||||
|
||||
[ARCHITECTURES]
|
||||
arch0=${PATH:OPENFPGA_PATH}/openfpga_flow/vpr_arch/k4_N4_ecb_tileable_TileOrgzBr_40nm.xml
|
||||
arch0=${PATH:OPENFPGA_PATH}/openfpga_flow/vpr_arch/k4_N4_ecb_tileable_TileOrgzBl_40nm.xml
|
||||
|
||||
[BENCHMARKS]
|
||||
bench0=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/micro_benchmark/and2/and2.blif
|
||||
|
|
|
@ -57,16 +57,24 @@ set_disable_timing gfpga_pad_GPIO_PAD[31]
|
|||
set_disable_timing set[0]
|
||||
set_disable_timing reset[0]
|
||||
set_disable_timing prog_clk[0]
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
|
@ -77,6 +85,10 @@ set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_top_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_top_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
|
@ -91,30 +103,18 @@ set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_left_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_left_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
|
|
|
@ -11,346 +11,6 @@
|
|||
#############################################
|
||||
set_units -time ns
|
||||
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_2_/Q -to fpga_top/sb_1__1_/mem_bottom_track_3/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_2_/Q -to fpga_top/sb_1__1_/mem_bottom_track_3/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_3/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_3/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_3/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_3/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_3/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_5/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_3/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_5/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_5/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_5/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_5/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_5/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_5/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_7/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_5/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_7/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_7/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_7/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_7/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_7/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_7/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_9/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_7/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_9/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_9/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_9/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_9/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_9/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_9/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_11/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_9/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_11/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_11/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_11/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_11/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_11/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_11/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_11/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_2_/Q -to fpga_top/sb_1__1_/mem_bottom_track_15/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_2_/Q -to fpga_top/sb_1__1_/mem_bottom_track_15/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_15/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_15/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_15/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_15/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_15/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_17/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_15/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_17/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_17/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_17/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_17/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_17/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_17/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_19/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_17/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_19/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_19/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_19/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_19/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_19/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_19/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_21/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_19/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_21/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_21/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_21/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_21/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_21/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_21/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_23/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_21/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_23/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_23/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_23/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_23/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_23/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_23/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_25/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_23/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_25/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_25/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_25/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_25/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_25/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_25/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_25/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_2_/Q -to fpga_top/sb_1__1_/mem_left_track_3/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_2_/Q -to fpga_top/sb_1__1_/mem_left_track_3/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_3/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_3/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_3/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_3/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_3/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_5/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_3/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_5/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_5/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_5/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_5/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_5/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_5/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_7/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_5/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_7/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_7/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_7/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_7/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_7/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_7/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_9/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_7/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_9/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_9/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_9/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_9/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_9/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_9/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_11/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_9/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_11/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_11/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_11/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_11/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_11/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_11/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_11/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_2_/Q -to fpga_top/sb_1__1_/mem_left_track_15/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_2_/Q -to fpga_top/sb_1__1_/mem_left_track_15/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_15/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_15/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_15/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_15/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_15/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_17/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_15/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_17/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_17/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_17/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_17/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_17/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_17/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_19/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_17/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_19/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_19/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_19/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_19/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_19/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_19/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_21/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_19/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_21/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_21/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_21/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_21/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_21/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_21/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_23/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_21/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_23/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_23/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_23/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_23/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_23/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_23/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_25/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_23/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_25/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_25/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_25/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_25/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_25/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_25/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_25/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_2_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_2_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_2_/Q -to fpga_top/sb_0__1_/mem_right_track_2/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_2_/Q -to fpga_top/sb_0__1_/mem_right_track_2/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_2/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_2/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_2/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_2/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_2/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_4/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_2/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_4/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_4/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_4/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_4/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_4/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_4/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_6/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_4/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_6/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_6/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_6/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_6/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_6/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_6/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_8/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_6/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_8/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_8/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_8/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_8/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_8/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_8/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_10/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_8/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_10/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_10/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_10/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_10/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_10/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_10/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_10/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_2_/Q -to fpga_top/sb_0__1_/mem_right_track_14/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_2_/Q -to fpga_top/sb_0__1_/mem_right_track_14/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_14/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_14/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_14/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_14/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_14/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_16/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_14/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_16/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_16/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_16/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_16/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_16/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_16/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_18/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_16/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_18/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_18/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_18/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_18/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_18/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_18/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_20/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_18/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_20/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_20/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_20/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_20/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_20/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_20/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_22/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_20/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_22/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_22/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_22/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_22/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_22/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_22/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_24/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_22/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_24/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_24/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_24/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_24/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_24/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_24/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_24/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_5/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_5/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_5/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_5/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_5/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_5/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_5/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_7/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_5/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_7/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_7/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_7/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_7/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_7/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_7/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_9/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_7/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_9/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_9/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_9/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_9/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_9/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_9/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_11/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_9/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_11/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_11/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_11/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_11/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_11/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_11/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_13/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_11/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_13/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_13/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_13/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_13/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_13/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_13/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_13/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_17/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_17/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_17/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_17/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_17/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_17/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_17/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_19/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_17/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_19/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_19/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_19/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_19/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_19/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_19/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_21/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_19/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_21/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_21/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_21/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_21/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_21/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_21/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_23/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_21/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_23/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_23/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_23/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_23/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_23/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_23/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_25/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_23/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_25/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_25/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_25/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_25/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_25/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_25/DFF_1_/Q -to fpga_top/sb_0__0_/mem_top_track_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_25/DFF_1_/Q -to fpga_top/sb_0__0_/mem_top_track_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__0_/mem_top_track_0/DFF_0_/Q -to fpga_top/sb_0__0_/mem_top_track_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__0_/mem_top_track_0/DFF_0_/Q -to fpga_top/sb_0__0_/mem_top_track_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__0_/mem_top_track_0/DFF_1_/Q -to fpga_top/sb_0__0_/mem_top_track_0/DFF_2_/D 5
|
||||
|
@ -465,84 +125,8 @@ set_max_delay -from fpga_top/sb_0__0_/mem_right_track_22/DFF_1_/Q -to fpga_top/s
|
|||
set_min_delay -from fpga_top/sb_0__0_/mem_right_track_22/DFF_1_/Q -to fpga_top/sb_0__0_/mem_right_track_24/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__0_/mem_right_track_24/DFF_0_/Q -to fpga_top/sb_0__0_/mem_right_track_24/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__0_/mem_right_track_24/DFF_0_/Q -to fpga_top/sb_0__0_/mem_right_track_24/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__0_/mem_right_track_24/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__0_/mem_right_track_24/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_0_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_0_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_2_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_2_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_0_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_0_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_2_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_2_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/sb_1__0_/mem_top_track_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/sb_1__0_/mem_top_track_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__0_/mem_right_track_24/DFF_1_/Q -to fpga_top/sb_1__0_/mem_top_track_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__0_/mem_right_track_24/DFF_1_/Q -to fpga_top/sb_1__0_/mem_top_track_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__0_/mem_top_track_0/DFF_0_/Q -to fpga_top/sb_1__0_/mem_top_track_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__0_/mem_top_track_0/DFF_0_/Q -to fpga_top/sb_1__0_/mem_top_track_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__0_/mem_top_track_0/DFF_1_/Q -to fpga_top/sb_1__0_/mem_top_track_0/DFF_2_/D 5
|
||||
|
@ -725,8 +309,424 @@ set_max_delay -from fpga_top/cbx_1__0_/mem_top_ipin_7/DFF_0_/Q -to fpga_top/cbx_
|
|||
set_min_delay -from fpga_top/cbx_1__0_/mem_top_ipin_7/DFF_0_/Q -to fpga_top/cbx_1__0_/mem_top_ipin_7/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__0_/mem_top_ipin_7/DFF_1_/Q -to fpga_top/cbx_1__0_/mem_top_ipin_7/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__0_/mem_top_ipin_7/DFF_1_/Q -to fpga_top/cbx_1__0_/mem_top_ipin_7/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__0_/mem_top_ipin_7/DFF_2_/Q -to fpga_top/cby_1__1_/mem_left_ipin_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__0_/mem_top_ipin_7/DFF_2_/Q -to fpga_top/cby_1__1_/mem_left_ipin_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__0_/mem_top_ipin_7/DFF_2_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__0_/mem_top_ipin_7/DFF_2_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_bottom_1__0_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_right_2__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_top_1__2_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_0/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_2_/Q -to fpga_top/sb_0__1_/mem_right_track_2/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_0/DFF_2_/Q -to fpga_top/sb_0__1_/mem_right_track_2/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_2/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_2/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_2/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_2/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_2/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_4/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_2/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_4/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_4/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_4/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_4/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_4/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_4/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_6/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_4/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_6/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_6/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_6/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_6/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_6/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_6/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_8/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_6/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_8/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_8/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_8/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_8/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_8/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_8/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_10/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_8/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_10/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_10/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_10/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_10/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_10/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_10/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_10/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_12/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_2_/Q -to fpga_top/sb_0__1_/mem_right_track_14/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_12/DFF_2_/Q -to fpga_top/sb_0__1_/mem_right_track_14/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_14/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_14/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_14/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_14/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_14/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_16/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_14/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_16/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_16/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_16/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_16/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_16/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_16/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_18/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_16/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_18/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_18/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_18/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_18/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_18/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_18/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_20/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_18/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_20/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_20/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_20/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_20/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_20/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_20/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_22/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_20/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_22/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_22/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_22/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_22/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_22/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_22/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_24/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_22/DFF_1_/Q -to fpga_top/sb_0__1_/mem_right_track_24/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_24/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_24/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_24/DFF_0_/Q -to fpga_top/sb_0__1_/mem_right_track_24/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_right_track_24/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_right_track_24/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_1/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_3/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_5/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_3/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_5/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_5/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_5/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_5/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_5/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_5/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_7/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_5/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_7/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_7/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_7/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_7/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_7/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_7/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_9/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_7/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_9/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_9/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_9/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_9/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_9/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_9/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_11/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_9/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_11/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_11/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_11/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_11/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_11/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_11/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_13/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_11/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_13/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_13/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_13/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_13/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_13/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_13/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_13/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_15/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_17/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_15/DFF_2_/Q -to fpga_top/sb_0__1_/mem_bottom_track_17/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_17/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_17/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_17/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_17/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_17/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_19/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_17/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_19/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_19/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_19/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_19/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_19/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_19/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_21/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_19/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_21/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_21/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_21/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_21/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_21/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_21/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_23/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_21/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_23/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_23/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_23/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_23/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_23/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_23/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_25/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_23/DFF_1_/Q -to fpga_top/sb_0__1_/mem_bottom_track_25/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_25/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_25/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_25/DFF_0_/Q -to fpga_top/sb_0__1_/mem_bottom_track_25/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_0__1_/mem_bottom_track_25/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_0__1_/mem_bottom_track_25/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_0_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_0_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_0/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_2_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_0/DFF_2_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_0_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_0_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_1_/Q -to fpga_top/cby_0__1_/mem_left_ipin_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_left_ipin_1/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_0/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_0/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_1/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_2/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_2/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_3/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_3/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_4/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_4/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_5/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_5/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_6/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_6/DFF_2_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_0_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_1_/Q -to fpga_top/cby_0__1_/mem_right_ipin_7/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_2_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cby_0__1_/mem_right_ipin_7/DFF_2_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__0/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__1/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__2/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__3/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__4/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__5/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__6/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/grid_io_left_0__1_/logical_tile_io_mode_io__7/logical_tile_io_mode_physical__iopad_0/GPIO_DFF_mem/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_2_/Q -to fpga_top/sb_1__1_/mem_bottom_track_3/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_1/DFF_2_/Q -to fpga_top/sb_1__1_/mem_bottom_track_3/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_3/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_3/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_3/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_3/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_3/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_5/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_3/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_5/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_5/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_5/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_5/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_5/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_5/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_7/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_5/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_7/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_7/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_7/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_7/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_7/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_7/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_9/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_7/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_9/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_9/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_9/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_9/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_9/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_9/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_11/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_9/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_11/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_11/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_11/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_11/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_11/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_11/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_11/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_13/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_2_/Q -to fpga_top/sb_1__1_/mem_bottom_track_15/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_13/DFF_2_/Q -to fpga_top/sb_1__1_/mem_bottom_track_15/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_15/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_15/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_15/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_15/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_15/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_17/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_15/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_17/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_17/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_17/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_17/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_17/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_17/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_19/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_17/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_19/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_19/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_19/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_19/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_19/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_19/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_21/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_19/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_21/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_21/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_21/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_21/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_21/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_21/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_23/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_21/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_23/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_23/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_23/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_23/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_23/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_23/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_25/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_23/DFF_1_/Q -to fpga_top/sb_1__1_/mem_bottom_track_25/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_25/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_25/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_25/DFF_0_/Q -to fpga_top/sb_1__1_/mem_bottom_track_25/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_bottom_track_25/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_bottom_track_25/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_2_/Q -to fpga_top/sb_1__1_/mem_left_track_3/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_1/DFF_2_/Q -to fpga_top/sb_1__1_/mem_left_track_3/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_3/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_3/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_3/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_3/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_3/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_5/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_3/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_5/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_5/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_5/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_5/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_5/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_5/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_7/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_5/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_7/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_7/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_7/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_7/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_7/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_7/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_9/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_7/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_9/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_9/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_9/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_9/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_9/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_9/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_11/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_9/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_11/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_11/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_11/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_11/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_11/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_11/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_11/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_13/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_2_/Q -to fpga_top/sb_1__1_/mem_left_track_15/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_13/DFF_2_/Q -to fpga_top/sb_1__1_/mem_left_track_15/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_15/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_15/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_15/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_15/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_15/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_17/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_15/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_17/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_17/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_17/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_17/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_17/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_17/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_19/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_17/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_19/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_19/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_19/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_19/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_19/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_19/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_21/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_19/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_21/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_21/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_21/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_21/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_21/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_21/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_23/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_21/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_23/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_23/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_23/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_23/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_23/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_23/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_25/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_23/DFF_1_/Q -to fpga_top/sb_1__1_/mem_left_track_25/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_25/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_25/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_25/DFF_0_/Q -to fpga_top/sb_1__1_/mem_left_track_25/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/sb_1__1_/mem_left_track_25/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/sb_1__1_/mem_left_track_25/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_0/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_1/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_2/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_3/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_4/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_5/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_6/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_bottom_ipin_7/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_0/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_1/DFF_2_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_0_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_2_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_1_/Q -to fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_2_/D 2.5
|
||||
set_max_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_2_/Q -to fpga_top/cby_1__1_/mem_left_ipin_0/DFF_0_/D 5
|
||||
set_min_delay -from fpga_top/cbx_1__1_/mem_top_ipin_2/DFF_2_/Q -to fpga_top/cby_1__1_/mem_left_ipin_0/DFF_0_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_1__1_/mem_left_ipin_0/DFF_0_/Q -to fpga_top/cby_1__1_/mem_left_ipin_0/DFF_1_/D 5
|
||||
set_min_delay -from fpga_top/cby_1__1_/mem_left_ipin_0/DFF_0_/Q -to fpga_top/cby_1__1_/mem_left_ipin_0/DFF_1_/D 2.5
|
||||
set_max_delay -from fpga_top/cby_1__1_/mem_left_ipin_0/DFF_1_/Q -to fpga_top/cby_1__1_/mem_left_ipin_0/DFF_2_/D 5
|
||||
|
|
|
@ -6,16 +6,24 @@
|
|||
# Organization: University of Utah
|
||||
#############################################
|
||||
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
|
@ -26,6 +34,10 @@ set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_top_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_top_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
|
@ -40,30 +52,18 @@ set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_left_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_left_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
|
|
|
@ -197,18 +197,7 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -243,8 +232,19 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -267,67 +267,6 @@
|
|||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -423,34 +362,61 @@
|
|||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -485,19 +451,8 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -515,16 +470,61 @@
|
|||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
|
|
|
@ -162,7 +162,7 @@ wire [0:12] sb_1__1__0_chany_bottom_out;
|
|||
.bottom_width_0_height_0_subtile_5__pin_outpad_0_(cbx_1__1__0_top_grid_bottom_width_0_height_0_subtile_5__pin_outpad_0_),
|
||||
.bottom_width_0_height_0_subtile_6__pin_outpad_0_(cbx_1__1__0_top_grid_bottom_width_0_height_0_subtile_6__pin_outpad_0_),
|
||||
.bottom_width_0_height_0_subtile_7__pin_outpad_0_(cbx_1__1__0_top_grid_bottom_width_0_height_0_subtile_7__pin_outpad_0_),
|
||||
.ccff_head(cbx_1__1__0_ccff_tail),
|
||||
.ccff_head(grid_io_right_0_ccff_tail),
|
||||
.bottom_width_0_height_0_subtile_0__pin_inpad_0_(grid_io_top_0_bottom_width_0_height_0_subtile_0__pin_inpad_0_),
|
||||
.bottom_width_0_height_0_subtile_1__pin_inpad_0_(grid_io_top_0_bottom_width_0_height_0_subtile_1__pin_inpad_0_),
|
||||
.bottom_width_0_height_0_subtile_2__pin_inpad_0_(grid_io_top_0_bottom_width_0_height_0_subtile_2__pin_inpad_0_),
|
||||
|
@ -206,7 +206,7 @@ wire [0:12] sb_1__1__0_chany_bottom_out;
|
|||
.top_width_0_height_0_subtile_5__pin_outpad_0_(cbx_1__0__0_bottom_grid_top_width_0_height_0_subtile_5__pin_outpad_0_),
|
||||
.top_width_0_height_0_subtile_6__pin_outpad_0_(cbx_1__0__0_bottom_grid_top_width_0_height_0_subtile_6__pin_outpad_0_),
|
||||
.top_width_0_height_0_subtile_7__pin_outpad_0_(cbx_1__0__0_bottom_grid_top_width_0_height_0_subtile_7__pin_outpad_0_),
|
||||
.ccff_head(ccff_head),
|
||||
.ccff_head(cbx_1__0__0_ccff_tail),
|
||||
.top_width_0_height_0_subtile_0__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_0__pin_inpad_0_),
|
||||
.top_width_0_height_0_subtile_1__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_1__pin_inpad_0_),
|
||||
.top_width_0_height_0_subtile_2__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_2__pin_inpad_0_),
|
||||
|
@ -284,7 +284,7 @@ wire [0:12] sb_1__1__0_chany_bottom_out;
|
|||
.right_bottom_grid_top_width_0_height_0_subtile_5__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_5__pin_inpad_0_),
|
||||
.right_bottom_grid_top_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.right_bottom_grid_top_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.ccff_head(sb_0__1__0_ccff_tail),
|
||||
.ccff_head(ccff_head),
|
||||
.chany_top_out(sb_0__0__0_chany_top_out[0:12]),
|
||||
.chanx_right_out(sb_0__0__0_chanx_right_out[0:12]),
|
||||
.ccff_tail(sb_0__0__0_ccff_tail));
|
||||
|
@ -338,7 +338,7 @@ wire [0:12] sb_1__1__0_chany_bottom_out;
|
|||
.left_bottom_grid_top_width_0_height_0_subtile_5__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_5__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.ccff_head(grid_io_left_0_ccff_tail),
|
||||
.ccff_head(sb_0__0__0_ccff_tail),
|
||||
.chany_top_out(sb_1__0__0_chany_top_out[0:12]),
|
||||
.chanx_left_out(sb_1__0__0_chanx_left_out[0:12]),
|
||||
.ccff_tail(sb_1__0__0_ccff_tail));
|
||||
|
@ -365,7 +365,7 @@ wire [0:12] sb_1__1__0_chany_bottom_out;
|
|||
.left_top_grid_bottom_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_top_0_bottom_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_top_0_bottom_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_0_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_io_right_0_ccff_tail),
|
||||
.ccff_head(grid_io_left_0_ccff_tail),
|
||||
.chany_bottom_out(sb_1__1__0_chany_bottom_out[0:12]),
|
||||
.chanx_left_out(sb_1__1__0_chanx_left_out[0:12]),
|
||||
.ccff_tail(sb_1__1__0_ccff_tail));
|
||||
|
@ -414,7 +414,7 @@ wire [0:12] sb_1__1__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_0__0__0_chany_top_out[0:12]),
|
||||
.chany_top_in(sb_0__1__0_chany_bottom_out[0:12]),
|
||||
.ccff_head(sb_0__0__0_ccff_tail),
|
||||
.ccff_head(sb_0__1__0_ccff_tail),
|
||||
.chany_bottom_out(cby_0__1__0_chany_bottom_out[0:12]),
|
||||
.chany_top_out(cby_0__1__0_chany_top_out[0:12]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_0__1__0_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -433,7 +433,7 @@ wire [0:12] sb_1__1__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__0__0_chany_top_out[0:12]),
|
||||
.chany_top_in(sb_1__1__0_chany_bottom_out[0:12]),
|
||||
.ccff_head(cbx_1__0__0_ccff_tail),
|
||||
.ccff_head(cbx_1__1__0_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__0_chany_bottom_out[0:12]),
|
||||
.chany_top_out(cby_1__1__0_chany_top_out[0:12]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_outpad_0_(cby_1__1__0_right_grid_left_width_0_height_0_subtile_0__pin_outpad_0_),
|
||||
|
|
|
@ -1,82 +1,82 @@
|
|||
<rr_cb x="0" y="1" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="83" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="201" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="202" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="213" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="214" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="225" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="226" index="25" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="201" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="202" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="213" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="214" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="225" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="226" index="25" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="84" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="201" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="202" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="203" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="204" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="215" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="216" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="201" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="202" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="203" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="204" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="215" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="216" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="56" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="203" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="204" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="205" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="206" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="217" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="218" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="203" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="204" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="205" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="206" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="217" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="218" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="57" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="205" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="206" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="207" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="208" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="219" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="220" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="205" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="206" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="207" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="208" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="219" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="220" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="58" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="207" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="208" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="209" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="210" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="221" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="222" index="21" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="207" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="208" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="209" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="210" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="221" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="222" index="21" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="3" node_id="59" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="209" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="210" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="211" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="212" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="223" index="22" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="224" index="23" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="209" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="210" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="211" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="212" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="223" index="22" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="224" index="23" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="4" node_id="60" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="211" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="212" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="213" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="214" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="225" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="226" index="25" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="211" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="212" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="213" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="214" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="225" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="226" index="25" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="5" node_id="61" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="201" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="202" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="213" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="214" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="215" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="216" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="201" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="202" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="213" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="214" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="215" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="216" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="6" node_id="62" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="203" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="204" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="215" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="216" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="217" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="218" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="203" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="204" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="215" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="216" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="217" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="218" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="7" node_id="63" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="205" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="206" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="217" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="218" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="219" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="220" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="205" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="206" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="217" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="218" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="219" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="220" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,90 +1,90 @@
|
|||
<rr_cb x="1" y="1" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="109" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="227" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="228" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="239" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="240" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="251" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="252" index="25" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="227" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="228" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="239" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="240" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="251" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="252" index="25" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="110" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="227" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="228" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="229" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="230" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="241" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="242" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="227" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="228" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="229" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="230" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="241" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="242" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="2" node_id="111" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="229" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="230" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="231" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="232" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="243" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="244" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="229" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="230" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="231" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="232" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="243" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="244" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="3" node_id="112" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="231" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="232" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="233" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="234" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="245" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="246" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="231" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="232" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="233" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="234" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="245" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="246" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="4" node_id="113" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="233" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="234" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="235" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="236" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="247" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="248" index="21" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="233" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="234" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="235" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="236" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="247" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="248" index="21" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="5" node_id="114" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="235" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="236" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="237" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="238" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="249" index="22" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="250" index="23" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="235" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="236" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="237" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="238" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="249" index="22" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="250" index="23" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="6" node_id="115" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="237" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="238" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="239" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="240" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="251" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="252" index="25" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="237" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="238" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="239" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="240" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="251" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="252" index="25" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="7" node_id="116" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="227" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="228" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="239" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="240" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="241" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="242" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="227" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="228" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="239" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="240" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="241" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="242" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="77" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="229" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="230" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="241" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="242" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="243" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="244" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="229" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="230" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="241" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="242" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="243" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="244" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="78" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="231" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="232" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="243" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="244" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="245" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="246" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="231" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="232" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="243" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="244" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="245" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="246" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="79" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" node_id="233" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="234" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="245" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="246" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="247" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="248" index="21" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="233" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="234" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="245" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="246" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="247" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="248" index="21" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,82 +1,82 @@
|
|||
<rr_cb x="0" y="1" num_sides="4">
|
||||
<IPIN side="right" index="0" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="25" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="25" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="21" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="21" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="3" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="22" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="23" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="22" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="23" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="4" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="25" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="25" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="5" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="6" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="7" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,90 +1,90 @@
|
|||
<rr_cb x="1" y="1" num_sides="4">
|
||||
<IPIN side="right" index="0" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="25" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="25" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="2" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="3" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="4" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="21" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="21" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="5" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="22" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="23" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="22" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="23" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="6" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="25" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="24" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="25" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="7" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" mux_size="6">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="21" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="20" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="21" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -153,48 +153,44 @@ set_disable_timing gfpga_pad_GPIO_PAD[127]
|
|||
set_disable_timing set[0]
|
||||
set_disable_timing reset[0]
|
||||
set_disable_timing prog_clk[0]
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_top_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_top_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/Q
|
||||
|
@ -207,12 +203,16 @@ set_disable_timing fpga_top/grid_io_left_*__*_/logical_tile_io_mode_io__*/logica
|
|||
set_disable_timing fpga_top/grid_io_left_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
|
@ -221,6 +221,14 @@ set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
|
@ -231,6 +239,8 @@ set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/Q
|
||||
|
@ -247,6 +257,14 @@ set_disable_timing fpga_top/grid_clb_*__*_/logical_tile_clb_mode_clb__*/mem_fle_
|
|||
set_disable_timing fpga_top/grid_clb_*__*_/logical_tile_clb_mode_clb__*/mem_fle_*_in_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/Q
|
||||
|
@ -255,32 +273,16 @@ set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
|
@ -293,8 +295,6 @@ set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
##################################################
|
||||
# Disable timing for Connection block cbx_1__0_
|
||||
##################################################
|
||||
|
|
|
@ -6,48 +6,44 @@
|
|||
# Organization: University of Utah
|
||||
#############################################
|
||||
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_bottom_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_right_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/grid_io_top_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/Q
|
||||
set_disable_timing fpga_top/grid_io_top_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/Q
|
||||
|
@ -60,12 +56,16 @@ set_disable_timing fpga_top/grid_io_left_*__*_/logical_tile_io_mode_io__*/logica
|
|||
set_disable_timing fpga_top/grid_io_left_*__*_/logical_tile_io_mode_io__*/logical_tile_io_mode_physical__iopad_*/GPIO_DFF_mem/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
|
@ -74,6 +74,14 @@ set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
|
@ -84,6 +92,8 @@ set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/Q
|
||||
|
@ -100,6 +110,14 @@ set_disable_timing fpga_top/grid_clb_*__*_/logical_tile_clb_mode_clb__*/mem_fle_
|
|||
set_disable_timing fpga_top/grid_clb_*__*_/logical_tile_clb_mode_clb__*/mem_fle_*_in_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_left_ipin_*/DFF_*_/Q
|
||||
|
@ -108,32 +126,16 @@ set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cby_*__*_/mem_right_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_bottom_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_bottom_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/cbx_*__*_/mem_top_ipin_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_top_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_right_track_*/DFF_*_/Q
|
||||
|
@ -146,5 +148,3 @@ set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
|||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/Q
|
||||
set_disable_timing fpga_top/sb_*__*_/mem_left_track_*/DFF_*_/QN
|
||||
|
|
|
@ -221,6 +221,8 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -621,6 +623,9 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -804,7 +809,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -828,8 +832,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -840,9 +842,7 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -864,7 +864,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -877,9 +876,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -898,6 +894,8 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -910,6 +908,7 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -922,13 +921,15 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -939,13 +940,9 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -975,6 +972,7 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -985,9 +983,13 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -1057,8 +1059,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -1075,6 +1075,7 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -1098,6 +1099,8 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -1108,7 +1111,9 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -1234,8 +1239,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -1263,9 +1266,7 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -1277,6 +1278,8 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -1723,9 +1726,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -1979,6 +1979,14 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -2360,7 +2368,7 @@
|
|||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
|
@ -2562,7 +2570,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -2593,6 +2600,15 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -2817,7 +2833,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
|
@ -3054,6 +3069,9 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -3552,6 +3570,10 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
|
@ -3779,7 +3801,78 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -3819,24 +3912,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -3858,12 +3933,22 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -3899,18 +3984,8 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -3944,6 +4019,14 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -3987,14 +4070,7 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -4024,6 +4100,11 @@
|
|||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -4071,21 +4152,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -4133,8 +4199,6 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -4147,67 +4211,3 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
|
|
|
@ -807,7 +807,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.bottom_width_0_height_0_subtile_5__pin_outpad_0_(cbx_1__4__0_top_grid_bottom_width_0_height_0_subtile_5__pin_outpad_0_),
|
||||
.bottom_width_0_height_0_subtile_6__pin_outpad_0_(cbx_1__4__0_top_grid_bottom_width_0_height_0_subtile_6__pin_outpad_0_),
|
||||
.bottom_width_0_height_0_subtile_7__pin_outpad_0_(cbx_1__4__0_top_grid_bottom_width_0_height_0_subtile_7__pin_outpad_0_),
|
||||
.ccff_head(cbx_1__4__0_ccff_tail),
|
||||
.ccff_head(grid_io_top_1_ccff_tail),
|
||||
.bottom_width_0_height_0_subtile_0__pin_inpad_0_(grid_io_top_0_bottom_width_0_height_0_subtile_0__pin_inpad_0_),
|
||||
.bottom_width_0_height_0_subtile_1__pin_inpad_0_(grid_io_top_0_bottom_width_0_height_0_subtile_1__pin_inpad_0_),
|
||||
.bottom_width_0_height_0_subtile_2__pin_inpad_0_(grid_io_top_0_bottom_width_0_height_0_subtile_2__pin_inpad_0_),
|
||||
|
@ -829,7 +829,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.bottom_width_0_height_0_subtile_5__pin_outpad_0_(cbx_1__4__1_top_grid_bottom_width_0_height_0_subtile_5__pin_outpad_0_),
|
||||
.bottom_width_0_height_0_subtile_6__pin_outpad_0_(cbx_1__4__1_top_grid_bottom_width_0_height_0_subtile_6__pin_outpad_0_),
|
||||
.bottom_width_0_height_0_subtile_7__pin_outpad_0_(cbx_1__4__1_top_grid_bottom_width_0_height_0_subtile_7__pin_outpad_0_),
|
||||
.ccff_head(cbx_1__4__1_ccff_tail),
|
||||
.ccff_head(grid_io_top_2_ccff_tail),
|
||||
.bottom_width_0_height_0_subtile_0__pin_inpad_0_(grid_io_top_1_bottom_width_0_height_0_subtile_0__pin_inpad_0_),
|
||||
.bottom_width_0_height_0_subtile_1__pin_inpad_0_(grid_io_top_1_bottom_width_0_height_0_subtile_1__pin_inpad_0_),
|
||||
.bottom_width_0_height_0_subtile_2__pin_inpad_0_(grid_io_top_1_bottom_width_0_height_0_subtile_2__pin_inpad_0_),
|
||||
|
@ -851,7 +851,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.bottom_width_0_height_0_subtile_5__pin_outpad_0_(cbx_1__4__2_top_grid_bottom_width_0_height_0_subtile_5__pin_outpad_0_),
|
||||
.bottom_width_0_height_0_subtile_6__pin_outpad_0_(cbx_1__4__2_top_grid_bottom_width_0_height_0_subtile_6__pin_outpad_0_),
|
||||
.bottom_width_0_height_0_subtile_7__pin_outpad_0_(cbx_1__4__2_top_grid_bottom_width_0_height_0_subtile_7__pin_outpad_0_),
|
||||
.ccff_head(cbx_1__4__2_ccff_tail),
|
||||
.ccff_head(grid_io_top_3_ccff_tail),
|
||||
.bottom_width_0_height_0_subtile_0__pin_inpad_0_(grid_io_top_2_bottom_width_0_height_0_subtile_0__pin_inpad_0_),
|
||||
.bottom_width_0_height_0_subtile_1__pin_inpad_0_(grid_io_top_2_bottom_width_0_height_0_subtile_1__pin_inpad_0_),
|
||||
.bottom_width_0_height_0_subtile_2__pin_inpad_0_(grid_io_top_2_bottom_width_0_height_0_subtile_2__pin_inpad_0_),
|
||||
|
@ -873,7 +873,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.bottom_width_0_height_0_subtile_5__pin_outpad_0_(cbx_1__4__3_top_grid_bottom_width_0_height_0_subtile_5__pin_outpad_0_),
|
||||
.bottom_width_0_height_0_subtile_6__pin_outpad_0_(cbx_1__4__3_top_grid_bottom_width_0_height_0_subtile_6__pin_outpad_0_),
|
||||
.bottom_width_0_height_0_subtile_7__pin_outpad_0_(cbx_1__4__3_top_grid_bottom_width_0_height_0_subtile_7__pin_outpad_0_),
|
||||
.ccff_head(cbx_1__4__3_ccff_tail),
|
||||
.ccff_head(grid_io_right_0_ccff_tail),
|
||||
.bottom_width_0_height_0_subtile_0__pin_inpad_0_(grid_io_top_3_bottom_width_0_height_0_subtile_0__pin_inpad_0_),
|
||||
.bottom_width_0_height_0_subtile_1__pin_inpad_0_(grid_io_top_3_bottom_width_0_height_0_subtile_1__pin_inpad_0_),
|
||||
.bottom_width_0_height_0_subtile_2__pin_inpad_0_(grid_io_top_3_bottom_width_0_height_0_subtile_2__pin_inpad_0_),
|
||||
|
@ -983,7 +983,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.top_width_0_height_0_subtile_5__pin_outpad_0_(cbx_1__0__3_bottom_grid_top_width_0_height_0_subtile_5__pin_outpad_0_),
|
||||
.top_width_0_height_0_subtile_6__pin_outpad_0_(cbx_1__0__3_bottom_grid_top_width_0_height_0_subtile_6__pin_outpad_0_),
|
||||
.top_width_0_height_0_subtile_7__pin_outpad_0_(cbx_1__0__3_bottom_grid_top_width_0_height_0_subtile_7__pin_outpad_0_),
|
||||
.ccff_head(grid_io_bottom_1_ccff_tail),
|
||||
.ccff_head(cbx_1__0__3_ccff_tail),
|
||||
.top_width_0_height_0_subtile_0__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_0__pin_inpad_0_),
|
||||
.top_width_0_height_0_subtile_1__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_1__pin_inpad_0_),
|
||||
.top_width_0_height_0_subtile_2__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_2__pin_inpad_0_),
|
||||
|
@ -1005,7 +1005,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.top_width_0_height_0_subtile_5__pin_outpad_0_(cbx_1__0__2_bottom_grid_top_width_0_height_0_subtile_5__pin_outpad_0_),
|
||||
.top_width_0_height_0_subtile_6__pin_outpad_0_(cbx_1__0__2_bottom_grid_top_width_0_height_0_subtile_6__pin_outpad_0_),
|
||||
.top_width_0_height_0_subtile_7__pin_outpad_0_(cbx_1__0__2_bottom_grid_top_width_0_height_0_subtile_7__pin_outpad_0_),
|
||||
.ccff_head(grid_io_bottom_2_ccff_tail),
|
||||
.ccff_head(cbx_1__0__2_ccff_tail),
|
||||
.top_width_0_height_0_subtile_0__pin_inpad_0_(grid_io_bottom_1_top_width_0_height_0_subtile_0__pin_inpad_0_),
|
||||
.top_width_0_height_0_subtile_1__pin_inpad_0_(grid_io_bottom_1_top_width_0_height_0_subtile_1__pin_inpad_0_),
|
||||
.top_width_0_height_0_subtile_2__pin_inpad_0_(grid_io_bottom_1_top_width_0_height_0_subtile_2__pin_inpad_0_),
|
||||
|
@ -1027,7 +1027,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.top_width_0_height_0_subtile_5__pin_outpad_0_(cbx_1__0__1_bottom_grid_top_width_0_height_0_subtile_5__pin_outpad_0_),
|
||||
.top_width_0_height_0_subtile_6__pin_outpad_0_(cbx_1__0__1_bottom_grid_top_width_0_height_0_subtile_6__pin_outpad_0_),
|
||||
.top_width_0_height_0_subtile_7__pin_outpad_0_(cbx_1__0__1_bottom_grid_top_width_0_height_0_subtile_7__pin_outpad_0_),
|
||||
.ccff_head(grid_io_bottom_3_ccff_tail),
|
||||
.ccff_head(cbx_1__0__1_ccff_tail),
|
||||
.top_width_0_height_0_subtile_0__pin_inpad_0_(grid_io_bottom_2_top_width_0_height_0_subtile_0__pin_inpad_0_),
|
||||
.top_width_0_height_0_subtile_1__pin_inpad_0_(grid_io_bottom_2_top_width_0_height_0_subtile_1__pin_inpad_0_),
|
||||
.top_width_0_height_0_subtile_2__pin_inpad_0_(grid_io_bottom_2_top_width_0_height_0_subtile_2__pin_inpad_0_),
|
||||
|
@ -1049,7 +1049,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.top_width_0_height_0_subtile_5__pin_outpad_0_(cbx_1__0__0_bottom_grid_top_width_0_height_0_subtile_5__pin_outpad_0_),
|
||||
.top_width_0_height_0_subtile_6__pin_outpad_0_(cbx_1__0__0_bottom_grid_top_width_0_height_0_subtile_6__pin_outpad_0_),
|
||||
.top_width_0_height_0_subtile_7__pin_outpad_0_(cbx_1__0__0_bottom_grid_top_width_0_height_0_subtile_7__pin_outpad_0_),
|
||||
.ccff_head(ccff_head),
|
||||
.ccff_head(cbx_1__0__0_ccff_tail),
|
||||
.top_width_0_height_0_subtile_0__pin_inpad_0_(grid_io_bottom_3_top_width_0_height_0_subtile_0__pin_inpad_0_),
|
||||
.top_width_0_height_0_subtile_1__pin_inpad_0_(grid_io_bottom_3_top_width_0_height_0_subtile_1__pin_inpad_0_),
|
||||
.top_width_0_height_0_subtile_2__pin_inpad_0_(grid_io_bottom_3_top_width_0_height_0_subtile_2__pin_inpad_0_),
|
||||
|
@ -1538,7 +1538,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.right_bottom_grid_top_width_0_height_0_subtile_5__pin_inpad_0_(grid_io_bottom_3_top_width_0_height_0_subtile_5__pin_inpad_0_),
|
||||
.right_bottom_grid_top_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_bottom_3_top_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.right_bottom_grid_top_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_bottom_3_top_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.ccff_head(grid_io_left_1_ccff_tail),
|
||||
.ccff_head(ccff_head),
|
||||
.chany_top_out(sb_0__0__0_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_0__0__0_chanx_right_out[0:9]),
|
||||
.ccff_tail(sb_0__0__0_ccff_tail));
|
||||
|
@ -1568,7 +1568,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.bottom_left_grid_right_width_0_height_0_subtile_5__pin_inpad_0_(grid_io_left_0_right_width_0_height_0_subtile_5__pin_inpad_0_),
|
||||
.bottom_left_grid_right_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_left_0_right_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.bottom_left_grid_right_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_left_0_right_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.ccff_head(grid_io_left_2_ccff_tail),
|
||||
.ccff_head(grid_io_left_1_ccff_tail),
|
||||
.chany_top_out(sb_0__1__0_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_0__1__0_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_0__1__0_chany_bottom_out[0:9]),
|
||||
|
@ -1599,7 +1599,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.bottom_left_grid_right_width_0_height_0_subtile_5__pin_inpad_0_(grid_io_left_1_right_width_0_height_0_subtile_5__pin_inpad_0_),
|
||||
.bottom_left_grid_right_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_left_1_right_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.bottom_left_grid_right_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_left_1_right_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.ccff_head(grid_io_left_3_ccff_tail),
|
||||
.ccff_head(grid_io_left_2_ccff_tail),
|
||||
.chany_top_out(sb_0__1__1_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_0__1__1_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_0__1__1_chany_bottom_out[0:9]),
|
||||
|
@ -1630,7 +1630,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.bottom_left_grid_right_width_0_height_0_subtile_5__pin_inpad_0_(grid_io_left_2_right_width_0_height_0_subtile_5__pin_inpad_0_),
|
||||
.bottom_left_grid_right_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_left_2_right_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.bottom_left_grid_right_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_left_2_right_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.ccff_head(sb_0__4__0_ccff_tail),
|
||||
.ccff_head(grid_io_left_3_ccff_tail),
|
||||
.chany_top_out(sb_0__1__2_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_0__1__2_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_0__1__2_chany_bottom_out[0:9]),
|
||||
|
@ -1688,7 +1688,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.left_bottom_grid_top_width_0_height_0_subtile_5__pin_inpad_0_(grid_io_bottom_3_top_width_0_height_0_subtile_5__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_bottom_3_top_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_bottom_3_top_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.ccff_head(grid_io_left_0_ccff_tail),
|
||||
.ccff_head(sb_0__0__0_ccff_tail),
|
||||
.chany_top_out(sb_1__0__0_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__0__0_chanx_right_out[0:9]),
|
||||
.chanx_left_out(sb_1__0__0_chanx_left_out[0:9]),
|
||||
|
@ -1719,7 +1719,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.left_bottom_grid_top_width_0_height_0_subtile_5__pin_inpad_0_(grid_io_bottom_2_top_width_0_height_0_subtile_5__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_bottom_2_top_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_bottom_2_top_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.ccff_head(grid_clb_0_ccff_tail),
|
||||
.ccff_head(grid_io_bottom_3_ccff_tail),
|
||||
.chany_top_out(sb_1__0__1_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__0__1_chanx_right_out[0:9]),
|
||||
.chanx_left_out(sb_1__0__1_chanx_left_out[0:9]),
|
||||
|
@ -1750,7 +1750,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.left_bottom_grid_top_width_0_height_0_subtile_5__pin_inpad_0_(grid_io_bottom_1_top_width_0_height_0_subtile_5__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_bottom_1_top_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_bottom_1_top_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.ccff_head(grid_clb_4_ccff_tail),
|
||||
.ccff_head(grid_io_bottom_2_ccff_tail),
|
||||
.chany_top_out(sb_1__0__2_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__0__2_chanx_right_out[0:9]),
|
||||
.chanx_left_out(sb_1__0__2_chanx_left_out[0:9]),
|
||||
|
@ -1770,7 +1770,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__0_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_1_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_0_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_5_ccff_tail),
|
||||
.ccff_head(grid_io_left_0_ccff_tail),
|
||||
.chany_top_out(sb_1__1__0_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__1__0_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__1__0_chany_bottom_out[0:9]),
|
||||
|
@ -1791,7 +1791,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__1_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_2_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_1_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_1_ccff_tail),
|
||||
.ccff_head(grid_clb_5_ccff_tail),
|
||||
.chany_top_out(sb_1__1__1_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__1__1_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__1__1_chany_bottom_out[0:9]),
|
||||
|
@ -1812,7 +1812,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__2_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_3_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_2_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_7_ccff_tail),
|
||||
.ccff_head(grid_clb_1_ccff_tail),
|
||||
.chany_top_out(sb_1__1__2_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__1__2_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__1__2_chany_bottom_out[0:9]),
|
||||
|
@ -1833,7 +1833,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__3_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_5_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_4_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_9_ccff_tail),
|
||||
.ccff_head(grid_clb_0_ccff_tail),
|
||||
.chany_top_out(sb_1__1__3_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__1__3_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__1__3_chany_bottom_out[0:9]),
|
||||
|
@ -1854,7 +1854,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__4_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_6_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_5_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_2_ccff_tail),
|
||||
.ccff_head(grid_clb_9_ccff_tail),
|
||||
.chany_top_out(sb_1__1__4_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__1__4_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__1__4_chany_bottom_out[0:9]),
|
||||
|
@ -1875,7 +1875,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__5_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_7_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_6_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_11_ccff_tail),
|
||||
.ccff_head(grid_clb_2_ccff_tail),
|
||||
.chany_top_out(sb_1__1__5_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__1__5_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__1__5_chany_bottom_out[0:9]),
|
||||
|
@ -1896,7 +1896,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__6_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_9_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_8_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_13_ccff_tail),
|
||||
.ccff_head(grid_clb_4_ccff_tail),
|
||||
.chany_top_out(sb_1__1__6_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__1__6_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__1__6_chany_bottom_out[0:9]),
|
||||
|
@ -1917,7 +1917,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__7_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_10_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_9_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_6_ccff_tail),
|
||||
.ccff_head(grid_clb_13_ccff_tail),
|
||||
.chany_top_out(sb_1__1__7_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__1__7_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__1__7_chany_bottom_out[0:9]),
|
||||
|
@ -1938,7 +1938,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__8_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_11_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_10_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_15_ccff_tail),
|
||||
.ccff_head(grid_clb_6_ccff_tail),
|
||||
.chany_top_out(sb_1__1__8_chany_top_out[0:9]),
|
||||
.chanx_right_out(sb_1__1__8_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__1__8_chany_bottom_out[0:9]),
|
||||
|
@ -1970,7 +1970,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.left_top_grid_bottom_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_top_0_bottom_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_top_0_bottom_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_3_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_io_top_1_ccff_tail),
|
||||
.ccff_head(grid_clb_7_ccff_tail),
|
||||
.chanx_right_out(sb_1__4__0_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__4__0_chany_bottom_out[0:9]),
|
||||
.chanx_left_out(sb_1__4__0_chanx_left_out[0:9]),
|
||||
|
@ -2001,7 +2001,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.left_top_grid_bottom_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_top_1_bottom_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_top_1_bottom_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_7_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_io_top_2_ccff_tail),
|
||||
.ccff_head(grid_clb_11_ccff_tail),
|
||||
.chanx_right_out(sb_1__4__1_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__4__1_chany_bottom_out[0:9]),
|
||||
.chanx_left_out(sb_1__4__1_chanx_left_out[0:9]),
|
||||
|
@ -2032,7 +2032,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.left_top_grid_bottom_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_top_2_bottom_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_top_2_bottom_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_11_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_io_top_3_ccff_tail),
|
||||
.ccff_head(grid_clb_15_ccff_tail),
|
||||
.chanx_right_out(sb_1__4__2_chanx_right_out[0:9]),
|
||||
.chany_bottom_out(sb_1__4__2_chany_bottom_out[0:9]),
|
||||
.chanx_left_out(sb_1__4__2_chanx_left_out[0:9]),
|
||||
|
@ -2060,7 +2060,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.left_bottom_grid_top_width_0_height_0_subtile_5__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_5__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_bottom_0_top_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.ccff_head(grid_clb_8_ccff_tail),
|
||||
.ccff_head(grid_io_bottom_1_ccff_tail),
|
||||
.chany_top_out(sb_4__0__0_chany_top_out[0:9]),
|
||||
.chanx_left_out(sb_4__0__0_chanx_left_out[0:9]),
|
||||
.ccff_tail(sb_4__0__0_ccff_tail));
|
||||
|
@ -2090,7 +2090,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__9_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_13_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_12_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_12_ccff_tail),
|
||||
.ccff_head(grid_clb_8_ccff_tail),
|
||||
.chany_top_out(sb_4__1__0_chany_top_out[0:9]),
|
||||
.chany_bottom_out(sb_4__1__0_chany_bottom_out[0:9]),
|
||||
.chanx_left_out(sb_4__1__0_chanx_left_out[0:9]),
|
||||
|
@ -2121,7 +2121,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__10_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_14_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_13_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_10_ccff_tail),
|
||||
.ccff_head(grid_clb_12_ccff_tail),
|
||||
.chany_top_out(sb_4__1__1_chany_top_out[0:9]),
|
||||
.chany_bottom_out(sb_4__1__1_chany_bottom_out[0:9]),
|
||||
.chanx_left_out(sb_4__1__1_chanx_left_out[0:9]),
|
||||
|
@ -2152,7 +2152,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.chanx_left_in(cbx_1__1__11_chanx_right_out[0:9]),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_0__pin_O_0_(grid_clb_15_bottom_width_0_height_0_subtile_0__pin_O_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_14_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_clb_14_ccff_tail),
|
||||
.ccff_head(grid_clb_10_ccff_tail),
|
||||
.chany_top_out(sb_4__1__2_chany_top_out[0:9]),
|
||||
.chany_bottom_out(sb_4__1__2_chany_bottom_out[0:9]),
|
||||
.chanx_left_out(sb_4__1__2_chanx_left_out[0:9]),
|
||||
|
@ -2180,7 +2180,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.left_top_grid_bottom_width_0_height_0_subtile_6__pin_inpad_0_(grid_io_top_3_bottom_width_0_height_0_subtile_6__pin_inpad_0_),
|
||||
.left_top_grid_bottom_width_0_height_0_subtile_7__pin_inpad_0_(grid_io_top_3_bottom_width_0_height_0_subtile_7__pin_inpad_0_),
|
||||
.left_bottom_grid_top_width_0_height_0_subtile_0__pin_O_2_(grid_clb_15_top_width_0_height_0_subtile_0__pin_O_2_),
|
||||
.ccff_head(grid_io_right_0_ccff_tail),
|
||||
.ccff_head(grid_clb_14_ccff_tail),
|
||||
.chany_bottom_out(sb_4__4__0_chany_bottom_out[0:9]),
|
||||
.chanx_left_out(sb_4__4__0_chanx_left_out[0:9]),
|
||||
.ccff_tail(sb_4__4__0_ccff_tail));
|
||||
|
@ -2529,7 +2529,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_0__0__0_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_0__1__0_chany_bottom_out[0:9]),
|
||||
.ccff_head(sb_0__0__0_ccff_tail),
|
||||
.ccff_head(sb_0__1__0_ccff_tail),
|
||||
.chany_bottom_out(cby_0__1__0_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_0__1__0_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_0__1__0_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2548,7 +2548,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_0__1__0_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_0__1__1_chany_bottom_out[0:9]),
|
||||
.ccff_head(sb_0__1__0_ccff_tail),
|
||||
.ccff_head(sb_0__1__1_ccff_tail),
|
||||
.chany_bottom_out(cby_0__1__1_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_0__1__1_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_0__1__1_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2567,7 +2567,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_0__1__1_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_0__1__2_chany_bottom_out[0:9]),
|
||||
.ccff_head(sb_0__1__1_ccff_tail),
|
||||
.ccff_head(sb_0__1__2_ccff_tail),
|
||||
.chany_bottom_out(cby_0__1__2_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_0__1__2_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_0__1__2_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2586,7 +2586,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_0__1__2_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_0__4__0_chany_bottom_out[0:9]),
|
||||
.ccff_head(sb_0__1__2_ccff_tail),
|
||||
.ccff_head(sb_0__4__0_ccff_tail),
|
||||
.chany_bottom_out(cby_0__1__3_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_0__1__3_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_0__1__3_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2605,7 +2605,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__0__0_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__1__0_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__0__0_ccff_tail),
|
||||
.ccff_head(cbx_1__1__0_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__0_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__0_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__0_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2619,7 +2619,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__1__0_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__1__1_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__0_ccff_tail),
|
||||
.ccff_head(cbx_1__1__1_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__1_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__1_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__1_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2633,7 +2633,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__1__1_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__1__2_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__1_ccff_tail),
|
||||
.ccff_head(cbx_1__1__2_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__2_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__2_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__2_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2647,7 +2647,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__1__2_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__4__0_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__2_ccff_tail),
|
||||
.ccff_head(cbx_1__4__0_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__3_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__3_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__3_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2661,7 +2661,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__0__1_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__1__3_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__0__1_ccff_tail),
|
||||
.ccff_head(cbx_1__1__3_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__4_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__4_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__4_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2675,7 +2675,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__1__3_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__1__4_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__3_ccff_tail),
|
||||
.ccff_head(cbx_1__1__4_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__5_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__5_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__5_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2689,7 +2689,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__1__4_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__1__5_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__4_ccff_tail),
|
||||
.ccff_head(cbx_1__1__5_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__6_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__6_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__6_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2703,7 +2703,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__1__5_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__4__1_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__5_ccff_tail),
|
||||
.ccff_head(cbx_1__4__1_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__7_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__7_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__7_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2717,7 +2717,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__0__2_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__1__6_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__0__2_ccff_tail),
|
||||
.ccff_head(cbx_1__1__6_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__8_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__8_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__8_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2731,7 +2731,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__1__6_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__1__7_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__6_ccff_tail),
|
||||
.ccff_head(cbx_1__1__7_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__9_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__9_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__9_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2745,7 +2745,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__1__7_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__1__8_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__7_ccff_tail),
|
||||
.ccff_head(cbx_1__1__8_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__10_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__10_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__10_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2759,7 +2759,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_1__1__8_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_1__4__2_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__8_ccff_tail),
|
||||
.ccff_head(cbx_1__4__2_ccff_tail),
|
||||
.chany_bottom_out(cby_1__1__11_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_1__1__11_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_I_3_(cby_1__1__11_right_grid_left_width_0_height_0_subtile_0__pin_I_3_),
|
||||
|
@ -2773,7 +2773,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_4__0__0_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_4__1__0_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__0__3_ccff_tail),
|
||||
.ccff_head(cbx_1__1__9_ccff_tail),
|
||||
.chany_bottom_out(cby_4__1__0_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_4__1__0_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_outpad_0_(cby_4__1__0_right_grid_left_width_0_height_0_subtile_0__pin_outpad_0_),
|
||||
|
@ -2793,7 +2793,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_4__1__0_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_4__1__1_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__9_ccff_tail),
|
||||
.ccff_head(cbx_1__1__10_ccff_tail),
|
||||
.chany_bottom_out(cby_4__1__1_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_4__1__1_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_outpad_0_(cby_4__1__1_right_grid_left_width_0_height_0_subtile_0__pin_outpad_0_),
|
||||
|
@ -2813,7 +2813,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_4__1__1_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_4__1__2_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__10_ccff_tail),
|
||||
.ccff_head(cbx_1__1__11_ccff_tail),
|
||||
.chany_bottom_out(cby_4__1__2_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_4__1__2_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_outpad_0_(cby_4__1__2_right_grid_left_width_0_height_0_subtile_0__pin_outpad_0_),
|
||||
|
@ -2833,7 +2833,7 @@ wire [0:9] sb_4__4__0_chany_bottom_out;
|
|||
.prog_clk(prog_clk),
|
||||
.chany_bottom_in(sb_4__1__2_chany_top_out[0:9]),
|
||||
.chany_top_in(sb_4__4__0_chany_bottom_out[0:9]),
|
||||
.ccff_head(cbx_1__1__11_ccff_tail),
|
||||
.ccff_head(cbx_1__4__3_ccff_tail),
|
||||
.chany_bottom_out(cby_4__1__3_chany_bottom_out[0:9]),
|
||||
.chany_top_out(cby_4__1__3_chany_top_out[0:9]),
|
||||
.right_grid_left_width_0_height_0_subtile_0__pin_outpad_0_(cby_4__1__3_right_grid_left_width_0_height_0_subtile_0__pin_outpad_0_),
|
||||
|
|
|
@ -1,60 +1,60 @@
|
|||
<rr_cb x="0" y="1" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="179" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1038" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1039" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1048" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1049" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1038" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1039" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1048" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1049" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="180" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1040" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1041" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1040" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1041" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="152" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1042" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1043" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1052" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1053" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1042" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1043" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1052" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1053" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="153" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1044" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1045" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1054" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1055" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1044" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1045" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1054" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1055" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="154" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1046" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1047" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1056" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1057" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1046" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1047" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1056" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1057" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="3" node_id="155" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1038" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1039" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1048" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1049" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1038" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1039" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1048" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1049" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="4" node_id="156" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1040" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1041" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1050" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1051" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1040" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1041" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1050" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1051" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="5" node_id="157" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1042" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1043" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1052" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1053" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1042" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1043" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1052" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1053" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="6" node_id="158" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1044" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1045" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1054" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1055" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1044" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1045" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1054" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1055" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="7" node_id="159" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1046" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1047" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1056" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1057" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1046" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1047" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1056" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1057" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,60 +1,60 @@
|
|||
<rr_cb x="0" y="2" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="327" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1058" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1041" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1046" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1051" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1058" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1041" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1046" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1051" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="328" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1038" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1043" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1038" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1043" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="300" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1040" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1045" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1050" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1061" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1040" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1045" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1050" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1061" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="301" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1042" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1059" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1062" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1057" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1042" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1059" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1062" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1057" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="302" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1060" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1049" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1054" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1063" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1060" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1049" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1054" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1063" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="3" node_id="303" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1058" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1041" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1046" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1051" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1058" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1041" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1046" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1051" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="4" node_id="304" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1038" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1043" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1048" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1053" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1038" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1043" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1048" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1053" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="5" node_id="305" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1040" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1045" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1050" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1061" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1040" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1045" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1050" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1061" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="6" node_id="306" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1042" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1059" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1062" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1057" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1042" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1059" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1062" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1057" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="7" node_id="307" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1060" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1049" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1054" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1063" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1060" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1049" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1054" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1063" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,60 +1,60 @@
|
|||
<rr_cb x="0" y="3" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="475" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1064" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1043" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1060" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1053" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1064" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1043" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1060" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1053" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="476" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1058" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1045" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1058" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1045" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="448" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1038" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1059" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1048" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1067" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1038" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1059" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1048" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1067" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="449" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1040" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1065" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1068" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1063" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1040" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1065" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1068" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1063" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="450" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1066" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1051" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1062" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1069" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1066" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1051" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1062" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1069" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="3" node_id="451" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1064" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1043" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1060" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1053" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1064" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1043" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1060" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1053" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="4" node_id="452" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1058" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1045" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1046" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1061" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1058" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1045" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1046" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1061" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="5" node_id="453" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1038" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1059" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1048" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1067" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1038" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1059" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1048" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1067" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="6" node_id="454" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1040" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1065" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1068" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1063" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1040" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1065" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1068" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1063" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="7" node_id="455" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1066" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1051" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1062" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1069" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1066" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1051" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1062" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1069" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,60 +1,60 @@
|
|||
<rr_cb x="0" y="4" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="623" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1070" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1045" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1066" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1061" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1070" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1045" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1066" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1061" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="624" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1064" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1059" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1064" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1059" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="596" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1058" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1065" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1046" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1073" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1058" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1065" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1046" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1073" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="597" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1038" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1071" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1074" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1069" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1038" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1071" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1074" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1069" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="598" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1072" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1053" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1068" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1075" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1072" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1053" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1068" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1075" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="3" node_id="599" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1070" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1045" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1066" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1061" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1070" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1045" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1066" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1061" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="4" node_id="600" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1064" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1059" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1060" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1067" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1064" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1059" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1060" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1067" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="5" node_id="601" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1058" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1065" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1046" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1073" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1058" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1065" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1046" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1073" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="6" node_id="602" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1038" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1071" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1074" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1069" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1038" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1071" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1074" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1069" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="7" node_id="603" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1072" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1053" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1068" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1075" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1072" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1053" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1068" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1075" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="1" y="1" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="200" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1076" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1077" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1086" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1087" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1076" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1077" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1086" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1087" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="201" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1078" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1079" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1078" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1079" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="173" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1080" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1081" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1090" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1091" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1080" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1081" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1090" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1091" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="174" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1082" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1083" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1082" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1083" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="175" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1084" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1085" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1084" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1085" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="1" y="2" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="348" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1096" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1079" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1084" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1089" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1096" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1079" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1084" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1089" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="349" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1076" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1081" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1076" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1081" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="321" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1078" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1083" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1088" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1099" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1078" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1083" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1088" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1099" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="322" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1080" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1097" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1080" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1097" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="323" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1098" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1087" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1098" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1087" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="1" y="3" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="496" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1102" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1081" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1098" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1091" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1102" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1081" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1098" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1091" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="497" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1096" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1083" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1096" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1083" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="469" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1076" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1097" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1086" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1105" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1076" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1097" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1086" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1105" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="470" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1078" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1103" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1078" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1103" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="471" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1104" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1089" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1104" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1089" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="1" y="4" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="644" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1108" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1083" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1104" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1099" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1108" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1083" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1104" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1099" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="645" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1102" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1097" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1102" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1097" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="617" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1096" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1103" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1084" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1111" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1096" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1103" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1084" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1111" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="618" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1076" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1109" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1076" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1109" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="619" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1110" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1091" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1110" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1091" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="2" y="1" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="221" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1114" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1115" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1124" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1125" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1114" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1115" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1124" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1125" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="222" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1116" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1117" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1116" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1117" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="194" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1118" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1119" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1128" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1129" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1118" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1119" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1128" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1129" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="195" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1120" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1121" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1120" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1121" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="196" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1122" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1123" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1122" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1123" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="2" y="2" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="369" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1134" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1117" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1122" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1127" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1134" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1117" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1122" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1127" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="370" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1114" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1119" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1114" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1119" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="342" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1116" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1121" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1126" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1137" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1116" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1121" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1126" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1137" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="343" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1118" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1135" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1118" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1135" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="344" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1136" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1125" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1136" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1125" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="2" y="3" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="517" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1140" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1119" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1136" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1129" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1140" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1119" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1136" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1129" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="518" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1134" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1121" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1134" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1121" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="490" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1114" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1135" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1124" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1143" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1114" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1135" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1124" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1143" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="491" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1116" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1141" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1116" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1141" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="492" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1142" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1127" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1142" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1127" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="2" y="4" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="665" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1146" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1121" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1142" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1137" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1146" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1121" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1142" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1137" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="666" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1140" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1135" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1140" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1135" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="638" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1134" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1141" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1122" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1149" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1134" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1141" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1122" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1149" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="639" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1114" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1147" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1114" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1147" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="640" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1148" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1129" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1148" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1129" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="3" y="1" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="242" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1152" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1153" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1162" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1163" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1152" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1153" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1162" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1163" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="243" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1154" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1155" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1154" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1155" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="215" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1156" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1157" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1166" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1167" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1156" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1157" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1166" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1167" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="216" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1158" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1159" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1158" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1159" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="217" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1160" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1161" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1160" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1161" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="3" y="2" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="390" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1172" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1155" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1160" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1165" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1172" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1155" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1160" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1165" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="391" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1152" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1157" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1152" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1157" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="363" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1154" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1159" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1164" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1175" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1154" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1159" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1164" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1175" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="364" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1156" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1173" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1156" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1173" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="365" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1174" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1163" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1174" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1163" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="3" y="3" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="538" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1178" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1157" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1174" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1167" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1178" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1157" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1174" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1167" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="539" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1172" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1159" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1172" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1159" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="511" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1152" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1173" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1162" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1181" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1152" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1173" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1162" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1181" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="512" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1154" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1179" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1154" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1179" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="513" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1180" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1165" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1180" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1165" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="3" y="4" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="686" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1184" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1159" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1180" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1175" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1184" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1159" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1180" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1175" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="687" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1178" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1173" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1178" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1173" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="659" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1172" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1179" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1160" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1187" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1172" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1179" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1160" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1187" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="660" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1152" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1185" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1152" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1185" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="661" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1186" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1167" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1186" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1167" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,64 +1,64 @@
|
|||
<rr_cb x="4" y="1" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="268" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1190" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1191" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1200" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1201" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1190" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1191" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1200" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1201" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="269" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1192" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1193" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1202" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1203" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1192" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1193" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1202" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1203" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="2" node_id="270" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1194" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1195" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1204" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1205" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1194" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1195" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1204" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1205" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="3" node_id="271" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1196" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1197" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1206" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1207" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1196" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1197" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1206" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1207" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="4" node_id="272" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1198" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1199" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1208" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1209" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1198" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1199" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1208" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1209" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="5" node_id="273" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1190" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1191" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1200" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1201" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1190" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1191" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1200" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1201" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="6" node_id="274" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1192" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1193" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1202" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1203" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1192" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1193" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1202" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1203" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="7" node_id="275" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1194" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1195" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1204" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1205" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1194" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1195" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1204" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1205" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="236" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1196" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1197" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1206" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1207" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1196" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1197" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1206" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1207" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="237" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1208" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1209" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1208" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1209" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="238" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1190" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1191" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1190" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1191" index="1" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,64 +1,64 @@
|
|||
<rr_cb x="4" y="2" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="416" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1210" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1193" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1198" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1203" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1210" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1193" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1198" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1203" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="417" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1190" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1195" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1200" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1205" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1190" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1195" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1200" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1205" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="2" node_id="418" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1192" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1197" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1202" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1213" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1192" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1197" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1202" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1213" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="3" node_id="419" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1194" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1211" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1214" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1209" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1194" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1211" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1214" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1209" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="4" node_id="420" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1212" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1201" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1206" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1215" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1212" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1201" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1206" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1215" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="5" node_id="421" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1210" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1193" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1198" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1203" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1210" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1193" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1198" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1203" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="6" node_id="422" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1190" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1195" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1200" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1205" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1190" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1195" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1200" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1205" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="7" node_id="423" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1192" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1197" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1202" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1213" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1192" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1197" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1202" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1213" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="384" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1194" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1211" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1214" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1209" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1194" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1211" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1214" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1209" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="385" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1206" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1215" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1206" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1215" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="386" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1210" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1193" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1210" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1193" index="1" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,64 +1,64 @@
|
|||
<rr_cb x="4" y="3" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="564" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1216" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1195" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1212" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1205" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1216" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1195" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1212" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1205" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="565" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1210" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1197" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1198" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1213" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1210" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1197" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1198" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1213" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="2" node_id="566" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1190" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1211" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1200" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1219" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1190" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1211" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1200" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1219" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="3" node_id="567" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1192" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1217" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1220" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1215" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1192" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1217" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1220" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1215" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="4" node_id="568" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1218" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1203" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1214" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1221" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1218" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1203" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1214" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1221" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="5" node_id="569" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1216" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1195" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1212" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1205" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1216" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1195" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1212" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1205" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="6" node_id="570" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1210" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1197" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1198" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1213" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1210" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1197" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1198" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1213" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="7" node_id="571" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1190" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1211" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1200" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1219" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1190" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1211" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1200" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1219" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="532" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1192" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1217" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1220" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1215" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1192" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1217" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1220" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1215" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="533" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1214" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1221" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1214" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1221" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="534" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1216" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1195" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1216" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1195" index="1" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,64 +1,64 @@
|
|||
<rr_cb x="4" y="4" num_sides="4">
|
||||
<IPIN side="right" index="0" node_id="712" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1222" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1197" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1218" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1213" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1222" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1197" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1218" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1213" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" node_id="713" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1216" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1211" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1212" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1219" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1216" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1211" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1212" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1219" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="2" node_id="714" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1210" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1217" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1198" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1225" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1210" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1217" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1198" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1225" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="3" node_id="715" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1190" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1223" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1226" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1221" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1190" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1223" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1226" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1221" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="4" node_id="716" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1224" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1205" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1220" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1227" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1224" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1205" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1220" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1227" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="5" node_id="717" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1222" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1197" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1218" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1213" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1222" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1197" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1218" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1213" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="6" node_id="718" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1216" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1211" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1212" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1219" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1216" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1211" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1212" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1219" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="7" node_id="719" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1210" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1217" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1198" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1225" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1210" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1217" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1198" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1225" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" node_id="680" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" node_id="1190" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1223" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1226" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1221" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1190" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1223" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1226" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1221" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" node_id="681" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1220" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1227" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1220" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1227" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" node_id="682" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" node_id="1222" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" node_id="1197" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1222" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" node_id="1197" index="1" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,60 +1,60 @@
|
|||
<rr_cb x="0" y="1" num_sides="4">
|
||||
<IPIN side="right" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="3" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="4" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="5" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="6" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="7" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,60 +1,60 @@
|
|||
<rr_cb x="0" y="2" num_sides="4">
|
||||
<IPIN side="right" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="3" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="4" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="5" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="6" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="7" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,60 +1,60 @@
|
|||
<rr_cb x="0" y="3" num_sides="4">
|
||||
<IPIN side="right" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="3" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="4" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="5" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="6" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="7" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,60 +1,60 @@
|
|||
<rr_cb x="0" y="4" num_sides="4">
|
||||
<IPIN side="right" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="3" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="4" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="13" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="12" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="13" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="5" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="6" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="17" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="16" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="17" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="7" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="19" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="18" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="19" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="1" y="1" num_sides="4">
|
||||
<IPIN side="right" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="1" y="2" num_sides="4">
|
||||
<IPIN side="right" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="1" y="3" num_sides="4">
|
||||
<IPIN side="right" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<rr_cb x="1" y="4" num_sides="4">
|
||||
<IPIN side="right" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="11" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="0" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="1" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="10" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="11" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="right" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="3" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="2" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="3" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="0" mux_size="4">
|
||||
<driver_node type="CHANY" side="top" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="15" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="4" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="5" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="14" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="15" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="1" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="7" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="6" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="7" segment_id="0"/>
|
||||
</IPIN>
|
||||
<IPIN side="left" index="2" mux_size="2">
|
||||
<driver_node type="CHANY" side="top" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="top" index="9" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="8" segment_id="0"/>
|
||||
<driver_node type="CHANY" side="bottom" index="9" segment_id="0"/>
|
||||
</IPIN>
|
||||
</rr_cb>
|
||||
|
|