📄 spicetab.java
字号:
trailer += spiceTrailerCardFile.getText(); if (spiceTrailerCardsWithExtension.isSelected()) { trailer = Spice.SPICE_EXTENSION_PREFIX + spiceTrailerCardExtension.getText(); } else if (spiceTrailerCardsFromFile.isSelected()) { trailer = spiceTrailerCardFile.getText(); } if (!Simulation.getSpiceTrailerCardInfo().equals(trailer)) Simulation.setSpiceTrailerCardInfo(trailer); // the middle section: spice run options stringNow = (String)spiceRunPopup.getSelectedItem(); if (!Simulation.getSpiceRunChoice().equals(stringNow)) Simulation.setSpiceRunChoice(stringNow); stringNow = useDir.getText(); if (!Simulation.getSpiceRunDir().equals(stringNow)) Simulation.setSpiceRunDir(stringNow); booleanNow = useDirCheckBox.isSelected(); if (Simulation.getSpiceUseRunDir() != booleanNow) Simulation.setSpiceUseRunDir(booleanNow); booleanNow = overwriteOutputFile.isSelected(); if (Simulation.getSpiceOutputOverwrite() != booleanNow) Simulation.setSpiceOutputOverwrite(booleanNow); booleanNow = spiceRunProbe.isSelected(); if (Simulation.getSpiceRunProbe() != booleanNow) Simulation.setSpiceRunProbe(booleanNow); stringNow = spiceRunProgram.getText(); if (!Simulation.getSpiceRunProgram().equals(stringNow)) Simulation.setSpiceRunProgram(stringNow); stringNow = spiceRunProgramArgs.getText(); if (!Simulation.getSpiceRunProgramArgs().equals(stringNow)) Simulation.setSpiceRunProgramArgs(stringNow); // the bottom section: reading spice output SpiceOutFormat formatVal = (SpiceOutFormat)spiceOutputFormatPopup.getSelectedItem(); if (!Simulation.getSpiceOutputFormat().equals(formatVal)) Simulation.setSpiceOutputFormat(formatVal.name()); if (formatVal == SpiceOutFormat.Epic) Simulation.setSpiceEpicMemorySize(TextUtils.atoi(epicText.getText())); stringNow = spiceNetworkDelimiter.getText(); if (!Simulation.getSpiceExtractedNetDelimiter().equals(stringNow)) Simulation.setSpiceExtractedNetDelimiter(stringNow); } /** * Method called when the factory reset is requested. */ public void reset() { // the top section: writing spice deck if (!Simulation.getFactorySpiceEngine().equals(Simulation.getSpiceEngine())) Simulation.setSpiceEngine(Simulation.getFactorySpiceEngine()); if (!Simulation.getFactorySpiceLevel().equals(Simulation.getSpiceLevel())) Simulation.setSpiceLevel(Simulation.getFactorySpiceLevel()); if (Simulation.getFactorySpiceShortResistors() != Simulation.getSpiceShortResistors()) Simulation.setSpiceShortResistors(Simulation.getFactorySpiceShortResistors()); if (!Simulation.getFactorySpiceParasiticsLevel().equals(Simulation.getSpiceParasiticsLevel())) Simulation.setSpiceParasiticsLevel(Simulation.getFactorySpiceParasiticsLevel()); if (Simulation.getFactorySpiceGlobalTreatment() != Simulation.getSpiceGlobalTreatment()) Simulation.setSpiceGlobalTreatment(Simulation.getFactorySpiceGlobalTreatment()); if (!Simulation.getFactorySpicePartsLibrary().equals(Simulation.getSpicePartsLibrary())) Simulation.setSpicePartsLibrary(Simulation.getFactorySpicePartsLibrary()); if (Simulation.isFactorySpiceWritePwrGndInTopCell() != Simulation.isSpiceWritePwrGndInTopCell()) Simulation.setSpiceWritePwrGndInTopCell(Simulation.isFactorySpiceWritePwrGndInTopCell()); if (Simulation.isFactorySpiceUseCellParameters() != Simulation.isSpiceUseCellParameters()) Simulation.setSpiceUseCellParameters(Simulation.isFactorySpiceUseCellParameters()); if (Simulation.isFactorySpiceWriteTransSizeInLambda() != Simulation.isSpiceWriteTransSizeInLambda()) Simulation.setSpiceWriteTransSizeInLambda(Simulation.isFactorySpiceWriteTransSizeInLambda()); if (Simulation.isFactorySpiceWriteSubcktTopCell() != Simulation.isSpiceWriteSubcktTopCell()) Simulation.setSpiceWriteSubcktTopCell(Simulation.isFactorySpiceWriteSubcktTopCell()); if (Simulation.isFactorySpiceWriteFinalDotEnd() != Simulation.isSpiceWriteFinalDotEnd()) Simulation.setSpiceWriteFinalDotEnd(Simulation.isFactorySpiceWriteFinalDotEnd()); if (!Simulation.getFactorySpiceHeaderCardInfo().equals(Simulation.getSpiceHeaderCardInfo())) Simulation.setSpiceHeaderCardInfo(Simulation.getFactorySpiceHeaderCardInfo()); if (!Simulation.getFactorySpiceTrailerCardInfo().equals(Simulation.getSpiceTrailerCardInfo())) Simulation.setSpiceTrailerCardInfo(Simulation.getFactorySpiceTrailerCardInfo()); // the middle section: running spice if (!Simulation.getFactorySpiceRunChoice().equals(Simulation.getSpiceRunChoice())) Simulation.setSpiceRunChoice(Simulation.getFactorySpiceRunChoice()); if (!Simulation.getFactorySpiceRunProgram().equals(Simulation.getSpiceRunProgram())) Simulation.setSpiceRunProgram(Simulation.getFactorySpiceRunProgram()); if (!Simulation.getFactorySpiceRunProgramArgs().equals(Simulation.getSpiceRunProgramArgs())) Simulation.setSpiceRunProgramArgs(Simulation.getFactorySpiceRunProgramArgs()); if (Simulation.getFactorySpiceUseRunDir() != Simulation.getSpiceUseRunDir()) Simulation.setSpiceUseRunDir(Simulation.getFactorySpiceUseRunDir()); if (!Simulation.getFactorySpiceRunDir().equals(Simulation.getSpiceRunDir())) Simulation.setSpiceRunDir(Simulation.getFactorySpiceRunDir()); if (Simulation.getFactorySpiceOutputOverwrite() != Simulation.getSpiceOutputOverwrite()) Simulation.setSpiceOutputOverwrite(Simulation.getFactorySpiceOutputOverwrite()); if (Simulation.getFactorySpiceRunProbe() != Simulation.getSpiceRunProbe()) Simulation.setSpiceRunProbe(Simulation.getFactorySpiceRunProbe()); // the bottom section: reading spice output if (!Simulation.getFactorySpiceOutputFormat().equals(Simulation.getSpiceOutputFormat())) Simulation.setSpiceOutputFormat(Simulation.getFactorySpiceOutputFormat()); if (Simulation.getFactorySpiceEpicMemorySize() != Simulation.getSpiceEpicMemorySize()) Simulation.setSpiceEpicMemorySize(Simulation.getFactorySpiceEpicMemorySize()); if (Simulation.getFactorySpiceExtractedNetDelimiter() != Simulation.getSpiceExtractedNetDelimiter()) Simulation.setSpiceExtractedNetDelimiter(Simulation.getFactorySpiceExtractedNetDelimiter()); } // enable or disable the spice run options private void setSpiceRunOptionsEnabled(boolean enabled) { useDirCheckBox.setEnabled(enabled); overwriteOutputFile.setEnabled(enabled); spiceRunProgram.setEnabled(enabled); spiceRunProgramArgs.setEnabled(enabled); spiceRunHelp.setEnabled(enabled); spiceRunProbe.setEnabled(enabled); useDir.setEnabled(enabled); if (enabled) { // if no use dir specified, disable text box if (!useDirCheckBox.isSelected()) useDir.setEnabled(false); } } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; spiceHeader = new javax.swing.ButtonGroup(); spiceTrailer = new javax.swing.ButtonGroup(); spice = new javax.swing.JPanel(); readingOutput = new javax.swing.JPanel(); jLabel10 = new javax.swing.JLabel(); spiceOutputFormatPopup = new javax.swing.JComboBox(); epicLabel = new javax.swing.JLabel(); epicText = new javax.swing.JTextField(); jLabel7 = new javax.swing.JLabel(); spiceNetworkDelimiter = new javax.swing.JTextField(); execution = new javax.swing.JPanel(); spiceRunPopup = new javax.swing.JComboBox(); spiceRunProgram = new javax.swing.JTextField(); jLabel17 = new javax.swing.JLabel(); useDirCheckBox = new javax.swing.JCheckBox(); useDir = new javax.swing.JTextField(); overwriteOutputFile = new javax.swing.JCheckBox(); spiceRunHelp = new javax.swing.JButton(); jLabel3 = new javax.swing.JLabel(); spiceRunProgramArgs = new javax.swing.JTextField(); spiceRunProbe = new javax.swing.JCheckBox(); jLabel2 = new javax.swing.JLabel(); writingSpice = new javax.swing.JPanel(); upperLeft = new javax.swing.JPanel(); jLabel5 = new javax.swing.JLabel(); jLabel1 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); spiceEnginePopup = new javax.swing.JComboBox(); spiceLevelPopup = new javax.swing.JComboBox(); jLabel13 = new javax.swing.JLabel(); spicePrimitivesetPopup = new javax.swing.JComboBox(); epicFrame = new javax.swing.JPanel(); spiceResistorShorting = new javax.swing.JComboBox(); jLabel4 = new javax.swing.JLabel(); spiceParasitics = new javax.swing.JComboBox(); jLabel6 = new javax.swing.JLabel(); spiceGlobalTreatment = new javax.swing.JComboBox(); upperRight = new javax.swing.JPanel(); spiceWriteEndStatement = new javax.swing.JCheckBox(); spiceWriteTransSizesInLambda = new javax.swing.JCheckBox(); spiceUseCellParameters = new javax.swing.JCheckBox(); spiceWriteSubcktTopCell = new javax.swing.JCheckBox(); spiceWritePwrGndSubcircuit = new javax.swing.JCheckBox(); modelCards = new javax.swing.JPanel(); spiceHeaderCardExtension = new javax.swing.JTextField(); spiceNoHeaderCards = new javax.swing.JRadioButton(); spiceHeaderCardsWithExtension = new javax.swing.JRadioButton(); spiceHeaderCardsFromFile = new javax.swing.JRadioButton(); spiceNoTrailerCards = new javax.swing.JRadioButton(); spiceTrailerCardsWithExtension = new javax.swing.JRadioButton(); spiceTrailerCardsFromFile = new javax.swing.JRadioButton(); spiceHeaderCardFile = new javax.swing.JTextField(); spiceBrowseHeaderFile = new javax.swing.JButton(); spiceTrailerCardExtension = new javax.swing.JTextField(); spiceTrailerCardFile = new javax.swing.JTextField(); spiceBrowseTrailerFile = new javax.swing.JButton(); jSeparator4 = new javax.swing.JSeparator(); jSeparator5 = new javax.swing.JSeparator(); getContentPane().setLayout(new java.awt.GridBagLayout()); setTitle("Spice Preferences"); setName(""); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { closeDialog(evt); } }); spice.setLayout(new java.awt.GridBagLayout()); spice.setToolTipText("Options for Spice deck generation"); readingOutput.setLayout(new java.awt.GridBagLayout()); readingOutput.setBorder(javax.swing.BorderFactory.createTitledBorder("Reading Spice Output")); jLabel10.setText("Output format:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 2, 0, 0); readingOutput.add(jLabel10, gridBagConstraints); spiceOutputFormatPopup.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { spiceOutputFormatPopupActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 2, 0, 4); readingOutput.add(spiceOutputFormatPopup, gridBagConstraints); epicLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); epicLabel.setText("Epic reader memory size: "); epicLabel.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(0, 4, 0, 0); readingOutput.add(epicLabel, gridBagConstraints); epicText.setColumns(8); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 2, 0, 4); readingOutput.add(epicText, gridBagConstraints); jLabel7.setText("Extracted network delimiter character:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; readingOutput.add(jLabel7, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(0, 2, 0, 4); readingOutput.add(spiceNetworkDelimiter, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; spice.add(readingOutput, gridBagConstraints); execution.setLayout(new java.awt.GridBagLayout());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -