All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sun.electric.plugins.irsim.IAnalyzerImpl Maven / Gradle / Ivy

There is a newer version: 0.3
Show newest version
/* -*- 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;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy