|
各位前輩好,我是剛加入這塊領域的初學者,使用的是DE2-70
我從AlteraDE2-70的範例中做了些修改,做了一個3*3的中值濾波,放在RAW2RGB的後面
但是資料透過Sdram_Control_4Port傳給給VGA的時候,為什麼畫面是偏綠的??
我的VGA是1280*1024,請問會是什麼原因會造成這樣的畫面出現?
////**************/////
wire [11:0] sVGA_R;
wire [11:0] sVGA_G;
wire [11:0] sVGA_B;
wire sVGA_DVAL;
/////***************////
MedianFilter MF(
.CCD_PIXCLK(CCD_PIXCLK),
.iRed(sCCD_R),
.iGreen(sCCD_G),
.iBlue(sCCD_B),
.iDVAL(sCCD_DVAL),
.oDval(sVGA_DVAL),
.oRed(sVGA_R),
.oGreen(sVGA_G),
.oBlue(sVGA_B),
.iRst(DLY_RST_1)
);
///*********************///
wire [11:0] temp_R;
wire [11:0] temp_G ;
wire [11:0] temp_B;
wire temp_DVAL;
assign temp_R = iSW[10] ? sVGA_R : sCCD_R ;
assign temp_G = iSW[10] ? sVGA_G : sCCD_G ;
assign temp_B = iSW[10] ? sVGA_B : sCCD_B ;
assign temp_DVAL = iSW[10] ? sVGA_DVAL : sCCD_DVAL ;
////******************///
Sdram_Control_4Port sdram0 (
// HOST Side
.REF_CLK(iCLK_50),
.RESET_N(1'b1),
.CLK(sdram_ctrl_clk),
// FIFO Write Side 1
.WR1_DATA({temp_G[11:7], temp_B[11:2]}),
.WR1(temp_DVAL),
.WR1_ADDR(0),
.WR1_MAX_ADDR(1280*1024),
.WR1_LENGTH(9'h100),
.WR1_LOAD(!DLY_RST_0),
.WR1_CLK(CCD_PIXCLK),
// FIFO Read Side 1
.RD1_DATA(Read_DATA1),
.RD1(Read),
.RD1_ADDR(0),
.RD1_MAX_ADDR(1280*1024),
.RD1_LENGTH(9'h100),
.RD1_LOAD(!DLY_RST_0),
.RD1_CLK(VGA_CTRL_CLK),
// SDRAM Side
.SA(oDRAM0_A[11:0]),
.BA(oDRAM0_BA),
.CS_N(oDRAM0_CS_N),
.CKE(oDRAM0_CKE),
.RAS_N(oDRAM0_RAS_N),
.CAS_N(oDRAM0_CAS_N),
.WE_N(oDRAM0_WE_N),
.DQ(DRAM_DQ[15:0]),
.DQM({oDRAM0_UDQM1,oDRAM0_LDQM0})
);
Sdram_Control_4Port sdram1 (
// HOST Side
.REF_CLK(iCLK_50),
.RESET_N(1'b1),
.CLK(sdram_ctrl_clk),
// FIFO Write Side 1
.WR1_DATA({temp_G[6:2], temp_R[11:2]}),
.WR1(temp_DVAL),
.WR1_ADDR(0),
.WR1_MAX_ADDR(1280*1024),
.WR1_LENGTH(9'h100),
.WR1_LOAD(!DLY_RST_0),
.WR1_CLK(CCD_PIXCLK),
// FIFO Read Side 1
.RD1_DATA(Read_DATA2),
.RD1(Read),
.RD1_ADDR(0),
.RD1_MAX_ADDR(1280*1024),
.RD1_LENGTH(9'h100),
.RD1_LOAD(!DLY_RST_0),
.RD1_CLK(VGA_CTRL_CLK),
// SDRAM Side
.SA(oDRAM1_A[11:0]),
.BA(oDRAM1_BA),
.CS_N(oDRAM1_CS_N),
.CKE(oDRAM1_CKE),
.RAS_N(oDRAM1_RAS_N),
.CAS_N(oDRAM1_CAS_N),
.WE_N(oDRAM1_WE_N),
.DQ(DRAM_DQ[31:16]),
.DQM({oDRAM1_UDQM1,oDRAM1_LDQM0})
); |
|