assign inAddr = inX_d + (inY_d * 640);
- vram vram(clk, rst, we, inAddr[18:0], vga_pixel_addr_[20:2], inData_d, , mem_out);
+ vram vram(clk, !rst, we, inAddr[18:0], vga_pixel_addr_[20:2], inData_d, , mem_out);
wb_vga wb_vga(
.wb_clk_i(clk),
- .wb_rst_i(!rst),
+ .wb_rst_i(rst),
.fbwb_adr_o(vga_pixel_addr_),
.fbwb_stb_o(vga_pixel_r),
always @(posedge clk) begin
- if (!rst) begin
+ if (rst) begin
`reset
end else begin
- `flush
`cleanup
vga_pixel_a <= vga_pixel_r;
end
end
+== UCF ===============================================================
+
+## VGA ##############################################################################
+
+#net "vga_hsync" loc = f9;
+#net "vga_hsync" slew = slow;
+#net "vga_hsync" drive = 2;
+#
+#net "vga_vsync" loc = h10;
+#net "vga_vsync" slew = slow;
+#net "vga_vsync" drive = 2;
+#
+#net "vga_clkout" loc ="c12";
+#net "vga_clkout" slew = fast;
+#net "vga_clkout" drive = 8;
+#
+#net "vga_r<7>" loc ="h8";
+#net "vga_r<6>" loc ="c5";
+#net "vga_r<5>" loc ="h9";
+#net "vga_r<4>" loc ="g12";
+#net "vga_r<3>" loc ="g11";
+#net "vga_r<2>" loc ="g10";
+#net "vga_r<1>" loc ="f11";
+#net "vga_r<0>" loc ="f10";
+#net "vga_r<*>" slew = slow;
+#net "vga_r<*>" drive = 2;
+#
+#net "vga_g<7>" loc ="d5";
+#net "vga_g<6>" loc ="d4";
+#net "vga_g<5>" loc ="f8";
+#net "vga_g<4>" loc ="e13";
+#net "vga_g<3>" loc ="e12";
+#net "vga_g<2>" loc ="e11";
+#net "vga_g<1>" loc ="e9";
+#net "vga_g<0>" loc ="e8";
+#net "vga_g<*>" slew = slow;
+#net "vga_g<*>" drive = 2;
+#
+#net "vga_b<7>" loc ="c4";
+#net "vga_b<6>" loc ="c3";
+#net "vga_b<5>" loc ="d12";
+#net "vga_b<4>" loc ="d11";
+#net "vga_b<3>" loc ="d10";
+#net "vga_b<2>" loc ="d9";
+#net "vga_b<1>" loc ="c13";
+#net "vga_b<0>" loc ="g8";
+#net "vga_b<*>" slew = slow;
+#net "vga_b<*>" drive = 2;
+#
+#net "vga_*" iostandard = lvcmos33;
+#
+
+
== Constants ========================================================
== Test ==============================================================
+#skip
// can't test much here; just make sure it accepts values
#expect 0