Line 112... |
Line 112... |
wire [15:0] crcDat_out [3:0];
|
wire [15:0] crcDat_out [3:0];
|
|
|
genvar i;
|
genvar i;
|
generate
|
generate
|
for(i=0; i<4; i=i+1) begin:CRC_16_gen
|
for(i=0; i<4; i=i+1) begin:CRC_16_gen
|
SD_CRC_16 CRC_16_i (crcDat_in[i],crcDat_en, sd_Clk, crcDat_rst, crcDat_out[i]);
|
SD_CRC_16 CRC_16_i (crcDat_in[i],crcDat_en, sdClk, crcDat_rst, crcDat_out[i]);
|
end
|
end
|
endgenerate
|
endgenerate
|
SD_CRC_7 CRC_7(
|
SD_CRC_7 CRC_7(
|
crcIn,
|
crcIn,
|
crcEn,
|
crcEn,
|
Line 580... |
Line 580... |
else if ( transf_cnt <= (`BIT_BLOCK_REC +`BIT_CRC_CYCLE-1)) begin
|
else if ( transf_cnt <= (`BIT_BLOCK_REC +`BIT_CRC_CYCLE-1)) begin
|
transf_cnt<=transf_cnt+1;
|
transf_cnt<=transf_cnt+1;
|
crcDat_en<=0;
|
crcDat_en<=0;
|
last_din <=dat;
|
last_din <=dat;
|
|
|
if (transf_cnt> `BIT_BLOCK_REC-1) begin
|
if (transf_cnt> `BIT_BLOCK_REC) begin
|
crc_c<=crc_c-1;
|
crc_c<=crc_c-1;
|
|
|
if (crcDat_out[0][crc_c] != last_din[0])
|
if (crcDat_out[0][crc_c] != last_din[0])
|
crc_ok<=0;
|
crc_ok<=0;
|
if (crcDat_out[1][crc_c] != last_din[1])
|
if (crcDat_out[1][crc_c] != last_din[1])
|
Line 628... |
Line 628... |
flash_write_cnt<=flash_write_cnt+1;
|
flash_write_cnt<=flash_write_cnt+1;
|
CardStatus[12:9] <= `PRG;
|
CardStatus[12:9] <= `PRG;
|
if (flash_write_cnt == 0)
|
if (flash_write_cnt == 0)
|
datOut<=1;
|
datOut<=1;
|
else if(flash_write_cnt == 1)
|
else if(flash_write_cnt == 1)
|
datOut[0]<=1;
|
|
else if(flash_write_cnt == 2)
|
|
datOut[0]<=0;
|
datOut[0]<=0;
|
else if ((flash_write_cnt > 2) && (flash_write_cnt < 7)) begin
|
|
|
else if ((flash_write_cnt > 1) && (flash_write_cnt < 6)) begin
|
if (crc_ok)
|
if (crc_ok)
|
datOut[0] <=okcrctoken[6-flash_write_cnt];
|
datOut[0] <=okcrctoken[5-flash_write_cnt];
|
else
|
else
|
datOut[0] <= invalidcrctoken[6-flash_write_cnt];
|
datOut[0] <= invalidcrctoken[5-flash_write_cnt];
|
end
|
end
|
else if ((flash_write_cnt >= 7) && (flash_write_cnt < 264)) begin
|
else if ((flash_write_cnt >= 6) && (flash_write_cnt < 263)) begin
|
datOut[0]<=0;
|
datOut[0]<=0;
|
datOut[1]<=1;
|
datOut[1]<=1;
|
datOut[2]<=1;
|
datOut[2]<=1;
|
datOut[3]<=1;
|
datOut[3]<=1;
|
flash_blockwrite_cnt<=flash_blockwrite_cnt+2;
|
flash_blockwrite_cnt<=flash_blockwrite_cnt+2;
|