com.sun.electric.plugins.irsim.IAnalyzerImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of electric-irsim Show documentation
Show all versions of electric-irsim Show documentation
IRSIM simulator rewritten to Java.
/* -*- tab-width: 4 -*-
*
* Electric(tm) VLSI Design System
*
* File: Analyzer.java
* IRSIM simulator
* Translated by Steven M. Rubin, Sun Microsystems.
*
* Copyright (C) 1988, 1990 Stanford University.
* Permission to use, copy, modify, and distribute this
* software and its documentation for any purpose and without
* fee is hereby granted, provided that the above copyright
* notice appear in all copies. Stanford University
* makes no representations about the suitability of this
* software for any purpose. It is provided "as is" without
* express or implied warranty.
*/
package com.sun.electric.plugins.irsim;
import com.sun.electric.api.irsim.IAnalyzer;
import java.net.URL;
/**
*
*/
public class IAnalyzerImpl implements IAnalyzer {
/**
* Create IRSIM Simulation Engine to simulate a cell.
* @param gui interface to GUI
* @param steppingModel stepping model either "RC" or "Linear"
* @param parameterURL URL of IRSIM parameter file
* @param irDebug debug flags
* @param showCommands tru to print issued IRSIM commands
* @param isDelayedX true if using the delayed X model, false if using the old fast-propagating X model.
*/
public EngineIRSIM createEngine(IAnalyzer.GUI gui, String steppingModel, URL parameterURL, int irDebug, boolean showCommands, boolean isDelayedX) {
SimAPI sim = new Sim(irDebug, steppingModel, isDelayedX);
Analyzer theAnalyzer = new Analyzer(gui, sim, irDebug, showCommands);
// read the configuration file
if (parameterURL != null) {
sim.loadConfig(parameterURL, theAnalyzer);
}
sim.initNetwork();
System.out.println("IRSIM, version " + Analyzer.simVersion);
// now initialize the simulator
theAnalyzer.initRSim();
// return new IAnalyzerLogger(theAnalyzer);
return theAnalyzer;
}
}