2015-01-21 21:58:35 +01:00
|
|
|
/*******************************************************************************
|
2015-10-22 00:25:12 +02:00
|
|
|
* Copyright (c) 2015 MINRES Technologies GmbH and others.
|
2015-01-21 21:58:35 +01:00
|
|
|
* All rights reserved. This program and the accompanying materials
|
|
|
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
|
|
* which accompanies this distribution, and is available at
|
|
|
|
* http://www.eclipse.org/legal/epl-v10.html
|
|
|
|
*
|
|
|
|
* Contributors:
|
|
|
|
* MINRES Technologies GmbH - initial API and implementation
|
|
|
|
*******************************************************************************/
|
2015-01-06 17:14:16 +01:00
|
|
|
package com.minres.scviewer.database.vcd;
|
|
|
|
|
2015-01-09 09:16:40 +01:00
|
|
|
import com.minres.scviewer.database.BitVector;
|
|
|
|
|
2015-01-06 17:14:16 +01:00
|
|
|
/**
|
2015-11-22 12:47:07 +01:00
|
|
|
* The Interface IVCDDatabaseBuilder. It allows to add VCD events into the database
|
2015-01-06 17:14:16 +01:00
|
|
|
*/
|
|
|
|
public interface IVCDDatabaseBuilder {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Enter module.
|
|
|
|
*
|
|
|
|
* @param tokenString the token string
|
|
|
|
*/
|
|
|
|
public void enterModule(String tokenString);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Exit module.
|
|
|
|
*/
|
|
|
|
public void exitModule();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* New net.
|
|
|
|
*
|
|
|
|
* @param netName the net name
|
|
|
|
* @param i the index of the net, -1 if a new one, otherwise the id if the referenced
|
2018-10-11 11:20:36 +02:00
|
|
|
* @param width the width, -1 equals real, 0... is a bit vector
|
|
|
|
* @return the net id
|
2015-01-06 17:14:16 +01:00
|
|
|
*/
|
|
|
|
public Integer newNet(String netName, int i, int width) ;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the net width.
|
|
|
|
*
|
2018-10-11 11:20:36 +02:00
|
|
|
* @param intValue the net id
|
|
|
|
* @return the net width, -1 means a real-valued net
|
2015-01-06 17:14:16 +01:00
|
|
|
*/
|
2018-10-11 11:20:36 +02:00
|
|
|
public int getNetWidth(int netId);
|
2015-01-06 17:14:16 +01:00
|
|
|
|
2018-10-11 11:20:36 +02:00
|
|
|
/**
|
|
|
|
* Append transition.
|
|
|
|
*
|
|
|
|
* @param netId the int value
|
|
|
|
* @param currentTime the current time in ps
|
|
|
|
* @param decodedValues the decoded values
|
|
|
|
*/
|
|
|
|
public void appendTransition(int netId, long currentTime, BitVector decodedValue);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Append transition.
|
|
|
|
*
|
|
|
|
* @param netId the int value
|
|
|
|
* @param currentTime the current time in ps
|
|
|
|
* @param decodedValue the decoded values
|
|
|
|
*/
|
|
|
|
public void appendTransition(int netId, long currentTime, double decodedValue);
|
2015-01-06 17:14:16 +01:00
|
|
|
|
|
|
|
}
|