3 == Ports ===========================================================
10 percolate up: dvi_d2 1
11 percolate up: dvi_d3 1
12 percolate up: dvi_d4 1
13 percolate up: dvi_d5 1
14 percolate up: dvi_d6 1
15 percolate up: dvi_d7 1
16 percolate up: dvi_d8 1
17 percolate up: dvi_d9 1
18 percolate up: dvi_d10 1
19 percolate up: dvi_d11 1
23 percolate up: dvi_xclk_n 1
24 percolate up: dvi_xclk_p 1
25 percolate up: dvi_de 1
26 percolate up: dvi_reset_b 1
28 percolate down: gpio_sw_c 1
30 percolate up: gpio_led_c 1
31 percolate up: gpio_led_e 1
32 percolate up: gpio_led_n 1
33 percolate up: gpio_led_s 1
34 percolate up: gpio_led_w 1
36 percolate up: gpio_led_0 1
37 percolate up: gpio_led_1 1
38 percolate up: gpio_led_2 1
39 percolate up: gpio_led_3 1
40 percolate up: gpio_led_4 1
41 percolate up: gpio_led_5 1
42 percolate up: gpio_led_6 1
43 percolate up: gpio_led_7 1
45 percolate down: dvi_gpio1 1
46 percolate up: dvi_iic_scl 1
47 percolate inout: dvi_iic_sda 1
49 == FPGA ==============================================================
52 assign dvi_d0 = dvi_d[0];
53 assign dvi_d1 = dvi_d[1];
54 assign dvi_d2 = dvi_d[2];
55 assign dvi_d3 = dvi_d[3];
56 assign dvi_d4 = dvi_d[4];
57 assign dvi_d5 = dvi_d[5];
58 assign dvi_d6 = dvi_d[6];
59 assign dvi_d7 = dvi_d[7];
60 assign dvi_d8 = dvi_d[8];
61 assign dvi_d9 = dvi_d[9];
62 assign dvi_d10 = dvi_d[10];
63 assign dvi_d11 = dvi_d[11];
65 dvi_video_test my_dvi_video_test(
68 .I2C_SDA(dvi_iic_sda),
69 .I2C_SCL(dvi_iic_scl),
75 .DVI_XCLK_N(dvi_xclk_n),
76 .DVI_XCLK_P(dvi_xclk_p),
77 .DVI_RESET_B(dvi_reset_b),
85 .VGA_ODD_EVEN_B(1'b0),
109 assign dvi_reset_b = 1;
124 assign gpio_led_n = 1;
125 assign gpio_led_s = 0;
127 assign gpio_led_0 = dvi_gpio1;
128 assign gpio_led_1 = gpio_sw_c;
129 //assign gpio_led_2 = dvi_xclk_p;
130 //assign gpio_led_3 = 0;
131 //assign gpio_led_4 = 1;
132 assign gpio_led_5 = 0;
133 assign gpio_led_6 = 1;
134 assign gpio_led_7 = 0;
136 wire dvi_xclk_p_unbuffered;
137 wire dvi_xclk_n_unbuffered;
142 always @(posedge clk) begin
146 if (!initialized && gpio_sw_c) begin
152 i2c_video_programmer my_i2c_video_programmer
155 .I2C_SDA(dvi_iic_sda),
156 .I2C_SCL(dvi_iic_scl)
160 BUFG GBUF_FOR_DVI_CLOCK_N (.I(dvi_xclk_n_unbuffered), .O(dvi_xclk_n));
161 BUFG GBUF_FOR_DVI_CLOCK_P (.I(dvi_xclk_p_unbuffered), .O(dvi_xclk_p));
162 DCM // 36Mhz DVI clock
166 .CLKIN_PERIOD("10 ns"),
167 .DLL_FREQUENCY_MODE("LOW")
170 .CLKFB (dvi_xclk_fb),
171 .CLKFX (dvi_xclk_p_unbuffered),
172 .CLKFX180 (dvi_xclk_n_unbuffered),
177 wire [31:0] vga_pixel_addr_;
181 assign vga_pixel_a_ = vga_pixel_a;
186 wire [31:0] vga_pixel_data;
187 assign vga_pixel_data = {
194 assign inAddr = inX_d + (inY_d * 640);
196 vram vram(clk, !rst, we, inAddr[18:0], vga_pixel_addr_[20:2], inData_d, , mem_out);
202 .fbwb_adr_o(vga_pixel_addr_),
203 .fbwb_stb_o(vga_pixel_r),
204 .fbwb_ack_i(vga_pixel_a_),
205 .fbwb_dat_i(vga_pixel_data),
208 .vga_clk(dvi_xclk_p),
209 .vga_psave(vga_psave),
213 .vga_blank(vga_blank),
217 // .vga_clkout(vga_clkout)
220 always @(posedge clk) begin
226 vga_pixel_a <= vga_pixel_r;
228 if (`inX_full && `inY_full && `inData_full) begin
242 == UCF ===============================================================
244 #Net "dvi_0/dvi_xclk_p_unbuffered" PERIOD = 5 ns HIGH 50%;
246 NET dvi_d0 LOC="AB8" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
247 NET dvi_d1 LOC="AC8" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
248 NET dvi_d2 LOC="AN12" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
249 NET dvi_d3 LOC="AP12" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
250 NET dvi_d4 LOC="AA9" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
251 NET dvi_d5 LOC="AA8" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
252 NET dvi_d6 LOC="AM13" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
253 NET dvi_d7 LOC="AN13" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
254 NET dvi_d8 LOC="AA10" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
255 NET dvi_d9 LOC="AB10" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
256 NET dvi_d10 LOC="AP14" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
257 NET dvi_d11 LOC="AN14" | IOSTANDARD="LVDCI_33"; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
258 NET dvi_de LOC="AE8" | IOSTANDARD="LVDCI_33" | SLEW=FAST; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
259 NET dvi_reset_b LOC="AK6" | IOSTANDARD="LVCMOS33"; # Bank 18, Vcco=3.3V, No DCI
260 NET dvi_h LOC="AM12" | IOSTANDARD="LVDCI_33" | SLEW=FAST; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
261 NET dvi_v LOC="AM11" | IOSTANDARD="LVDCI_33" | SLEW=FAST; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
262 NET dvi_xclk_n LOC="AL10" | IOSTANDARD="LVCMOS33" | DRIVE=24 | SLEW=FAST; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
263 NET dvi_xclk_p LOC="AL11" | IOSTANDARD="LVCMOS33" | DRIVE=24 | SLEW=FAST; # Bank 22, Vcco=3.3V, DCI using 49.9 ohm resistors
265 NET dvi_gpio1 LOC="N30" | IOSTANDARD="LVCMOS18"; # Bank 15, Vcco=1.8V, DCI using 49.9 ohm resistors
266 NET dvi_iic_scl LOC="U27" | PULLUP | IOSTANDARD="LVCMOS18"; # Bank 15, Vcco=1.8V, DCI using 49.9 ohm resistors
267 NET dvi_iic_sda LOC="T29" | PULLUP | IOSTANDARD="LVCMOS18"; # Bank 15, Vcco=1.8V, DCI using 49.9 ohm resistors
269 NET gpio_sw_c LOC="AJ6" | IOSTANDARD="LVCMOS33"; # Bank 18, Vcco=3.3V, No DCI
271 NET gpio_led_c LOC="E8"; # Bank 20, Vcco=3.3V, DCI using 49.9 ohm resistors
272 NET gpio_led_e LOC="AG23"; # Bank 2, Vcco=3.3V
273 NET gpio_led_n LOC="AF13"; # Bank 2, Vcco=3.3V
274 NET gpio_led_s LOC="AG12"; # Bank 2, Vcco=3.3V
275 NET gpio_led_w LOC="AF23"; # Bank 2, Vcco=3.3V
277 NET gpio_led_0 LOC="H18"; # Bank 3, Vcco=2.5V, No DCI
278 NET gpio_led_1 LOC="L18"; # Bank 3, Vcco=2.5V, No DCI
279 NET gpio_led_2 LOC="G15"; # Bank 3, Vcco=2.5V, No DCI
280 NET gpio_led_3 LOC="AD26" | IOSTANDARD="LVCMOS18"; # Bank 21, Vcco=1.8V, DCI using 49.9 ohm resistors
281 NET gpio_led_4 LOC="G16"; # Bank 3, Vcco=2.5V, No DCI
282 NET gpio_led_5 LOC="AD25" | IOSTANDARD="LVCMOS18"; # Bank 21, Vcco=1.8V, DCI using 49.9 ohm resistors
283 NET gpio_led_6 LOC="AD24" | IOSTANDARD="LVCMOS18"; # Bank 21, Vcco=1.8V, DCI using 49.9 ohm resistors
284 NET gpio_led_7 LOC="AE24" | IOSTANDARD="LVCMOS18"; # Bank 21, Vcco=1.8V, DCI using 49.9 ohm resistors
286 == TeX ==============================================================
288 == Fleeterpreter ====================================================
290 public void service() { }
292 == FleetSim ==============================================================
294 == Constants =========================================================
296 == Test ==============================================================
301 == Contributors =========================================================
302 Adam Megacz <megacz@cs.berkeley.edu>