/*
* To change this template, choose Tool
@Override
public boolean accept(File f) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getDescription() {
throw new UnsupportedOperationException("Not supported yet.");
}
} | Templates
* and open the template in the editor.
*/
/*
* CelloGUI.java
*
* Created on Mar 16, 2011, 1:06:50 PM
*/
package org.clothocad.tool.cello;
import antlr.CharBuffer;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileFilter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.JList;
import javax.swing.ListModel;
import org.antlr.runtime.*;
import org.openide.util.Exceptions;
/**
*
* @author rozagh
*/
public class CelloGUI extends javax.swing.JFrame {
/** Creates new form CelloGUI */
public CelloGUI() {
initComponents();
}
CelloGUI(String input) {
initComponents();
// jLabel1.setText(input);
}
/** 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.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
FCBrowser = new javax.swing.JFileChooser();
BGDoubleInverter = new javax.swing.ButtonGroup();
BGCostFunctions = new javax.swing.ButtonGroup();
TFAddress = new javax.swing.JTextField();
BBrowse = new javax.swing.JButton();
BRun = new javax.swing.JButton();
BParse = new javax.swing.JButton();
BClear = new javax.swing.JButton();
BMap = new javax.swing.JButton();
PIOTFConstraint = new javax.swing.JPanel();
CBTF1 = new javax.swing.JCheckBox();
CBTF2 = new javax.swing.JCheckBox();
CBIO3 = new javax.swing.JCheckBox();
CBTF0 = new javax.swing.JCheckBox();
PCelloGUI = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
LPartFamily = new javax.swing.JList();
jScrollPane3 = new javax.swing.JScrollPane();
LParts = new javax.swing.JList();
BPartSelect = new javax.swing.JButton();
jScrollPane4 = new javax.swing.JScrollPane();
TAInput = new javax.swing.JTextArea();
jScrollPane1 = new javax.swing.JScrollPane();
TAResult = new javax.swing.JTextArea();
jScrollPane5 = new javax.swing.JScrollPane();
TALog = new javax.swing.JTextArea();
BOptimize = new javax.swing.JButton();
BShoqSequence = new javax.swing.JButton();
BGateMapping = new javax.swing.JButton();
BGateLevelOptimization = new javax.swing.JButton();
TPControl = new javax.swing.JTabbedPane();
PCompile = new javax.swing.JPanel();
CBTransfromNOR = new javax.swing.JCheckBox();
BCompileandGenerateGraph = new javax.swing.JButton();
PGateLevelOptimize = new javax.swing.JPanel();
BGateLevelOptimize = new javax.swing.JButton();
CBFindRepeatPatterns = new javax.swing.JCheckBox();
CBRemoveDoubleInvertersGL = new javax.swing.JCheckBox();
RBRemoveAllInverters = new javax.swing.JRadioButton();
RBRemoveDoubleInvertersbutNORS = new javax.swing.JRadioButton();
PMapping = new javax.swing.JPanel();
CBfamilyNOR2 = new javax.swing.JCheckBox();
CBfamilyNORn = new javax.swing.JCheckBox();
CBHaybridDual = new javax.swing.JCheckBox();
BMapping = new javax.swing.JButton();
PMotifLevelOptimization = new javax.swing.JPanel();
CBRemoveBuffers = new javax.swing.JCheckBox();
CBRemoveDoubleInverstersML = new javax.swing.JCheckBox();
CBFindRepeatedPatterns = new javax.swing.JCheckBox();
BMotifLevelOptimization = new javax.swing.JButton();
PAssignSequence = new javax.swing.JPanel();
BShowSequence = new javax.swing.JButton();
RBMaxFeatures = new javax.swing.JRadioButton();
RBMinFeatures = new javax.swing.JRadioButton();
RBMaxInduce = new javax.swing.JRadioButton();
RBMinIndice = new javax.swing.JRadioButton();
RBMaxRepress = new javax.swing.JRadioButton();
RBMinRepress = new javax.swing.JRadioButton();
BFindBestSolution = new javax.swing.JButton();
jMenuBar1 = new javax.swing.JMenuBar();
jMFile = new javax.swing.JMenu();
jMINew = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JPopupMenu.Separator();
jMIOpen = new javax.swing.JMenuItem();
jSeparator2 = new javax.swing.JPopupMenu.Separator();
jMISave = new javax.swing.JMenuItem();
jMISaveAs = new javax.swing.JMenuItem();
jMEdit = new javax.swing.JMenu();
jMCompile = new javax.swing.JMenu();
jMIGenerateAST = new javax.swing.JMenuItem();
jMRun = new javax.swing.JMenu();
jMIMap = new javax.swing.JMenuItem();
jMIOptimize = new javax.swing.JMenuItem();
jMIShowSequence = new javax.swing.JMenuItem();
FCBrowser.setSelectedFile(new java.io.File("C:\\Users\\rozagh\\Documents\\NetBeansProjects\\Clotho\\ClothoDevelopment\\Cello\\VerilogCodes"));
FCBrowser.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
FCBrowserActionPerformed(evt);
}
});
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowActivated(java.awt.event.WindowEvent evt) {
formWindowActivated(evt);
}
public void windowClosing(java.awt.event.WindowEvent evt) {
formWindowClosing(evt);
}
});
TFAddress.setName("TFAddress"); // NOI18N
BBrowse.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BBrowse.text")); // NOI18N
BBrowse.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BBrowseActionPerformed(evt);
}
});
BRun.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BRun.text")); // NOI18N
BRun.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BRunActionPerformed(evt);
}
});
BParse.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BParse.text")); // NOI18N
BParse.setEnabled(false);
BParse.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BParseActionPerformed(evt);
}
});
BClear.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BClear.text")); // NOI18N
BClear.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BClearActionPerformed(evt);
}
});
BMap.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BMap.text")); // NOI18N
BMap.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BMapActionPerformed(evt);
}
});
PIOTFConstraint.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.PIOTFConstraint.border.title"))); // NOI18N
CBTF1.setSelected(true);
CBTF1.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBTF1.text")); // NOI18N
CBTF2.setSelected(true);
CBTF2.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBTF2.text")); // NOI18N
CBIO3.setSelected(true);
CBIO3.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBIO3.text")); // NOI18N
CBTF0.setSelected(true);
CBTF0.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBTF0.text")); // NOI18N
javax.swing.GroupLayout PIOTFConstraintLayout = new javax.swing.GroupLayout(PIOTFConstraint);
PIOTFConstraint.setLayout(PIOTFConstraintLayout);
PIOTFConstraintLayout.setHorizontalGroup(
PIOTFConstraintLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PIOTFConstraintLayout.createSequentialGroup()
.addGroup(PIOTFConstraintLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(CBTF1)
.addComponent(CBTF2)
.addComponent(CBIO3)
.addComponent(CBTF0))
.addContainerGap(256, Short.MAX_VALUE))
);
PIOTFConstraintLayout.setVerticalGroup(
PIOTFConstraintLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PIOTFConstraintLayout.createSequentialGroup()
.addGap(8, 8, 8)
.addComponent(CBTF0)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(CBTF1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(CBTF2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(CBIO3)
.addContainerGap(22, Short.MAX_VALUE))
);
PCelloGUI.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.PCelloGUI.border.title"))); // NOI18N
LPartFamily.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Logic Gates" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
LPartFamily.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
LPartFamilyMouseClicked(evt);
}
});
jScrollPane2.setViewportView(LPartFamily);
jScrollPane3.setViewportView(LParts);
BPartSelect.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BPartSelect.text")); // NOI18N
BPartSelect.setBorder(new javax.swing.border.MatteBorder(null));
javax.swing.GroupLayout PCelloGUILayout = new javax.swing.GroupLayout(PCelloGUI);
PCelloGUI.setLayout(PCelloGUILayout);
PCelloGUILayout.setHorizontalGroup(
PCelloGUILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PCelloGUILayout.createSequentialGroup()
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(31, 31, 31)
.addComponent(BPartSelect, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
PCelloGUILayout.setVerticalGroup(
PCelloGUILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PCelloGUILayout.createSequentialGroup()
.addGroup(PCelloGUILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(BPartSelect, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE)
.addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE)
.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE))
.addContainerGap())
);
TAInput.setColumns(20);
TAInput.setRows(5);
jScrollPane4.setViewportView(TAInput);
TAResult.setColumns(20);
TAResult.setRows(5);
jScrollPane1.setViewportView(TAResult);
TALog.setColumns(20);
TALog.setRows(5);
jScrollPane5.setViewportView(TALog);
BOptimize.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BOptimize.text")); // NOI18N
BOptimize.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BOptimizeActionPerformed(evt);
}
});
BShoqSequence.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BShoqSequence.text")); // NOI18N
BShoqSequence.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BShoqSequenceActionPerformed(evt);
}
});
BGateMapping.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BGateMapping.text")); // NOI18N
BGateMapping.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BGateMappingActionPerformed(evt);
}
});
BGateLevelOptimization.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BGateLevelOptimization.text")); // NOI18N
BGateLevelOptimization.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BGateLevelOptimizationActionPerformed(evt);
}
});
CBTransfromNOR.setSelected(true);
CBTransfromNOR.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBTransfromNOR.text")); // NOI18N
BCompileandGenerateGraph.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BCompileandGenerateGraph.text")); // NOI18N
BCompileandGenerateGraph.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BCompileandGenerateGraphActionPerformed(evt);
}
});
javax.swing.GroupLayout PCompileLayout = new javax.swing.GroupLayout(PCompile);
PCompile.setLayout(PCompileLayout);
PCompileLayout.setHorizontalGroup(
PCompileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PCompileLayout.createSequentialGroup()
.addContainerGap()
.addComponent(CBTransfromNOR)
.addGap(80, 80, 80)
.addComponent(BCompileandGenerateGraph)
.addContainerGap(406, Short.MAX_VALUE))
);
PCompileLayout.setVerticalGroup(
PCompileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PCompileLayout.createSequentialGroup()
.addContainerGap()
.addGroup(PCompileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(CBTransfromNOR)
.addComponent(BCompileandGenerateGraph))
.addContainerGap(40, Short.MAX_VALUE))
);
TPControl.addTab(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.PCompile.TabConstraints.tabTitle"), PCompile); // NOI18N
BGateLevelOptimize.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BGateLevelOptimize.text")); // NOI18N
BGateLevelOptimize.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BGateLevelOptimizeActionPerformed(evt);
}
});
CBFindRepeatPatterns.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBFindRepeatPatterns.text")); // NOI18N
CBFindRepeatPatterns.setEnabled(false);
CBFindRepeatPatterns.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CBFindRepeatPatternsActionPerformed(evt);
}
});
CBRemoveDoubleInvertersGL.setSelected(true);
CBRemoveDoubleInvertersGL.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBRemoveDoubleInvertersGL.text")); // NOI18N
CBRemoveDoubleInvertersGL.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CBRemoveDoubleInvertersGLActionPerformed(evt);
}
});
BGDoubleInverter.add(RBRemoveAllInverters);
RBRemoveAllInverters.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.RBRemoveAllInverters.text")); // NOI18N
BGDoubleInverter.add(RBRemoveDoubleInvertersbutNORS);
RBRemoveDoubleInvertersbutNORS.setSelected(true);
RBRemoveDoubleInvertersbutNORS.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.RBRemoveDoubleInvertersbutNORS.text")); // NOI18N
javax.swing.GroupLayout PGateLevelOptimizeLayout = new javax.swing.GroupLayout(PGateLevelOptimize);
PGateLevelOptimize.setLayout(PGateLevelOptimizeLayout);
PGateLevelOptimizeLayout.setHorizontalGroup(
PGateLevelOptimizeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PGateLevelOptimizeLayout.createSequentialGroup()
.addContainerGap()
.addGroup(PGateLevelOptimizeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(CBRemoveDoubleInvertersGL)
.addComponent(CBFindRepeatPatterns))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 8, Short.MAX_VALUE)
.addGroup(PGateLevelOptimizeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(RBRemoveAllInverters)
.addComponent(RBRemoveDoubleInvertersbutNORS))
.addGap(28, 28, 28)
.addComponent(BGateLevelOptimize)
.addGap(249, 249, 249))
);
PGateLevelOptimizeLayout.setVerticalGroup(
PGateLevelOptimizeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PGateLevelOptimizeLayout.createSequentialGroup()
.addGroup(PGateLevelOptimizeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PGateLevelOptimizeLayout.createSequentialGroup()
.addContainerGap()
.addComponent(RBRemoveAllInverters)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(PGateLevelOptimizeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(BGateLevelOptimize)
.addComponent(RBRemoveDoubleInvertersbutNORS)))
.addGroup(PGateLevelOptimizeLayout.createSequentialGroup()
.addContainerGap()
.addComponent(CBFindRepeatPatterns)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(CBRemoveDoubleInvertersGL)))
.addContainerGap(18, Short.MAX_VALUE))
);
TPControl.addTab(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.PGateLevelOptimize.TabConstraints.tabTitle"), PGateLevelOptimize); // NOI18N
CBfamilyNOR2.setSelected(true);
CBfamilyNOR2.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBfamilyNOR2.text")); // NOI18N
CBfamilyNORn.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBfamilyNORn.text")); // NOI18N
CBHaybridDual.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBHaybridDual.text")); // NOI18N
BMapping.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BMapping.text")); // NOI18N
BMapping.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BMappingActionPerformed(evt);
}
});
javax.swing.GroupLayout PMappingLayout = new javax.swing.GroupLayout(PMapping);
PMapping.setLayout(PMappingLayout);
PMappingLayout.setHorizontalGroup(
PMappingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PMappingLayout.createSequentialGroup()
.addContainerGap()
.addGroup(PMappingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(CBfamilyNOR2)
.addComponent(CBfamilyNORn))
.addGap(32, 32, 32)
.addGroup(PMappingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(BMapping)
.addComponent(CBHaybridDual))
.addContainerGap(360, Short.MAX_VALUE))
);
PMappingLayout.setVerticalGroup(
PMappingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PMappingLayout.createSequentialGroup()
.addContainerGap()
.addGroup(PMappingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(CBfamilyNOR2)
.addComponent(CBHaybridDual))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(PMappingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(CBfamilyNORn)
.addComponent(BMapping))
.addContainerGap(14, Short.MAX_VALUE))
);
TPControl.addTab(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.PMapping.TabConstraints.tabTitle"), PMapping); // NOI18N
CBRemoveBuffers.setSelected(true);
CBRemoveBuffers.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBRemoveBuffers.text")); // NOI18N
CBRemoveDoubleInverstersML.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBRemoveDoubleInverstersML.text")); // NOI18N
CBFindRepeatedPatterns.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.CBFindRepeatedPatterns.text")); // NOI18N
BMotifLevelOptimization.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BMotifLevelOptimization.text")); // NOI18N
BMotifLevelOptimization.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BMotifLevelOptimizationActionPerformed(evt);
}
});
javax.swing.GroupLayout PMotifLevelOptimizationLayout = new javax.swing.GroupLayout(PMotifLevelOptimization);
PMotifLevelOptimization.setLayout(PMotifLevelOptimizationLayout);
PMotifLevelOptimizationLayout.setHorizontalGroup(
PMotifLevelOptimizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PMotifLevelOptimizationLayout.createSequentialGroup()
.addContainerGap()
.addGroup(PMotifLevelOptimizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(CBRemoveBuffers)
.addComponent(CBRemoveDoubleInverstersML))
.addGap(16, 16, 16)
.addGroup(PMotifLevelOptimizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PMotifLevelOptimizationLayout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(BMotifLevelOptimization))
.addComponent(CBFindRepeatedPatterns))
.addContainerGap(460, Short.MAX_VALUE))
);
PMotifLevelOptimizationLayout.setVerticalGroup(
PMotifLevelOptimizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PMotifLevelOptimizationLayout.createSequentialGroup()
.addContainerGap()
.addGroup(PMotifLevelOptimizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(CBRemoveBuffers)
.addComponent(CBFindRepeatedPatterns))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(PMotifLevelOptimizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(CBRemoveDoubleInverstersML)
.addComponent(BMotifLevelOptimization))
.addContainerGap(14, Short.MAX_VALUE))
);
TPControl.addTab(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.PMotifLevelOptimization.TabConstraints.tabTitle"), PMotifLevelOptimization); // NOI18N
BShowSequence.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BShowSequence.text")); // NOI18N
BShowSequence.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BShowSequenceActionPerformed(evt);
}
});
BGCostFunctions.add(RBMaxFeatures);
RBMaxFeatures.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.RBMaxFeatures.text")); // NOI18N
BGCostFunctions.add(RBMinFeatures);
RBMinFeatures.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.RBMinFeatures.text")); // NOI18N
BGCostFunctions.add(RBMaxInduce);
RBMaxInduce.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.RBMaxInduce.text")); // NOI18N
BGCostFunctions.add(RBMinIndice);
RBMinIndice.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.RBMinIndice.text")); // NOI18N
BGCostFunctions.add(RBMaxRepress);
RBMaxRepress.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.RBMaxRepress.text")); // NOI18N
BGCostFunctions.add(RBMinRepress);
RBMinRepress.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.RBMinRepress.text")); // NOI18N
BFindBestSolution.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.BFindBestSolution.text")); // NOI18N
javax.swing.GroupLayout PAssignSequenceLayout = new javax.swing.GroupLayout(PAssignSequence);
PAssignSequence.setLayout(PAssignSequenceLayout);
PAssignSequenceLayout.setHorizontalGroup(
PAssignSequenceLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PAssignSequenceLayout.createSequentialGroup()
.addContainerGap()
.addGroup(PAssignSequenceLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(RBMaxFeatures)
.addComponent(RBMinFeatures))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(PAssignSequenceLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(RBMaxInduce)
.addComponent(RBMinIndice))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(PAssignSequenceLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(RBMinRepress)
.addComponent(RBMaxRepress))
.addGap(18, 18, 18)
.addGroup(PAssignSequenceLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(BFindBestSolution)
.addComponent(BShowSequence))
.addContainerGap(360, Short.MAX_VALUE))
);
PAssignSequenceLayout.setVerticalGroup(
PAssignSequenceLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PAssignSequenceLayout.createSequentialGroup()
.addContainerGap()
.addGroup(PAssignSequenceLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(RBMaxFeatures)
.addComponent(RBMaxInduce)
.addComponent(RBMaxRepress)
.addComponent(BFindBestSolution))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(PAssignSequenceLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(RBMinFeatures)
.addComponent(RBMinIndice)
.addComponent(RBMinRepress)
.addComponent(BShowSequence))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
TPControl.addTab(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.PAssignSequence.TabConstraints.tabTitle"), PAssignSequence); // NOI18N
jMFile.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMFile.text")); // NOI18N
jMINew.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK));
jMINew.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMINew.text")); // NOI18N
jMFile.add(jMINew);
jMFile.add(jSeparator1);
jMIOpen.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
jMIOpen.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMIOpen.text")); // NOI18N
jMIOpen.setVerifyInputWhenFocusTarget(false);
jMIOpen.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMIOpenActionPerformed(evt);
}
});
jMFile.add(jMIOpen);
jMFile.add(jSeparator2);
jMISave.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
jMISave.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMISave.text")); // NOI18N
jMISave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMISaveActionPerformed(evt);
}
});
jMFile.add(jMISave);
jMISaveAs.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
jMISaveAs.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMISaveAs.text")); // NOI18N
jMFile.add(jMISaveAs);
jMenuBar1.add(jMFile);
jMEdit.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMEdit.text")); // NOI18N
jMenuBar1.add(jMEdit);
jMCompile.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMCompile.text")); // NOI18N
jMIGenerateAST.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMIGenerateAST.text")); // NOI18N
jMCompile.add(jMIGenerateAST);
jMenuBar1.add(jMCompile);
jMRun.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMRun.text")); // NOI18N
jMIMap.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMIMap.text")); // NOI18N
jMIMap.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMIMapActionPerformed(evt);
}
});
jMRun.add(jMIMap);
jMIOptimize.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMIOptimize.text")); // NOI18N
jMRun.add(jMIOptimize);
jMIShowSequence.setText(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.jMIShowSequence.text")); // NOI18N
jMRun.add(jMIShowSequence);
jMenuBar1.add(jMRun);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(PCelloGUI, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(BClear)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(BParse))
.addComponent(PIOTFConstraint, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 319, Short.MAX_VALUE))
.addGap(6, 6, 6)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 775, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(BShoqSequence)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(BOptimize)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(BMap)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 161, Short.MAX_VALUE)
.addComponent(BGateLevelOptimization)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(BGateMapping)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(BRun))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(TFAddress, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(BBrowse))
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 775, Short.MAX_VALUE)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(335, 335, 335)
.addComponent(TPControl, javax.swing.GroupLayout.DEFAULT_SIZE, 775, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(BBrowse)
.addComponent(TFAddress, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(34, 34, 34))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(BClear)
.addComponent(BParse))
.addGap(18, 18, 18))))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(BShoqSequence)
.addComponent(BOptimize)
.addComponent(BMap)
.addComponent(BRun)
.addComponent(BGateMapping)
.addComponent(BGateLevelOptimization))
.addGap(8, 8, 8)))
.addGap(48, 48, 48)
.addComponent(TPControl, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(PCelloGUI, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(PIOTFConstraint, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(14, 14, 14))
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 398, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 232, Short.MAX_VALUE)
.addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 232, Short.MAX_VALUE)))
);
TPControl.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CelloGUI.class, "CelloGUI.TPCompile.AccessibleContext.accessibleName")); // NOI18N
pack();
}// </editor-fold>//GEN-END:initComponents
private void FCBrowserActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FCBrowserActionPerformed
// TODO add your handling code here:
String filepath = FCBrowser.getSelectedFile().getPath();
TFAddress.setText(filepath);
String fileinside = "";
try {
FileReader fr = new FileReader(filepath);
BufferedReader br = new BufferedReader(fr);
String line = "";
try {
while ((line = br.readLine()) != null) {
fileinside += line + "\n";
}
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
} catch (FileNotFoundException ex) {
Exceptions.printStackTrace(ex);
}
TAInput.setText(fileinside);
TALog.append("File :"+filepath+" is loaded!\n");
}//GEN-LAST:event_FCBrowserActionPerformed
private void BBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BBrowseActionPerformed
// TODO add your handling code here:
FCBrowser.showOpenDialog(BRun);
}//GEN-LAST:event_BBrowseActionPerformed
private void BRunActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BRunActionPerformed
String [] error = new String[1];
error[0] = "";
try {
// TODO add your handling code here:
TAResult.append("\n-----------------------------------------------\n" + Main.AST_Generate(TFAddress.getText(), error));
} catch (IOException ex) {
Logger.getLogger(CelloGUI.class.getName()).log(Level.SEVERE, null, ex);
} catch (RecognitionException ex) {
Logger.getLogger(CelloGUI.class.getName()).log(Level.SEVERE, null, ex);
}
TALog.append("Abstract Syntax Tree generation done\n");
}//GEN-LAST:event_BRunActionPerformed
private void BParseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BParseActionPerformed
try {
// TODO add your handling code here:
TAResult.append("\n-----------------------------------------------\n" + Main.ParseT_Generate(TFAddress.getText()));
} catch (IOException ex) {
Logger.getLogger(CelloGUI.class.getName()).log(Level.SEVERE, null, ex);
} catch (RecognitionException ex) {
Logger.getLogger(CelloGUI.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_BParseActionPerformed
private void BClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BClearActionPerformed
// TODO add your handling code here:
TAResult.setText("");
}//GEN-LAST:event_BClearActionPerformed
private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
// TODO add your handling code here:
}//GEN-LAST:event_formWindowClosing
private void BMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BMapActionPerformed
// TODO add your handling code here:
TAResult.append(Main.motifLevelMapping(true,true));
TALog.append("Parts mapping done!\n");
}//GEN-LAST:event_BMapActionPerformed
private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated
}//GEN-LAST:event_formWindowActivated
private void LPartFamilyMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_LPartFamilyMouseClicked
// TODO add your handling code here:
/*try {
// TODO add your handling code here:
Main.main(null);
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
} catch (RecognitionException ex) {
Exceptions.printStackTrace(ex);
}
*
*/
Main.addPartList();
int index = LPartFamily.locationToIndex(evt.getPoint());
if (index == 0)
{
Vector partlist = new Vector();
for (int i = 0; i< Main.PartList.size(); i++)
partlist.addElement( Main.PartList.get(i).getName());
LParts.setListData(partlist);
LParts.updateUI();
}
}//GEN-LAST:event_LPartFamilyMouseClicked
private void BOptimizeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BOptimizeActionPerformed
// TODO add your handling code here:
String[] msg = new String[1];
msg[0] = "";
TAResult.append(Main.motifLevelOptimization( msg));
TALog.append(msg[0]+"Optimization done!\n");
}//GEN-LAST:event_BOptimizeActionPerformed
private void BShoqSequenceActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BShoqSequenceActionPerformed
// TODO add your handling code here:
String [] error = new String[1];
error[0] = "";
TAResult.append(Main.assignSequence(error)+"\n");
TALog.append("Sequence assignment done!\n"+error[0]);
}//GEN-LAST:event_BShoqSequenceActionPerformed
private void jMIMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMIMapActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jMIMapActionPerformed
private void jMIOpenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMIOpenActionPerformed
// TODO add your handling code here:
FCBrowser.showOpenDialog(BRun);
}//GEN-LAST:event_jMIOpenActionPerformed
private void jMISaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMISaveActionPerformed
try {
FileWriter fr = new FileWriter(TFAddress.getText());
BufferedWriter br = new BufferedWriter(fr);
String s = TAInput.getText();
br.write(s, 0, s.length());
br.close();
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
}//GEN-LAST:event_jMISaveActionPerformed
private void BGateMappingActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BGateMappingActionPerformed
// TODO add your handling code here:
String [] error = new String[1];
error[0] = "";
TAResult.append(Main.gateLevelMapping(error));
TALog.append("Technology Mapping to NOR is done!\n"+error[0]);
}//GEN-LAST:event_BGateMappingActionPerformed
private void BGateLevelOptimizationActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BGateLevelOptimizationActionPerformed
// TODO add your handling code here:
String [] error = new String[1];
error[0] = "";
TAResult.append(Main.gateLevelOptimization(error, true, true));
TALog.append("Gate Level Optimization is done!\n"+error[0]);
}//GEN-LAST:event_BGateLevelOptimizationActionPerformed
private void BCompileandGenerateGraphActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BCompileandGenerateGraphActionPerformed
// TODO add your handling code here:
String [] error = new String[1];
error[0] = "";
try {
// TODO add your handling code here:
TAResult.append("\n-----------------------------------------------\n" + Main.AST_Generate(TFAddress.getText(), error ));
} catch (IOException ex) {
Logger.getLogger(CelloGUI.class.getName()).log(Level.SEVERE, null, ex);
} catch (RecognitionException ex) {
Logger.getLogger(CelloGUI.class.getName()).log(Level.SEVERE, null, ex);
}
TALog.append("Abstract Syntax Tree generation done\n" + error[0]);
if (CBTransfromNOR.isSelected())
{
String [] error2 = new String[1];
error2[0] = "";
TAResult.append(Main.gateLevelMapping(error2));
TALog.append("Technology Mapping to NOR is done!\n"+error2[0]);
}
}//GEN-LAST:event_BCompileandGenerateGraphActionPerformed
private void BGateLevelOptimizeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BGateLevelOptimizeActionPerformed
// TODO add your handling code here:
String [] error = new String[1];
error[0] = "";
TAResult.append(Main.gateLevelOptimization(error, CBRemoveDoubleInvertersGL.isSelected(), RBRemoveDoubleInvertersbutNORS.isSelected()));
TALog.append("Gate Level Optimization is done!\n"+error[0]);
}//GEN-LAST:event_BGateLevelOptimizeActionPerformed
private void BMappingActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BMappingActionPerformed
// TODO add your handling code here:
TAResult.append(Main.motifLevelMapping(CBfamilyNOR2.isSelected(), CBfamilyNORn.isSelected()));
TALog.append("Parts mapping done!\n");
}//GEN-LAST:event_BMappingActionPerformed
private void CBFindRepeatPatternsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CBFindRepeatPatternsActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_CBFindRepeatPatternsActionPerformed
private void CBRemoveDoubleInvertersGLActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CBRemoveDoubleInvertersGLActionPerformed
// TODO add your handling code here:
RBRemoveAllInverters.setEnabled(CBRemoveDoubleInvertersGL.isSelected());
RBRemoveDoubleInvertersbutNORS.setEnabled(CBRemoveDoubleInvertersGL.isSelected());
}//GEN-LAST:event_CBRemoveDoubleInvertersGLActionPerformed
private void BMotifLevelOptimizationActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BMotifLevelOptimizationActionPerformed
// TODO add your handling code here:
String[] msg = new String[1];
msg[0] = "";
TAResult.append(Main.motifLevelOptimization( msg));
TALog.append(msg[0]+"Optimization done!\n");
}//GEN-LAST:event_BMotifLevelOptimizationActionPerformed
private void BShowSequenceActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BShowSequenceActionPerformed
// TODO add your handling code here:
String [] error = new String[1];
error[0] = "";
TAResult.append(Main.assignSequence(error)+"\n");
TALog.append("Sequence assignment done!\n"+error[0]);
}//GEN-LAST:event_BShowSequenceActionPerformed
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new CelloGUI().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton BBrowse;
private javax.swing.JButton BClear;
private javax.swing.JButton BCompileandGenerateGraph;
private javax.swing.JButton BFindBestSolution;
private javax.swing.ButtonGroup BGCostFunctions;
private javax.swing.ButtonGroup BGDoubleInverter;
private javax.swing.JButton BGateLevelOptimization;
private javax.swing.JButton BGateLevelOptimize;
private javax.swing.JButton BGateMapping;
private javax.swing.JButton BMap;
private javax.swing.JButton BMapping;
private javax.swing.JButton BMotifLevelOptimization;
private javax.swing.JButton BOptimize;
private javax.swing.JButton BParse;
private javax.swing.JButton BPartSelect;
private javax.swing.JButton BRun;
private javax.swing.JButton BShoqSequence;
private javax.swing.JButton BShowSequence;
private javax.swing.JCheckBox CBFindRepeatPatterns;
private javax.swing.JCheckBox CBFindRepeatedPatterns;
private javax.swing.JCheckBox CBHaybridDual;
private javax.swing.JCheckBox CBIO3;
private javax.swing.JCheckBox CBRemoveBuffers;
private javax.swing.JCheckBox CBRemoveDoubleInverstersML;
private javax.swing.JCheckBox CBRemoveDoubleInvertersGL;
private javax.swing.JCheckBox CBTF0;
private javax.swing.JCheckBox CBTF1;
private javax.swing.JCheckBox CBTF2;
private javax.swing.JCheckBox CBTransfromNOR;
private javax.swing.JCheckBox CBfamilyNOR2;
private javax.swing.JCheckBox CBfamilyNORn;
private javax.swing.JFileChooser FCBrowser;
private javax.swing.JList LPartFamily;
private javax.swing.JList LParts;
private javax.swing.JPanel PAssignSequence;
private javax.swing.JPanel PCelloGUI;
private javax.swing.JPanel PCompile;
private javax.swing.JPanel PGateLevelOptimize;
private javax.swing.JPanel PIOTFConstraint;
private javax.swing.JPanel PMapping;
private javax.swing.JPanel PMotifLevelOptimization;
private javax.swing.JRadioButton RBMaxFeatures;
private javax.swing.JRadioButton RBMaxInduce;
private javax.swing.JRadioButton RBMaxRepress;
private javax.swing.JRadioButton RBMinFeatures;
private javax.swing.JRadioButton RBMinIndice;
private javax.swing.JRadioButton RBMinRepress;
private javax.swing.JRadioButton RBRemoveAllInverters;
private javax.swing.JRadioButton RBRemoveDoubleInvertersbutNORS;
private javax.swing.JTextArea TAInput;
private javax.swing.JTextArea TALog;
private javax.swing.JTextArea TAResult;
private javax.swing.JTextField TFAddress;
private javax.swing.JTabbedPane TPControl;
private javax.swing.JMenu jMCompile;
private javax.swing.JMenu jMEdit;
private javax.swing.JMenu jMFile;
private javax.swing.JMenuItem jMIGenerateAST;
private javax.swing.JMenuItem jMIMap;
private javax.swing.JMenuItem jMINew;
private javax.swing.JMenuItem jMIOpen;
private javax.swing.JMenuItem jMIOptimize;
private javax.swing.JMenuItem jMISave;
private javax.swing.JMenuItem jMISaveAs;
private javax.swing.JMenuItem jMIShowSequence;
private javax.swing.JMenu jMRun;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane5;
private javax.swing.JPopupMenu.Separator jSeparator1;
private javax.swing.JPopupMenu.Separator jSeparator2;
// End of variables declaration//GEN-END:variables
}