/* -*- tab-width: 4 -*-
*
* Electric(tm) VLSI Design System
*
* File: SiliconCompilerTab.java
*
* Copyright (c) 2004 Sun Microsystems and Static Free Software
*
* Electric(tm) is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* Electric(tm) is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Electric(tm); see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, Mass 02111-1307, USA.
*/
package com.sun.electric.tool.user.dialogs.options;
import com.sun.electric.database.text.TextUtils;
import com.sun.electric.technology.ArcProto;
import com.sun.electric.technology.Technology;
import com.sun.electric.tool.sc.SilComp;
import com.sun.electric.tool.user.dialogs.EDialog;
import java.util.Iterator;
import javax.swing.JPanel;
/**
* Class to handle the "Silicon Compiler" tab of the Preferences dialog.
*/
public class SiliconCompilerTab extends PreferencePanel
{
/** Creates new form SiliconCompilerTab */
public SiliconCompilerTab(java.awt.Frame parent, boolean modal)
{
super(parent, modal);
initComponents();
// make all text fields select-all when entered
EDialog.makeTextFieldSelectAllOnTab(numRows);
EDialog.makeTextFieldSelectAllOnTab(horizWireWidth);
EDialog.makeTextFieldSelectAllOnTab(vertWireWidth);
EDialog.makeTextFieldSelectAllOnTab(powerWidth);
EDialog.makeTextFieldSelectAllOnTab(mainPowerWidth);
EDialog.makeTextFieldSelectAllOnTab(pWellHeight);
EDialog.makeTextFieldSelectAllOnTab(pWellOffset);
EDialog.makeTextFieldSelectAllOnTab(nWellHeight);
EDialog.makeTextFieldSelectAllOnTab(nWellOffset);
EDialog.makeTextFieldSelectAllOnTab(viaSize);
EDialog.makeTextFieldSelectAllOnTab(minMetalSpacing);
EDialog.makeTextFieldSelectAllOnTab(feedThruSize);
EDialog.makeTextFieldSelectAllOnTab(minPortDist);
EDialog.makeTextFieldSelectAllOnTab(minActiveDist);
}
/** return the panel to use for user preferences. */
@Override
public JPanel getUserPreferencesPanel() { return siliconCompiler; }
/** return the name of this preferences tab. */
@Override
public String getName() { return "Silicon Compiler"; }
/**
* Method called at the start of the dialog.
* Caches current values and displays them in the Selection tab.
*/
@Override
public void init()
{
SilComp.SilCompPrefs scp = new SilComp.SilCompPrefs(false);
// the layout information
numRows.setText(Integer.toString(scp.numRows));
// the arc information
for(Iterator<ArcProto> it = Technology.getCurrent().getArcs(); it.hasNext(); )
{
ArcProto ap = it.next();
horizRoutingArc.addItem(ap.getName());
vertRoutingArc.addItem(ap.getName());
mainPowerArc.addItem(ap.getName());
}
horizRoutingArc.setSelectedItem(scp.horizRoutingArc);
horizWireWidth.setText(TextUtils.formatDistance(scp.horizArcWidth));
vertRoutingArc.setSelectedItem(scp.vertRoutingArc);
vertWireWidth.setText(TextUtils.formatDistance(scp.vertArcWidth));
powerWidth.setText(TextUtils.formatDistance(scp.powerWireWidth));
mainPowerWidth.setText(TextUtils.formatDistance(scp.mainPowerWireWidth));
mainPowerArc.setSelectedItem(scp.mainPowerArc);
// the Well information
pWellHeight.setText(TextUtils.formatDistance(scp.pWellHeight));
pWellOffset.setText(TextUtils.formatDistance(scp.pWellOffset));
nWellHeight.setText(TextUtils.formatDistance(scp.nWellHeight));
nWellOffset.setText(TextUtils.formatDistance(scp.nWellOffset));
// the Design Rules
viaSize.setText(TextUtils.formatDistance(scp.viaSize));
minMetalSpacing.setText(TextUtils.formatDistance(scp.minMetalSpacing));
feedThruSize.setText(TextUtils.formatDistance(scp.feedThruSize));
minPortDist.setText(TextUtils.formatDistance(scp.minPortDistance));
minActiveDist.setText(TextUtils.formatDistance(scp.minActiveDistance));
}
/**
* Method called when the "OK" panel is hit.
* Updates any changed fields in the Selection tab.
*/
@Override
public void term()
{
SilComp.SilCompPrefs scp = new SilComp.SilCompPrefs(false);
// layout
scp.numRows = TextUtils.atoi(numRows.getText());
// arcs
scp.horizRoutingArc = (String)horizRoutingArc.getSelectedItem();
scp.horizArcWidth = TextUtils.atofDistance(horizWireWidth.getText());
scp.vertRoutingArc = (String)vertRoutingArc.getSelectedItem();
scp.vertArcWidth = TextUtils.atofDistance(vertWireWidth.getText());
scp.powerWireWidth = TextUtils.atofDistance(powerWidth.getText());
scp.mainPowerWireWidth = TextUtils.atofDistance(mainPowerWidth.getText());
scp.mainPowerArc = (String)mainPowerArc.getSelectedItem();
// wells
scp.pWellHeight = TextUtils.atofDistance(pWellHeight.getText());
scp.pWellOffset = TextUtils.atofDistance(pWellOffset.getText());
scp.nWellHeight = TextUtils.atofDistance(nWellHeight.getText());
scp.nWellOffset = TextUtils.atofDistance(nWellOffset.getText());
// design rules
scp.viaSize = TextUtils.atofDistance(viaSize.getText());
scp.minMetalSpacing = TextUtils.atofDistance(minMetalSpacing.getText());
scp.feedThruSize = TextUtils.atofDistance(feedThruSize.getText());
scp.minPortDistance = TextUtils.atofDistance(minPortDist.getText());
scp.minActiveDistance = TextUtils.atofDistance(minActiveDist.getText());
putPrefs(scp);
}
/**
* Method called when the factory reset is requested.
*/
@Override
public void reset()
{
putPrefs(new SilComp.SilCompPrefs(true));
}
/** 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.
*/
private void initComponents()//GEN-BEGIN:initComponents
{
java.awt.GridBagConstraints gridBagConstraints;
siliconCompiler = new javax.swing.JPanel();
jPanel5 = new javax.swing.JPanel();
jPanel3 = new javax.swing.JPanel();
jLabel11 = new javax.swing.JLabel();
numRows = new javax.swing.JTextField();
jPanel1 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
horizRoutingArc = new javax.swing.JComboBox();
jLabel1 = new javax.swing.JLabel();
horizWireWidth = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
vertWireWidth = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
vertRoutingArc = new javax.swing.JComboBox();
jLabel5 = new javax.swing.JLabel();
powerWidth = new javax.swing.JTextField();
jLabel9 = new javax.swing.JLabel();
mainPowerWidth = new javax.swing.JTextField();
jLabel10 = new javax.swing.JLabel();
mainPowerArc = new javax.swing.JComboBox();
jSeparator1 = new javax.swing.JSeparator();
jPanel6 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabel20 = new javax.swing.JLabel();
pWellHeight = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
pWellOffset = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
nWellHeight = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
nWellOffset = new javax.swing.JTextField();
jPanel4 = new javax.swing.JPanel();
jLabel12 = new javax.swing.JLabel();
viaSize = new javax.swing.JTextField();
jLabel13 = new javax.swing.JLabel();
minMetalSpacing = new javax.swing.JTextField();
jLabel14 = new javax.swing.JLabel();
feedThruSize = new javax.swing.JTextField();
jLabel15 = new javax.swing.JLabel();
minPortDist = new javax.swing.JTextField();
jLabel16 = new javax.swing.JLabel();
minActiveDist = new javax.swing.JTextField();
jSeparator2 = new javax.swing.JSeparator();
getContentPane().setLayout(new java.awt.GridBagLayout());
setTitle("Silicon Compiler Options");
setName("");
addWindowListener(new java.awt.event.WindowAdapter()
{
public void windowClosing(java.awt.event.WindowEvent evt)
{
closeDialog(evt);
}
});
siliconCompiler.setLayout(new java.awt.GridBagLayout());
jPanel5.setLayout(new javax.swing.BoxLayout(jPanel5, javax.swing.BoxLayout.Y_AXIS));
jPanel3.setLayout(new java.awt.GridBagLayout());
jPanel3.setBorder(new javax.swing.border.TitledBorder("Layout"));
jLabel11.setText("Number of rows of cells:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel3.add(jLabel11, gridBagConstraints);
numRows.setColumns(8);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel3.add(numRows, gridBagConstraints);
jPanel5.add(jPanel3);
jPanel1.setLayout(new java.awt.GridBagLayout());
jPanel1.setBorder(new javax.swing.border.TitledBorder("Arcs"));
jLabel2.setText("Horizontal routing arc:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 2, 4);
jPanel1.add(jLabel2, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 2, 4);
jPanel1.add(horizRoutingArc, gridBagConstraints);
jLabel1.setText("Horizontal wire width:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(2, 4, 4, 4);
jPanel1.add(jLabel1, gridBagConstraints);
horizWireWidth.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.insets = new java.awt.Insets(2, 4, 4, 4);
jPanel1.add(horizWireWidth, gridBagConstraints);
jLabel3.setText("Vertical routing arc:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 2, 4);
jPanel1.add(jLabel3, gridBagConstraints);
vertWireWidth.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 3;
gridBagConstraints.insets = new java.awt.Insets(2, 4, 4, 4);
jPanel1.add(vertWireWidth, gridBagConstraints);
jLabel4.setText("Vertical wire width:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(2, 4, 4, 4);
jPanel1.add(jLabel4, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 2, 4);
jPanel1.add(vertRoutingArc, gridBagConstraints);
jLabel5.setText("Power wire width:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 5;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel1.add(jLabel5, gridBagConstraints);
powerWidth.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 5;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel1.add(powerWidth, gridBagConstraints);
jLabel9.setText("Main power wire width:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 6;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel1.add(jLabel9, gridBagConstraints);
mainPowerWidth.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 6;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel1.add(mainPowerWidth, gridBagConstraints);
jLabel10.setText("Main power arc:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 7;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel1.add(jLabel10, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 7;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel1.add(mainPowerArc, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 4;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
jPanel1.add(jSeparator1, gridBagConstraints);
jPanel5.add(jPanel1);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
siliconCompiler.add(jPanel5, gridBagConstraints);
jPanel6.setLayout(new javax.swing.BoxLayout(jPanel6, javax.swing.BoxLayout.Y_AXIS));
jPanel2.setLayout(new java.awt.GridBagLayout());
jPanel2.setBorder(new javax.swing.border.TitledBorder("Well"));
jLabel20.setText("P-Well height (0 for none):");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 2, 4);
jPanel2.add(jLabel20, gridBagConstraints);
pWellHeight.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 2, 4);
jPanel2.add(pWellHeight, gridBagConstraints);
jLabel6.setText("P-Well offset from bottom:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(2, 4, 4, 4);
jPanel2.add(jLabel6, gridBagConstraints);
pWellOffset.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.insets = new java.awt.Insets(2, 4, 4, 4);
jPanel2.add(pWellOffset, gridBagConstraints);
jLabel7.setText("N-Well height (0 for none):");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 2, 4);
jPanel2.add(jLabel7, gridBagConstraints);
nWellHeight.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 2;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 2, 4);
jPanel2.add(nWellHeight, gridBagConstraints);
jLabel8.setText("N-Well offset from top:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(2, 4, 4, 4);
jPanel2.add(jLabel8, gridBagConstraints);
nWellOffset.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 3;
gridBagConstraints.insets = new java.awt.Insets(2, 4, 4, 4);
jPanel2.add(nWellOffset, gridBagConstraints);
jPanel6.add(jPanel2);
jPanel4.setLayout(new java.awt.GridBagLayout());
jPanel4.setBorder(new javax.swing.border.TitledBorder("Design Rules"));
jLabel12.setText("Via size:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel4.add(jLabel12, gridBagConstraints);
viaSize.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel4.add(viaSize, gridBagConstraints);
jLabel13.setText("Minimum metal spacing:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel4.add(jLabel13, gridBagConstraints);
minMetalSpacing.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel4.add(minMetalSpacing, gridBagConstraints);
jLabel14.setText("Routing feed-through size:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel4.add(jLabel14, gridBagConstraints);
feedThruSize.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 3;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel4.add(feedThruSize, gridBagConstraints);
jLabel15.setText("Routing min. port distance:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 4;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel4.add(jLabel15, gridBagConstraints);
minPortDist.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 4;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel4.add(minPortDist, gridBagConstraints);
jLabel16.setText("Routing min. active distance:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 5;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel4.add(jLabel16, gridBagConstraints);
minActiveDist.setColumns(12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 5;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
jPanel4.add(minActiveDist, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
jPanel4.add(jSeparator2, gridBagConstraints);
jPanel6.add(jPanel4);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
siliconCompiler.add(jPanel6, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
getContentPane().add(siliconCompiler, gridBagConstraints);
pack();
}//GEN-END:initComponents
/** Closes the dialog */
private void closeDialog(java.awt.event.WindowEvent evt)//GEN-FIRST:event_closeDialog
{
setVisible(false);
dispose();
}//GEN-LAST:event_closeDialog
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JTextField feedThruSize;
private javax.swing.JComboBox horizRoutingArc;
private javax.swing.JTextField horizWireWidth;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JComboBox mainPowerArc;
private javax.swing.JTextField mainPowerWidth;
private javax.swing.JTextField minActiveDist;
private javax.swing.JTextField minMetalSpacing;
private javax.swing.JTextField minPortDist;
private javax.swing.JTextField nWellHeight;
private javax.swing.JTextField nWellOffset;
private javax.swing.JTextField numRows;
private javax.swing.JTextField pWellHeight;
private javax.swing.JTextField pWellOffset;
private javax.swing.JTextField powerWidth;
private javax.swing.JPanel siliconCompiler;
private javax.swing.JComboBox vertRoutingArc;
private javax.swing.JTextField vertWireWidth;
private javax.swing.JTextField viaSize;
// End of variables declaration//GEN-END:variables
}