de0-nano에 vga 내 코드... ㅠㅠ
여전히 화면은 안나오지만 일단 modelsim에서 패턴은 대충 확인했으니
이제 맞춰나가면 될 듯..
module vga640x480( input clk, input rst, output [7:0] LED, output hsync, output vsync, output [3:0] r, output [3:0] g, output [3:0] b ); parameter HSYNC = 190; parameter HBP = (190 + 96); parameter HVID = (190 + 96 + 1271); parameter HFP = (190 + 96 + 1271 + 32); parameter HTOTAL = 1589; parameter VSYNC = 3200; parameter VBP = (3200 + 52400); parameter VVID = (3200 + 52400 + 762650); parameter VFP = (3200 + 52400 + 762650 + 15900); parameter VTOTAL = 834150; reg [19:0] cnt; always @ (posedge clk or negedge rst) begin if (~rst) cnt <= 0; else begin if(cnt < VTOTAL) cnt <= cnt + 1; else cnt <= 0; end end assign LED[0] = ~vsync; assign LED[1] = ~hsync; assign r[3:0] = (((VBP < cnt) && (cnt < VVID)) && ((HBP < (cnt % HTOTAL)) && ((cnt % HTOTAL) < HVID))) ? 4'b1111 : 4'b0000; assign g[3:0] = (((VBP < cnt) && (cnt < VVID)) && ((HBP < (cnt % HTOTAL)) && ((cnt % HTOTAL) < HVID))) ? 4'b1111 : 4'b0000; assign b[3:0] = (((VBP < cnt) && (cnt < VVID)) && ((HBP < (cnt % HTOTAL)) && ((cnt % HTOTAL) < HVID))) ? 4'b1111 : 4'b0000; assign hsync = ((cnt % HTOTAL) < HSYNC)? 0 : 1; assign vsync = ((cnt ) < VSYNC)? 0 : 1; endmodule |
다시 보니.. 비디오 출력 하는 부분에서 &&대신 & 쓰지 않나
조건식 비교 범위를 반대로 하지 않나(그러니 계속 0이지) 완전 난리 부르스. ㄷㄷ
타이밍이 잘못되었나.. 왜 안나올까...