Fixed cli options and NaN handling in VCD loader

This commit is contained in:
2018-10-15 09:13:41 +02:00
parent 4a17108ccc
commit 5745ab4f2c
14 changed files with 33 additions and 27 deletions

View File

@ -184,7 +184,10 @@ class VCDFileParser {
int netWidth = traceBuilder.getNetWidth(net);
if(netWidth<0) {
traceBuilder.appendTransition(net, currentTime, Double.parseDouble(value));
if("nan".equals(value))
traceBuilder.appendTransition(net, currentTime, Double.NaN);
else
traceBuilder.appendTransition(net, currentTime, Double.parseDouble(value));
} else {
BitVector decodedValues = new BitVector(netWidth);
if (value.equals("z") && netWidth > 1) {

View File

@ -10,6 +10,7 @@
*******************************************************************************/
package com.minres.scviewer.database.vcd;
import java.util.Map.Entry;
import java.util.NavigableMap;
import java.util.TreeMap;
@ -106,7 +107,11 @@ public class VCDSignal<T extends ISignalChange> extends HierNode implements ISig
@Override
public T getWaveformEventsBeforeTime(Long time) {
return values.floorEntry(time).getValue();
Entry<Long, T> e = values.floorEntry(time);
if(e==null)
return null;
else
return values.floorEntry(time).getValue();
}
@Override