From 04ec40d1cc5d5478954d365c0cc590cbf91a2ad0 Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Thu, 13 Feb 2025 15:43:41 -0800 Subject: [PATCH 1/3] [EDIFNetlist] exportEDIF() to use getLibrariesInExportOrder() Signed-off-by: Eddie Hung --- src/com/xilinx/rapidwright/edif/EDIFNetlist.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/com/xilinx/rapidwright/edif/EDIFNetlist.java b/src/com/xilinx/rapidwright/edif/EDIFNetlist.java index 601f0f3dc..d39899d12 100644 --- a/src/com/xilinx/rapidwright/edif/EDIFNetlist.java +++ b/src/com/xilinx/rapidwright/edif/EDIFNetlist.java @@ -802,14 +802,7 @@ public void exportEDIF(OutputStream out, boolean stable) throws IOException { } os.write(EXPORT_CONST_DOUBLE_CLOSE); - List librariesToWrite = new ArrayList<>(); - librariesToWrite.add(getHDIPrimitivesLibrary()); - for (EDIFLibrary lib : EDIFTools.sortIfStable(getLibrariesMap().values(), stable)) { - if (lib.isHDIPrimitivesLibrary()) { - continue; - } - librariesToWrite.add(lib); - } + List librariesToWrite = getLibrariesInExportOrder(); if (dos != null) { Deque> streamFutures = new ArrayDeque<>(); From cc5d978afee6421318f7ed7aa6c434e0bf536d82 Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Thu, 13 Feb 2025 16:24:06 -0800 Subject: [PATCH 2/3] Fix broken test that uses EDIFCell from singleton library Signed-off-by: Eddie Hung --- test/src/com/xilinx/rapidwright/edif/TestEDIFNetlist.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/src/com/xilinx/rapidwright/edif/TestEDIFNetlist.java b/test/src/com/xilinx/rapidwright/edif/TestEDIFNetlist.java index c4e716958..402a87cd9 100644 --- a/test/src/com/xilinx/rapidwright/edif/TestEDIFNetlist.java +++ b/test/src/com/xilinx/rapidwright/edif/TestEDIFNetlist.java @@ -417,8 +417,10 @@ public void testBussedPortNamingCollision(@TempDir Path path) { EDIFCell top = origNetlist.getTopCell(); - EDIFCellInst ff = top.createChildCellInst("ff", Design.getPrimitivesLibrary().getCell("FDRE")); - origNetlist.getHDIPrimitivesLibrary().addCell(ff.getCellType()); + EDIFCell fdre = new EDIFCell(Design.getUnisimCell(Unisim.FDRE)); + EDIFLibrary hdi = origNetlist.getHDIPrimitivesLibrary(); + hdi.addCell(fdre); + EDIFCellInst ff = top.createChildCellInst("ff", fdre); String portName = "unfortunate_name"; From f886134372ffbe10df6651a5e3177a542f1399a8 Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Fri, 14 Feb 2025 09:37:19 -0800 Subject: [PATCH 3/3] Same for other failing test Signed-off-by: Eddie Hung --- test/src/com/xilinx/rapidwright/edif/TestEDIFNetlist.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/src/com/xilinx/rapidwright/edif/TestEDIFNetlist.java b/test/src/com/xilinx/rapidwright/edif/TestEDIFNetlist.java index 402a87cd9..2f9ccaa32 100644 --- a/test/src/com/xilinx/rapidwright/edif/TestEDIFNetlist.java +++ b/test/src/com/xilinx/rapidwright/edif/TestEDIFNetlist.java @@ -458,8 +458,10 @@ public void testBussedPortReNamingCollision(@TempDir Path path) { EDIFCell top = origNetlist.getTopCell(); - EDIFCellInst ff = top.createChildCellInst("ff", Design.getPrimitivesLibrary().getCell("FDRE")); - origNetlist.getHDIPrimitivesLibrary().addCell(ff.getCellType()); + EDIFCell fdre = new EDIFCell(Design.getUnisimCell(Unisim.FDRE)); + EDIFLibrary hdi = origNetlist.getHDIPrimitivesLibrary(); + hdi.addCell(fdre); + EDIFCellInst ff = top.createChildCellInst("ff", fdre); String portName = "unfortunate_name";