T
Tom2
Guest
Onko ketään, joka voi auttaa minua kääntää tämän Verilog koodi VHDL? Koodia:moduuli vga_controller (SynchClock, a, b, c, d, inRed, inGreen, inBlue, punainen, vihreä, sininen, Hsynch, Vsynch, tyhjä, synkätä, mem_address);
panos SynchClock;
input a, b, c, d;
input [7:0] inRed, inGreen, inBlue;
tuotos [7:0] Punainen, vihreä, sininen;
tuotos Hsynch, Vsynch;
tuotos tyhjäksi, synkätä;
output reg [16:0] mem_address;
reg [7:0] Punaiset = 8'b00000000, vihreä = 8'b00000000, Sininen = 8'b00000000;
reg Vsynch = 0, Hsynch = 0;
reg tyhjä = 1, synkätä = 1;
reg [19:0] x2 = 20'b00000000000000000000, Y2 = 20'b00000000000000000000;
reg [9:0] Hcount = 10'b0000000000, Vcount = 10'b0000000000;
reg [9:0] PixelRow = 10'b0000000000, PixelCol = 10'b0000000000;
aina @ (negedge SynchClock) alkaa
tyhjä = 1'b1;
synkätä = 1'b1;
if (Hcount == 799) Hcount = 0;
muu Hcount = Hcount 1;
if (Hcount> = 661 & & Hcount <= 756) Hsynch = 0;
muu Hsynch = 1;
if (Vcount> = 525 & & Hcount> = 756) Vcount = 0;
else if (Hcount == 756) Vcount = Vcount 1;
if (Vcount> = 491 & & Vcount <= 493) Vsynch = 0;
muu Vsynch = 1;
if (Hcount <= 640) PixelCol = Hcount;
if (Vcount <= 480) PixelRow = Vcount;
if (Hcount <= 640 & & Vcount <= 480) aloittaa
if (a & b & c & d) alkaa
if (PixelCol <= 479 & & PixelCol> = 159 & & PixelRow <= 359 & & PixelRow> = 119) aloittaa
mem_address = ((PixelRow-119) * 320) PixelCol-159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
muuten alkaa
Punainen = 8'b11111111;
Vihreä = 8'b11111111;
Sininen = 8'b11111111;
loppu
loppu
if (a & b & c & ~ d) aloittaa
/ /
If (PixelCol <= 479 & & PixelCol> = 159 & & PixelRow <= 359 & & PixelRow> = 119) aloittaa
x2 = 724 * PixelCol/1024 724 * PixelRow/1024;
Y2 =- 724 * PixelCol/1024 724 * PixelRow/1024;
mem_address = ((Y2-119) * 320) x2-159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
/ * Loppuun
muuten alkaa
Punainen = 8'b11111111;
Vihreä = 8'b11111111;
Sininen = 8'b11111111;
loppu
* /
if (a & b & ~ c & d) alkaa
if (PixelCol <= 159 & & PixelRow <= 439 & & PixelRow> = 119) aloittaa
x2 = PixelRow;
Y2 =- PixelCol;
mem_address = ((Y2 159) * 320) x2-119;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
muuten alkaa
Punainen = 8'b11111111;
Vihreä = 8'b11111111;
Sininen = 8'b11111111;
loppu
loppu
if (a & b & ~ c & ~ d) aloittaa
x2 =- 724 * PixelCol/1024 724 * PixelRow/1024;
Y2 =- 724 * PixelCol/1024 - 724 * PixelRow/1024;
mem_address = ((Y2-119) * 320) x2-159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
if (a & ~ b & c & d) alkaa
if (PixelCol <= 159 & & PixelRow <= 119) aloittaa
x2 =- PixelCol;
Y2 =- PixelRow;
mem_address = ((Y2 119) * 320) x2 159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
muuten alkaa
Punainen = 8'b11111111;
Vihreä = 8'b11111111;
Sininen = 8'b11111111;
loppu
loppu
if (a & ~ b & c & ~ d) aloittaa
x2 =- 724 * PixelCol/1024 - 724 * PixelRow/1024;
Y2 = 724 * PixelCol/1024 - 724 * PixelRow/1024;
mem_address = ((Y2-119) * 320) x2-159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
if (a & ~ b & ~ c & d) alkaa
if (PixelCol <= 399 & & PixelCol> = 159 & & PixelRow <= 119) aloittaa
x2 = - PixelRow;
Y2 = PixelCol;
mem_address = ((Y2-159) * 320) x2 119;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
muuten alkaa
Punainen = 8'b11111111;
Vihreä = 8'b11111111;
Sininen = 8'b11111111;
loppu
loppu
if (a & ~ b & ~ c & ~ d) aloittaa
x2 = 724 * PixelCol/1024 - 724 * PixelRow/1024;
Y2 = 724 * PixelCol/1024 724 * PixelRow/1024;
mem_address = ((Y2-119) * 320) x2-159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
/ * If (~ a & b & c & d) alkaa
if (~ a & b & c & ~ d) aloittaa
if (~ a & b & ~ c & d) alkaa
if (~ a & b & ~ c & ~ d) aloittaa
if (~ a & ~ b & c & d) alkaa
if (~ a & ~ b & c & ~ d) aloittaa
if (~ a & ~ b & ~ c & d) alkaa
if (~ a & ~ b & ~ c & ~ d) aloittaa
if (a & b & c & ~ d) aloittaa
if (PixelCol <320 & & PixelRow> 240) alkaa / / katw aristera xwris GREEN
mem_address = ((PixelRow - 240) * 320) PixelCol;
Punainen = inRed;
Vihreä = 8'b00000000;
Sininen = inBlue;
loppu
if (PixelCol> = 320 & & PixelRow <= 240) alkaa / / panw deksia xwris BLUE
mem_address = (PixelRow * 320) PixelCol - 320;
Punainen = inRed;
Vihreä = inGreen;
Sininen = 8'b00000000;
loppu
if (PixelCol> = 320 & & PixelRow> 240) alkaa / / katw deksia xwris RED
mem_address = ((PixelRow - 240) * 320) PixelCol - 320;
Punainen = 8'b00000000;
Vihreä = inGreen;
Sininen = inBlue;
loppu
* / Loppuun
muuten alkaa
Punainen = 8'b00000000;
Vihreä = 8'b00000000;
Sininen = 8'b00000000;
loppu
loppu
endmodule
panos SynchClock;
input a, b, c, d;
input [7:0] inRed, inGreen, inBlue;
tuotos [7:0] Punainen, vihreä, sininen;
tuotos Hsynch, Vsynch;
tuotos tyhjäksi, synkätä;
output reg [16:0] mem_address;
reg [7:0] Punaiset = 8'b00000000, vihreä = 8'b00000000, Sininen = 8'b00000000;
reg Vsynch = 0, Hsynch = 0;
reg tyhjä = 1, synkätä = 1;
reg [19:0] x2 = 20'b00000000000000000000, Y2 = 20'b00000000000000000000;
reg [9:0] Hcount = 10'b0000000000, Vcount = 10'b0000000000;
reg [9:0] PixelRow = 10'b0000000000, PixelCol = 10'b0000000000;
aina @ (negedge SynchClock) alkaa
tyhjä = 1'b1;
synkätä = 1'b1;
if (Hcount == 799) Hcount = 0;
muu Hcount = Hcount 1;
if (Hcount> = 661 & & Hcount <= 756) Hsynch = 0;
muu Hsynch = 1;
if (Vcount> = 525 & & Hcount> = 756) Vcount = 0;
else if (Hcount == 756) Vcount = Vcount 1;
if (Vcount> = 491 & & Vcount <= 493) Vsynch = 0;
muu Vsynch = 1;
if (Hcount <= 640) PixelCol = Hcount;
if (Vcount <= 480) PixelRow = Vcount;
if (Hcount <= 640 & & Vcount <= 480) aloittaa
if (a & b & c & d) alkaa
if (PixelCol <= 479 & & PixelCol> = 159 & & PixelRow <= 359 & & PixelRow> = 119) aloittaa
mem_address = ((PixelRow-119) * 320) PixelCol-159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
muuten alkaa
Punainen = 8'b11111111;
Vihreä = 8'b11111111;
Sininen = 8'b11111111;
loppu
loppu
if (a & b & c & ~ d) aloittaa
/ /
If (PixelCol <= 479 & & PixelCol> = 159 & & PixelRow <= 359 & & PixelRow> = 119) aloittaa
x2 = 724 * PixelCol/1024 724 * PixelRow/1024;
Y2 =- 724 * PixelCol/1024 724 * PixelRow/1024;
mem_address = ((Y2-119) * 320) x2-159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
/ * Loppuun
muuten alkaa
Punainen = 8'b11111111;
Vihreä = 8'b11111111;
Sininen = 8'b11111111;
loppu
* /
if (a & b & ~ c & d) alkaa
if (PixelCol <= 159 & & PixelRow <= 439 & & PixelRow> = 119) aloittaa
x2 = PixelRow;
Y2 =- PixelCol;
mem_address = ((Y2 159) * 320) x2-119;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
muuten alkaa
Punainen = 8'b11111111;
Vihreä = 8'b11111111;
Sininen = 8'b11111111;
loppu
loppu
if (a & b & ~ c & ~ d) aloittaa
x2 =- 724 * PixelCol/1024 724 * PixelRow/1024;
Y2 =- 724 * PixelCol/1024 - 724 * PixelRow/1024;
mem_address = ((Y2-119) * 320) x2-159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
if (a & ~ b & c & d) alkaa
if (PixelCol <= 159 & & PixelRow <= 119) aloittaa
x2 =- PixelCol;
Y2 =- PixelRow;
mem_address = ((Y2 119) * 320) x2 159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
muuten alkaa
Punainen = 8'b11111111;
Vihreä = 8'b11111111;
Sininen = 8'b11111111;
loppu
loppu
if (a & ~ b & c & ~ d) aloittaa
x2 =- 724 * PixelCol/1024 - 724 * PixelRow/1024;
Y2 = 724 * PixelCol/1024 - 724 * PixelRow/1024;
mem_address = ((Y2-119) * 320) x2-159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
if (a & ~ b & ~ c & d) alkaa
if (PixelCol <= 399 & & PixelCol> = 159 & & PixelRow <= 119) aloittaa
x2 = - PixelRow;
Y2 = PixelCol;
mem_address = ((Y2-159) * 320) x2 119;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
muuten alkaa
Punainen = 8'b11111111;
Vihreä = 8'b11111111;
Sininen = 8'b11111111;
loppu
loppu
if (a & ~ b & ~ c & ~ d) aloittaa
x2 = 724 * PixelCol/1024 - 724 * PixelRow/1024;
Y2 = 724 * PixelCol/1024 724 * PixelRow/1024;
mem_address = ((Y2-119) * 320) x2-159;
Punainen = inRed;
Vihreä = inGreen;
Sininen = inBlue;
loppu
/ * If (~ a & b & c & d) alkaa
if (~ a & b & c & ~ d) aloittaa
if (~ a & b & ~ c & d) alkaa
if (~ a & b & ~ c & ~ d) aloittaa
if (~ a & ~ b & c & d) alkaa
if (~ a & ~ b & c & ~ d) aloittaa
if (~ a & ~ b & ~ c & d) alkaa
if (~ a & ~ b & ~ c & ~ d) aloittaa
if (a & b & c & ~ d) aloittaa
if (PixelCol <320 & & PixelRow> 240) alkaa / / katw aristera xwris GREEN
mem_address = ((PixelRow - 240) * 320) PixelCol;
Punainen = inRed;
Vihreä = 8'b00000000;
Sininen = inBlue;
loppu
if (PixelCol> = 320 & & PixelRow <= 240) alkaa / / panw deksia xwris BLUE
mem_address = (PixelRow * 320) PixelCol - 320;
Punainen = inRed;
Vihreä = inGreen;
Sininen = 8'b00000000;
loppu
if (PixelCol> = 320 & & PixelRow> 240) alkaa / / katw deksia xwris RED
mem_address = ((PixelRow - 240) * 320) PixelCol - 320;
Punainen = 8'b00000000;
Vihreä = inGreen;
Sininen = inBlue;
loppu
* / Loppuun
muuten alkaa
Punainen = 8'b00000000;
Vihreä = 8'b00000000;
Sininen = 8'b00000000;
loppu
loppu
endmodule