OpenCores
URL https://opencores.org/ocsvn/sdcard_mass_storage_controller/sdcard_mass_storage_controller/trunk

Subversion Repositories sdcard_mass_storage_controller

[/] [sdcard_mass_storage_controller/] [trunk/] [bench/] [sdc_dma/] [verilog/] [sdModel.v] - Diff between revs 98 and 102

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 98 Rev 102
Line 56... Line 56...
reg [15:0] RCA;
reg [15:0] RCA;
reg [31:0] OCR;
reg [31:0] OCR;
reg [120:0] CID;
reg [120:0] CID;
reg Busy; //0 when busy
reg Busy; //0 when busy
wire [6:0] crcOut;
wire [6:0] crcOut;
reg [3:0] crc_c;
reg [4:0] crc_c;
 
 
reg [3:0] CurrentState;
reg [3:0] CurrentState;
reg [3:0] DataCurrentState;
reg [3:0] DataCurrentState;
`define RCASTART 16'h20
`define RCASTART 16'h20
`define OCRSTART 32'hff8000
`define OCRSTART 32'hff8000
Line 673... Line 673...
      end
      end
      else begin
      else begin
         crcDat_en<=0;
         crcDat_en<=0;
         crcDat_rst<=1;
         crcDat_rst<=1;
          oeDat<=1;
          oeDat<=1;
          crc_c<=15;
        crc_c<=16;
     end
     end
 
 
       if (transf_cnt==1) begin
       if (transf_cnt==1) begin
 
 
          last_din <= FLASHmem[BlockAddr+(write_out_index)][7:4];
          last_din <= FLASHmem[BlockAddr+(write_out_index)][7:4];
          datOut<=0;
          datOut<=0;
          crcDat_in<= FLASHmem[BlockAddr+(write_out_index)][7:4];
          crcDat_in<= FLASHmem[BlockAddr+(write_out_index)][7:4];
          data_send_index<=1;
          data_send_index<=1;
        end
        end
        else if ( (transf_cnt>=2) && (transf_cnt<=`BIT_BLOCK-`CRC_OFF )) begin
        else if ( (transf_cnt>=2) && (transf_cnt<=`BIT_BLOCK-`CRC_OFF )) begin
          data_send_index=~data_send_index;
          data_send_index<=~data_send_index;
          if (!data_send_index) begin
          if (!data_send_index) begin
             last_din<=FLASHmem[BlockAddr+(write_out_index)][7:4];
             last_din<=FLASHmem[BlockAddr+(write_out_index)][7:4];
             crcDat_in<= FLASHmem[BlockAddr+(write_out_index)][7:4];
             crcDat_in<= FLASHmem[BlockAddr+(write_out_index)][7:4];
          end
          end
          else begin
          else begin
Line 704... Line 704...
             crcDat_en<=0;
             crcDat_en<=0;
         end
         end
 
 
       end
       end
       else if (transf_cnt>`BIT_BLOCK-`CRC_OFF & crc_c!=0) begin
       else if (transf_cnt>`BIT_BLOCK-`CRC_OFF & crc_c!=0) begin
 
         datOut<= last_din;
         crcDat_en<=0;
         crcDat_en<=0;
         crc_c<=crc_c-1;
         crc_c<=crc_c-1;
 
         if (crc_c<= 16) begin
         datOut[0]<=crcDat_out[0][crc_c-1];
         datOut[0]<=crcDat_out[0][crc_c-1];
         datOut[1]<=crcDat_out[1][crc_c-1];
         datOut[1]<=crcDat_out[1][crc_c-1];
         datOut[2]<=crcDat_out[2][crc_c-1];
         datOut[2]<=crcDat_out[2][crc_c-1];
         datOut[3]<=crcDat_out[3][crc_c-1];
         datOut[3]<=crcDat_out[3][crc_c-1];
       end
       end
 
       end
       else if (transf_cnt==`BIT_BLOCK-2) begin
       else if (transf_cnt==`BIT_BLOCK-2) begin
          datOut<=4'b1111;
          datOut<=4'b1111;
      end
      end
       else if ((transf_cnt !=0) && (crc_c == 0 ))begin
       else if ((transf_cnt !=0) && (crc_c == 0 ))begin
         oeDat<=0;
         oeDat<=0;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.