From 2f11d8ed7b704b9174e99d66d7139d200208b983 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 16 Jul 2018 13:17:58 +0200 Subject: [PATCH] Fixed VCD parsing error --- .../scviewer/database/test/DatabaseServicesTest.java | 4 ++-- .../com/minres/scviewer/database/vcd/VCDDbLoader.java | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/com.minres.scviewer.database.test/src/com/minres/scviewer/database/test/DatabaseServicesTest.java b/com.minres.scviewer.database.test/src/com/minres/scviewer/database/test/DatabaseServicesTest.java index 442fcef..ce9aed8 100644 --- a/com.minres.scviewer.database.test/src/com/minres/scviewer/database/test/DatabaseServicesTest.java +++ b/com.minres.scviewer.database.test/src/com/minres/scviewer/database/test/DatabaseServicesTest.java @@ -92,8 +92,8 @@ public class DatabaseServicesTest { assertTrue(f.exists()); waveformDb.load(f); assertNotNull(waveformDb); - assertEquals(718, waveformDb.getAllWaves().size()); - assertEquals(33, waveformDb.getChildNodes().size()); + assertEquals(778, waveformDb.getAllWaves().size()); + assertEquals(1, waveformDb.getChildNodes().size()); } diff --git a/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDDbLoader.java b/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDDbLoader.java index eb25d41..e418170 100644 --- a/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDDbLoader.java +++ b/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDDbLoader.java @@ -123,9 +123,9 @@ public class VCDDbLoader implements IWaveformDbLoader, IVCDDatabaseBuilder { */ @Override public void enterModule(String tokenString) { - if(moduleStack.isEmpty()) - moduleStack.push(tokenString); - else + if(moduleStack.isEmpty()) { + if("SystemC".compareTo(tokenString)!=0) moduleStack.push(tokenString); + } else moduleStack.push(moduleStack.peek()+"."+tokenString); } @@ -143,7 +143,8 @@ public class VCDDbLoader implements IWaveformDbLoader, IVCDDatabaseBuilder { */ @SuppressWarnings("unchecked") @Override - public Integer newNet(String netName, int i, int width) { + public Integer newNet(String name, int i, int width) { + String netName = moduleStack.empty()? name: moduleStack.lastElement()+"."+name; int id = signals.size(); VCDSignal signal; if(width==1){