X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fslipway%2Fmpar%2FVisualization.java;fp=src%2Fedu%2Fberkeley%2Fslipway%2Fmpar%2FVisualization.java;h=a6e8a64febea81df5d74b4ce1e0df851ee4bcee4;hb=5301afc9e47f0dd6f96858d1c70407e0df5b53cf;hp=0000000000000000000000000000000000000000;hpb=d76f7c4ce28a3b84ada73282f3ca00a9b716cf93;p=slipway.git diff --git a/src/edu/berkeley/slipway/mpar/Visualization.java b/src/edu/berkeley/slipway/mpar/Visualization.java new file mode 100644 index 0000000..a6e8a64 --- /dev/null +++ b/src/edu/berkeley/slipway/mpar/Visualization.java @@ -0,0 +1,85 @@ +package edu.berkeley.slipway.mpar; +import com.atmel.fpslic.*; +import java.awt.*; +import java.awt.event.*; +import byucc.edif.tools.merge.*; +import byucc.edif.*; +import java.io.*; +import java.util.*; +import edu.berkeley.slipway.*; +import edu.berkeley.abits.*; +import com.atmel.fpslic.*; +import static com.atmel.fpslic.FpslicConstants.*; +import static edu.berkeley.slipway.mpar.PhysicalFpslic.*; + +public class Visualization extends Frame implements MouseMotionListener, MouseListener { + public void mouseEntered(MouseEvent e) { } + public void mouseExited(MouseEvent e) { } + public void mousePressed(MouseEvent e){ } + public void mouseReleased(MouseEvent e) { } + public void mouseDragged(MouseEvent e) { } + public void mouseClicked(MouseEvent e) { + MPARDemo.temperature += 0.05; + } + public void mouseMoved(MouseEvent e) { + PhysicalFpslic.badx = (e.getX() / CELLSEP)-1; + PhysicalFpslic.bady = (getHeight()-e.getY()) / CELLSEP; + } + + public static final Color MOVED = new Color(0x88, 0x88, 0x88); + public static final Color PLAIN = new Color(0xff, 0x88, 0x88); + public static final Color EMPTY = new Color(0x88, 0xff, 0x88); + + private final PhysicalFpslic pd; + + public Visualization(PhysicalFpslic pd) { + this.pd = pd; + setSize(CELLSEP*(pd.width+2), CELLSEP*(pd.height+2)); + show(); + setSize(CELLSEP*(pd.width+2), CELLSEP*(pd.height+2)); + addMouseListener(this); + addMouseMotionListener(this); + } + + public void draw(Placement placement, Routing routing, boolean drawRouting) { + Graphics2D g = (Graphics2D)getGraphics(); + g.translate(CELLSEP,CELLSEP); + g.setColor(Color.white); + g.fillRect(-CELLSEP, -CELLSEP, getWidth(), getHeight()); + g.setColor(Color.black); + g.drawString("temperature = " + MPARDemo.temperature, 10, 0); + g.drawString("congestion = " + MPARDemo.congestion, 10, 15); + g.drawString("slack = " + (-1 * MPARDemo.timingpenalty), 10, 30); + for(int x=0; x