3 == Ports ===========================================================
8 percolate down: vga_clk 1
9 percolate up: vga_psave 1
10 percolate up: vga_hsync 1
11 percolate up: vga_vsync 1
12 percolate up: vga_sync 1
13 percolate up: vga_blank 1
17 percolate up: vga_clkout 1
19 == TeX ==============================================================
21 == Fleeterpreter ====================================================
23 private java.awt.Frame frame = null;
24 public void service() {
25 if (box_inX.dataReadyForShip() &&
26 box_inY.dataReadyForShip() &&
27 box_inData.dataReadyForShip()
29 long x = box_inX.removeDataForShip();
30 long y = box_inY.removeDataForShip();
31 long d = box_inData.removeDataForShip();
34 frame = new java.awt.Frame();
35 java.awt.Dimension dim = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
36 frame.setSize((int)dim.getWidth(),(int)dim.getHeight());
38 frame.setBackground(new java.awt.Color(0,0,0));
40 java.awt.Color c = new java.awt.Color(
41 ((d & (1L<<2))!=0) ? 0xff : 0x00,
42 ((d & (1L<<1))!=0) ? 0xff : 0x00,
43 ((d & (1L<<0))!=0) ? 0xff : 0x00
45 java.awt.Graphics2D g = (java.awt.Graphics2D)frame.getGraphics();
46 g.transform(java.awt.geom.AffineTransform.getScaleInstance(((double)frame.getWidth())/640, ((double)frame.getHeight())/480));
48 g.fillRect((int)x,(int)y,1,1);
53 == FleetSim ==============================================================
55 == FPGA ==============================================================
58 wire [31:0] vga_pixel_addr_;
62 assign vga_pixel_a_ = vga_pixel_a;
67 wire [31:0] vga_pixel_data;
68 assign vga_pixel_data = {
75 assign inAddr = inX_d + (inY_d * 640);
77 vram vram(clk, rst, we, inAddr[18:0], vga_pixel_addr_[20:2], inData_d, , mem_out);
83 .fbwb_adr_o(vga_pixel_addr_),
84 .fbwb_stb_o(vga_pixel_r),
85 .fbwb_ack_i(vga_pixel_a_),
86 .fbwb_dat_i(vga_pixel_data),
90 .vga_psave(vga_psave),
91 .vga_hsync(vga_hsync),
92 .vga_vsync(vga_vsync),
94 .vga_blank(vga_blank),
98 .vga_clkout(vga_clkout)
101 always @(posedge clk) begin
108 vga_pixel_a <= vga_pixel_r;
110 if (`inX_full && `inY_full && `inData_full) begin
122 == Constants ========================================================
124 == Test ==============================================================
126 // can't test much here; just make sure it accepts values
138 send token to debug.in;
142 send token to debug.in;
146 send token to debug.in;
154 == Contributors =========================================================
155 Adam Megacz <megacz@cs.berkeley.edu>