..а вот переразвёртка по горизонтали в конверторе никак не учтена..
..ну слава богу, кажись до heroy'я уже начало доходить, а то как-то даже неудобно быть единственным умным среди бъющихся ап стену :)
Вид для печати
ГиперДиззи :)
Нормально показывается. На скрине даже видно разноцветные точечки на его телесах :)
Бордюрные полосочки сидят ровно по отношению к экранным.
Котик блин... Как для даунов с фотоотчетом
тестовый код на verilog для DE1
В примере стандартная VGA развертка
ФоотчетКод:wire clk25, clk28;
pll28 pll0 (.inclk0(CLOCK_27[0]), .c0(clk25), .c1(clk28));
// vga gen
reg [9:0]cntx;
reg [9:0]cnty;
parameter
PIXEL_CLK = 25200,
H_DISP = 640,
H_FPORCH = 16,
H_SYNC = 96,
H_BPORCH = 48,
V_DISP = 480,
V_FPORCH = 12,
V_SYNC = 2,
V_BPORCH = 31;
always @ (posedge clk25)
if (cntx < H_DISP + H_FPORCH + H_SYNC + H_BPORCH)
cntx = cntx + 1;
else
cntx = 0;
always @ (posedge HS)
if (cnty < V_DISP + V_FPORCH + V_SYNC + V_BPORCH)
cnty = cnty + 1;
else cnty = 0;
wire HS = (cntx >= H_DISP + H_FPORCH && cntx < H_DISP + H_FPORCH + H_SYNC);
wire VS = (cnty >= V_DISP + V_FPORCH && cnty < V_DISP + V_FPORCH + V_SYNC);
assign VGA_HS = (HS & !VS) ^ !SW[0];
assign VGA_VS = VS ^ !SW[1];
wire Line0 = (cntx == 0) || (cntx == H_DISP-1) || (cnty == 0) || (cnty == V_DISP-1);
wire Line1 = 0; //cntx == 2 || cntx == H_DISP-3 || cnty == 2 || cnty == V_DISP-3;
wire Line2 = (cntx == 320) || (cnty == 240);
wire Line = (Line0 | Line1 | Line2) & SW[5];
wire BlankH = (cntx >= H_DISP) & SW[3];
wire BlankV = (cnty >= V_DISP) & SW[4];
wire Blank = BlankH | BlankV;
wire [3:0] CR = (Line) ? 15 : 1;
wire [3:0] CG = (Line) ? 15 : 1;
wire [3:0] CB = (Line) ? 15 : 1;
assign VGA_R = (Blank) ? 0 : CR;
assign VGA_G = (Blank) ? 0 : CG;
assign VGA_B = (Blank) ? 0 : CB;
1. Есть гашение вертикальное и горизонтальное картинка точно в рабочей области
2. Убраны оба гашения, картинка имеет неправильное положение при автодетекте и неправильные пропрции
3. Убрано вертикальное гашение, картинка имеет неправильные пропорции по вертикали и не правильное положение
4. Убрано горизонтальное гашение, картинка имеет неправильные пропорции и положение по горизонтали
2 zst:
Эффект оказался совершенно непредсказуем :) Смотри на темно-зеленый и на частоту монитора. Убрав доработку - всё вернулось как раньше, темно-зеленый исчез, частота - 60.
Может пригодится...
Параметры развертки
Код:[*User-Defined_mode,(768X576)]
PIXEL_CLK = 36000
H_DISP = 768
H_FPORCH = 40
H_SYNC = 72
H_BPORCH = 120
H_SYNC_POL = 0
V_DISP = 576
V_FPORCH = 4
V_SYNC = 4
V_BPORCH = 12
V_SYNC_POL = 0"
INTERLACE_ENABLE = 0
2 ewgeny7
Новая версия прошивки. Ширина синхроимпульса - нормальная,
гасящий после синхроимпульса - шире на ширину синхроимпульса,
выведена синхросмесь VGA: SYNC_VIDEO <= VSYNC_VGA xor HSYNC_VGA;)