Skip to content

Commit

Permalink
Restores exporting wires that are not part of nodes.
Browse files Browse the repository at this point in the history
Signed-off-by: Chris Lavin <[email protected]>
  • Loading branch information
clavin-xlnx committed Jul 25, 2024
1 parent a2ac032 commit 092ef08
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@

package com.xilinx.rapidwright.interchange;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.nio.channels.ReadableByteChannel;
Expand Down Expand Up @@ -671,7 +673,17 @@ private static void verifyWireAndNodeMultiMessage(Device device, StringEnumerato
for (Tile tile : device.getTiles()[row]) {
for (int i = 0; i < tile.getWireCount(); i++) {
Node node = Node.getNode(tile, i);
if (node != null && node.getTile() == tile && node.getWireIndex() == i) {
if (node == null) {
long nodeWireKey = DeviceResourcesWriter.makeKey(tile, i);
Integer test = allWires.maybeGetIndex(nodeWireKey);
if (test == null) {
allWires.addObject(nodeWireKey);
DeviceResources.Device.Wire.Reader readWire = wires.get(wireIdx++);
expect(tile.getName(), allStrings.get(readWire.getTile()));
expect(tile.getWireName(i), allStrings.get(readWire.getWire()));
expect(tile.getWireIntentCode(i).ordinal(), readWire.getType());
}
}else if (node.getTile() == tile && node.getWireIndex() == i) {
Wire[] nodeWires = node.getAllWiresInNode();
for (Wire w : nodeWires) {
long nodeWireKey = DeviceResourcesWriter.makeKey(w.getTile(), w.getWireIndex());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -845,7 +845,9 @@ public static void writeAllWiresAndNodesToMultipleMessages(Device device, Writab
for (Tile tile : device.getTiles()[m]) {
for (int i = 0; i < tile.getWireCount(); i++) {
Node node = Node.getNode(tile, i);
if (node != null && node.getTile() == tile && node.getWireIndex() == i) {
if (node == null) {
allWires.addObject(makeKey(tile, i));
} else if (node.getTile() == tile && node.getWireIndex() == i) {
allNodes.add(makeKey(node.getTile(), node.getWireIndex()));
Wire[] nodeWires = node.getAllWiresInNode();
for (Wire w : nodeWires) {
Expand Down

0 comments on commit 092ef08

Please sign in to comment.