diff options
Diffstat (limited to 'ice40/regressions/issue0148/hdl/vga/vga40x30x2.v')
-rw-r--r-- | ice40/regressions/issue0148/hdl/vga/vga40x30x2.v | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/ice40/regressions/issue0148/hdl/vga/vga40x30x2.v b/ice40/regressions/issue0148/hdl/vga/vga40x30x2.v new file mode 100644 index 0000000..1d2fd09 --- /dev/null +++ b/ice40/regressions/issue0148/hdl/vga/vga40x30x2.v @@ -0,0 +1,69 @@ +// Copyright 2012, Brian Swetland <swetland@frotz.net> +// Licensed under the Apache License, Version 2.0. + +module vga40x30x2( + input clk25m, + output [1:0]red, + output [1:0]grn, + output [1:0]blu, + output hs, + output vs, + output fr, + input vram_clk, + input [10:0]vram_waddr, + input [7:0]vram_wdata, + input vram_we + ); + +wire [3:0]r; +wire [3:0]g; +wire [3:0]b; + +wire newline; +wire advance; +wire [7:0]line; +wire[11:0]pixel; + +vga vga0( + .clk(clk25m), + .hs(hs), + .vs(vs), + .fr(fr), + .r(r), + .g(g), + .b(b), + .newline(newline), + .advance(advance), + .line(line), + .pixel(pixel) + ); + +assign red = r[3:2]; +assign grn = g[3:2]; +assign blu = b[3:2]; + +wire [10:0]vram_raddr; +wire [7:0]vram_rdata; + +pixeldata pixeldata0( + .clk(clk25m), + .newline(newline), + .advance(advance), + .line(line), + .pixel(pixel), + .vram_data(vram_rdata), + .vram_addr(vram_raddr) + ); + +videoram #(8,11) vram( + .rclk(clk25m), + .re(1'b1), + .rdata(vram_rdata), + .raddr(vram_raddr), + .wclk(vram_clk), + .we(vram_we), + .wdata(vram_wdata[7:0]), + .waddr(vram_waddr[10:0]) + ); + +endmodule |