percolate up: dvi_de 1
percolate up: dvi_reset_b 1
+percolate down: gpio_sw_c 1
+
percolate up: gpio_led_c 1
percolate up: gpio_led_e 1
percolate up: gpio_led_n 1
percolate up: gpio_led_s 1
percolate up: gpio_led_w 1
+percolate up: gpio_led_0 1
+percolate up: gpio_led_1 1
+percolate up: gpio_led_2 1
+percolate up: gpio_led_3 1
percolate up: gpio_led_4 1
percolate up: gpio_led_5 1
percolate up: gpio_led_6 1
percolate up: gpio_led_7 1
-== TeX ==============================================================
+percolate down: dvi_gpio1 1
+percolate up: dvi_iic_scl 1
+percolate inout: dvi_iic_sda 1
-== Fleeterpreter ====================================================
-//percolate down: dvi_gpio1 1
-//percolate up: dvi_iic_scl 1
-//percolate inout: dvi_iic_sda 1
+== FPGA ==============================================================
- public void service() { }
+wire [11:0] dvi_d;
+assign dvi_d0 = dvi_d[0];
+assign dvi_d1 = dvi_d[1];
+assign dvi_d2 = dvi_d[2];
+assign dvi_d3 = dvi_d[3];
+assign dvi_d4 = dvi_d[4];
+assign dvi_d5 = dvi_d[5];
+assign dvi_d6 = dvi_d[6];
+assign dvi_d7 = dvi_d[7];
+assign dvi_d8 = dvi_d[8];
+assign dvi_d9 = dvi_d[9];
+assign dvi_d10 = dvi_d[10];
+assign dvi_d11 = dvi_d[11];
+
+dvi_video_test my_dvi_video_test(
+ .CLK_P(clk),
+ .CLK_N(clk),
+ .I2C_SDA(dvi_iic_sda),
+ .I2C_SCL(dvi_iic_scl),
+
+ .DVI_D(dvi_d),
+ .DVI_H(dvi_h),
+ .DVI_V(dvi_v),
+ .DVI_DE(dvi_de),
+ .DVI_XCLK_N(dvi_xclk_n),
+ .DVI_XCLK_P(dvi_xclk_p),
+ .DVI_RESET_B(dvi_reset_b),
+
+ .VGA_PIXEL_CLK(1'b0),
+ .VGA_Y_GREEN(8'b0),
+ .VGA_CBCR_RED(8'b0),
+ .VGA_BLUE(8'b0),
+ .VGA_HSYNC(1'b0),
+ .VGA_VSYNC(1'b0),
+ .VGA_ODD_EVEN_B(1'b0),
+ .VGA_SOGOUT(1'b0),
+ .VGA_CLAMP(1'b0),
+ .VGA_COAST(1'b0),
+
+ .SOGOUT(),
+ .PIXEL_X_COORD(),
+ .PIXEL_Y_COORD(),
+ .TOTAL_PIXEL_COUNT(),
+ .VGA_DATA_VALID(),
+ .Y(),
+ .HSYNC(),
+ .VSYNC(),
+ .DVI_PIXEL_COUNT(),
+ .DVI_X_COORD(),
+ .DVI_Y_COORD(),
+ .DVI_DATA_VALID()
+
+ );
-== FleetSim ==============================================================
-== FPGA ==============================================================
+/*
assign dvi_de = 1;
assign dvi_reset_b = 1;
assign dvi_d9 = 0;
assign dvi_d10 = 1;
assign dvi_d11 = 0;
-
+*/
assign gpio_led_n = 1;
assign gpio_led_s = 0;
-// assign gpio_led_0 = dvi_gpio1;
-// assign gpio_led_1 = 0;
-// assign gpio_led_2 = 1;
-// assign gpio_led_3 = 0;
-// assign gpio_led_4 = 1;
+ assign gpio_led_0 = dvi_gpio1;
+ assign gpio_led_1 = gpio_sw_c;
+ //assign gpio_led_2 = dvi_xclk_p;
+ //assign gpio_led_3 = 0;
+ //assign gpio_led_4 = 1;
assign gpio_led_5 = 0;
assign gpio_led_6 = 1;
assign gpio_led_7 = 0;
-
+/*
wire dvi_xclk_p_unbuffered;
wire dvi_xclk_n_unbuffered;
wire dvi_xclk_fb;
-
+*/
/*
+ reg initialized;
+ always @(posedge clk) begin
+ if (rst) begin
+ initialized <= 0;
+ end else begin
+ if (!initialized && gpio_sw_c) begin
+ end
+ end
+ end
+*/
+/*
+i2c_video_programmer my_i2c_video_programmer
+ ( .CLK200Mhz(clk),
+ .RST(rst),
+ .I2C_SDA(dvi_iic_sda),
+ .I2C_SCL(dvi_iic_scl)
+ );
+
+
BUFG GBUF_FOR_DVI_CLOCK_N (.I(dvi_xclk_n_unbuffered), .O(dvi_xclk_n));
BUFG GBUF_FOR_DVI_CLOCK_P (.I(dvi_xclk_p_unbuffered), .O(dvi_xclk_p));
- DCM // 25Mhz VGA clock
+ DCM // 36Mhz DVI clock
#(
- .CLKFX_MULTIPLY(4),
- .CLKFX_DIVIDE(16),
- .CLKIN_PERIOD("20 ns")
+ .CLKFX_MULTIPLY(9),
+ .CLKFX_DIVIDE(25),
+ .CLKIN_PERIOD("10 ns"),
+ .DLL_FREQUENCY_MODE("LOW")
) vgadcm (
.CLKIN (clk),
.CLKFB (dvi_xclk_fb),
.CLKFX180 (dvi_xclk_n_unbuffered),
.CLK0 (dvi_xclk_fb)
);
-*/
+
wire [31:0] vga_pixel_addr_;
wire vga_pixel_r;
.fbwb_ack_i(vga_pixel_a_),
.fbwb_dat_i(vga_pixel_data),
- /* VGA signals */
- .vga_clk(dvi_xclk),
+ // VGA signals
+ .vga_clk(dvi_xclk_p),
.vga_psave(vga_psave),
.vga_hsync(dvi_h),
.vga_vsync(dvi_v),