亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sdcnt.v

?? 高速AD采集卡應用程序及SDRAM控制器
?? V
?? 第 1 頁 / 共 3 頁
字號:
		//if(burst_length_cntr == 9'd255)  //寫猝發長度是256  進行precharge,注意這里
																	//modereg_burst_count始終等于1,對于猝發寫入時
															//直接換成出發長度

		  
			if(burst_length_cntr == 9'd254)
				do_write_ack<=`LO;//shut down AD_FIFO
			else if(burst_length_cntr == 9'd255)  //這里改為寫猝發長度是255  進行precharge
			begin
				 burst_cntr_ena <= `LO;  // done counting;
				 
  	//			 sd_wr_ena <= `LO;     // 數據輸出使能信號(數據輸向SDRAM)
				 doing_precharge<=`HI;				 
				 next_state<=`state_precharge;
				//doing_precharge<=`LO;
				sd_addx10_mux <= 2'b11; // precharge all banks
		

			
				 
			end

       else 
			begin
				next_state<=`state_write_wait; ////write burst not finished
				doing_precharge<=`LO;
				do_write_ack<= `HI;     // write burst in progress
  	
			end


	end
//----------------------------------------------------------------------------------------------------------------
//state_terminate 發出終止頁猝發命令
/*	`state_terminate:
		begin
			sd_wr_l     <= `LO;  //terminate       	
        	sd_ras_l	<= `HI;  //	terminate 
        	sd_cas_l	<= `HI;  //	terminate 

			doing_precharge<=`HI;		//next state is precharge
			do_write_ack<= `LO; 
			do_read_ack    <= `LO;
			
			next_state<=`state_precharge;
			
		end	*/
//------------------------------------------------------------------------------------------------------



    // SET CAS state    //  發出read命令
    `state_set_cas:  begin
       // sd_cs_l     <= `LO;
        sd_cas_l    <= `LO;
        sd_dqm      <= 4'h0;
		

        next_state  <= `state_cas_latency1;
		  //更改為:
		  /*   
		   burst_cntr_ena <= `HI;      // enable the burst lenght counter
        do_read_ack    <= `HI; 
		 // sd_rd_ena  <= `HI; //			下個周期數據有效,所以讀使能應提前打開
		  next_state<=`state_read;//caslatency設置為1,下一個狀態為read
		  */
		       
    end
//------------------------------------------------------------------------------------------------
//暫時屏蔽latency1和latency2
/*
    `state_cas_latency1: begin  //   CAS  delay
       // sd_cs_l     <= `HI;     // disable CS
        sd_cas_l    <= `HI;     // disable CAS
        sd_dqm      <= 4'h0;
        if (modereg_cas_latency==3'b010)  begin
            do_read_ack    <= `HI;  // acknowledge the read request (do it here due to the latency)
           next_state <= `state_read;            // 2 cycles of lantency done.
           burst_cntr_ena <= `HI;                // enable the burst lenght counter
        end 
       else
           next_state <= `state_cas_latency2;    // 3 cycles of latency      
    end

    `state_cas_latency2:  begin  ///cas delay
        next_state <= `state_read;
        burst_cntr_ena <= `HI;      // enable the burst lenght counter
        do_read_ack    <= `HI;  // acknowledge the read request (do it here due to the latency)
    end
	 */
//---------------------------------------------------------------------------------------------------------------------
    /*
`state_read:  begin   ///  在這個狀態讀數據有效,sdram不進行任何操作
        if (burst_length_cntr == modereg_burst_count) begin
            burst_cntr_ena <= `LO;  // done counting;
            sd_rd_ena      <= `LO;     // done with the reading
            next_state     <= `state_precharge;

        	sd_wr_l     <= `HI;  ///NOP
        	//sd_cs_l     <= `HI; ///NOP
        	sd_ras_l	<= `HI; //NOP
        	sd_cas_l	<= `HI; //NOP
       	 sd_addx_mux <= 2'b00;   // send ROW (A[19:10]) of mp_addx to SDRAM    
        	sd_addx10_mux <= 2'b00; // send ROW (A[20])    "      "    
        	mp_data_mux <= `HI;         // drive the SD data bus with all zeros

       	 end 
	else begin
           sd_rd_ena  <= `HI;          // enable the read latch on the next state		
           next_state     <= `state_read;
        end
    end
*/
//-------------------------------------------------------------------------------------------------
 `state_cas_latency1: begin  //   CAS  delay
       // sd_cs_l     <= `HI;     // disable CS
        sd_cas_l    <= `HI;     // disable CAS
        sd_dqm      <= 4'h0;
      
       // do_read_ack    <= `HI;  // acknowledge the read request (do it here due to the latency)
       //調試屏蔽 burst_cntr_ena <= `HI;	  //下個周期數據有效,所以讀使能應提前打開
		  //next_state <= `state_read;            // 2 cycles of lantency done.
		  next_state <= `state_cas_latency2;	 //cas latency=3
                          // enable the burst lenght counter
        end 
//-----------------------------------------------------------------------------------
 `state_cas_latency2:  begin  ///cas delay
       
        //burst_cntr_ena <= `HI;      // enable the burst lenght counter
        do_read_ack    <= `HI;  // acknowledge the read request (do it here due to the latency)
    	   next_state <= `state_read;
	 end
//----------------------------------------------------------------------------------
//state read
`state_read:  begin   ///  在這個狀態讀數據有效,等待讀猝發進行完畢,sdram不進行任何操作

		sd_wr_l     <= `HI;  ///NOP
        	//sd_cs_l     <= `HI; 
        	sd_ras_l	<= `HI; //NOP
        	sd_cas_l	<= `HI; //NOP
			//doing_precharge<=`LO;

        if (burst_length_cntr == 9'd251) begin  //讀猝發完成 ,根據實際情況設置長度!!!

	
            burst_cntr_ena <= `LO;  // done counting;
				sd_addx10_mux<=2'b11;   // 為下一個狀態的precharge命令	precharge all banks
            //sd_rd_ena      <= `LO;     // done with the reading

				doing_precharge<=`HI;//下個周期進行PRECHARGE
            next_state     <= `state_precharge;
				//doing_precharge<=`LO;
			//	next_state<=`state_terminate;//  發出終止猝發命令	,	terminate 命令要提前一個周期發送
        	
       	 //sd_addx_mux <= 2'b00;   // send ROW (A[19:10]) of mp_addx to SDRAM    //為下一個狀態的precharge命令提供行地址//沒有必要提供行地址
        	//sd_addx10_mux <= 2'b00; // send ROW (A[20])
			//sd_addx_mux <= 2'b00; 
		

      //  	mp_data_mux <= `HI;         // drive the SD data bus with all zeros	????

       	 end 
	else begin    //讀猝發沒完成,繼續等待
           //sd_rd_ena  <= `HI;          // enable the read latch on the next state
			  burst_cntr_ena <= `HI;
			  do_read_ack    <= `HI;//read burstin progress
			  doing_precharge<=`LO;		
           next_state     <= `state_read;
        end
    end
	 default: next_state     <= `state_idle;

  endcase
//-----------------------------------------------------------------------------------------------------------
  

// This counter is used to generate a delay right after the //	generate Trc  delay

// auto-refresh command is issued to the SDRAM

always @(posedge sys_clk or negedge autorefresh_cntr_l)
  if (~autorefresh_cntr_l)
    autorefresh_cntr <= 4'h0;
  else
    autorefresh_cntr <= autorefresh_cntr + 1;



//-------------------------------------------------------------------------------------
// This mux selects the cycle limit value for the 
// auto refresh counter.  
// During power-up sequencing, we need to do `power_up_ref_cntr_limit
//   number of back=back refreshes.
// During regular operation, we need to do `auto_ref_cntr_limit number of
//   back-back refreshes.  This, for most cases is just 1, but if we're doing
//   "burst" type of refreshes, it could be more than 1.
always @(pwrup)
  case (pwrup)
      `HI:      cntr_limit <= `power_up_ref_cntr_limit;  //2
      default:  cntr_limit <= `auto_ref_cntr_limit;// 1
  endcase
  
 //------------------------------------------------------------------------------------ 
//
// BURST LENGHT COUNTER
//
// This is the burst length counter.  
always @(posedge sys_clk or negedge burst_cntr_ena)
  if (~burst_cntr_ena)
     burst_length_cntr <= 9'd0;   // reset whenever 'burst_cntr_ena' is low//根據實際情況設定位數!!!
  else
     burst_length_cntr <= burst_length_cntr + 1;

//----------------------------------------------------------------------------------------
// REFRESH_CNTR
//
// This counter keeps track of the number of back-back refreshes we're
// doing.  For most cases this would just be 1, but it allows "burst"
// refresh, where all refrehses are done back to back.
always @(posedge sys_clk or negedge refresh_cntr_l)
  if (~refresh_cntr_l)
     //refresh_cntr <= 13'h0000;
		 refresh_cntr<=2'd0;
  else if (next_state  == `state_auto_refresh)
	 refresh_cntr <= refresh_cntr + 1;

//
// BURST LENGTH SELECTOR
//	 這里寫的不對,因為在hostcon中,powerup結束后,modereg_burst_length始終為1
/*
always @(modereg_burst_length)
   case (modereg_burst_length)
      3'b000:  modereg_burst_count <= 4'h1;
      3'b001:  modereg_burst_count <= 4'h2;
      3'b010:  modereg_burst_count <= 4'h4;
      default  modereg_burst_count <= 4'h8;
   endcase
	*/

//------------------------------------------------------------------------------------------------

//
// REFRESH Request generator
//
assign do_refresh = (refresh_state == `state_halt);


always @(posedge sys_clk or negedge sys_rst_l)
  if (~sys_rst_l) begin
     refresh_state <= `state_count;
     refresh_timer <= 10'd0;
  end 
  else case (refresh_state)
     // COUNT
     // count up the refresh interval counter. If the
     // timer reaches the refresh-expire time, then go next state
     `state_count:  
        
		  		if (refresh_timer != 11'd1638) begin	  //  對于105M時鐘	,15.6us的間隔等于858個時鐘周期

           refresh_timer <= refresh_timer + 1;
           refresh_state <= `state_count;
        end 
		  else begin
           refresh_state <= `state_halt;
           refresh_timer <= 10'd0;
		end
    
     // HALT
     // wait for the SDRAM to complete any ongoing reads or
     // writes.  If the SDRAM has acknowledged the do_refresh,
     // (i.e. it is now doing the refresh)
     // then go to next state 
     `state_halt: 
/*        if (next_state==`state_auto_refresh     | 
            next_state==`state_auto_refresh_dly |
            next_state==`state_precharge )  
           refresh_state <= `state_reset;
*/
			begin
          	if (do_refresh_ack)	  //得到自刷新響應后進行刷新計數,否則停在這個狀態



            		refresh_state <= `state_count; 
			 	else	refresh_state<=`state_halt;
			end
				       

     // RESET
     // if the SDRAM refresh is completed, then reset the counter
     // and start counting up again.

	

    /* `state_reset:
        if (next_state==`state_idle) begin
           refresh_state <= `state_count;
           refresh_timer <= 8'h00;
        end*/
  endcase
           

endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91综合一区在线观看| 国产日韩欧美不卡| 亚洲精品视频免费观看| 成人午夜视频福利| 久久蜜臀精品av| 粉嫩在线一区二区三区视频| 国产亚洲1区2区3区| 国产精品一区二区在线播放| 国产精品热久久久久夜色精品三区| 国产精品一区久久久久| 中文字幕在线视频一区| 日本道精品一区二区三区 | 精品久久一区二区| 国产精品资源网| 国产精品国产馆在线真实露脸| av网站一区二区三区| 亚洲日韩欧美一区二区在线| 色综合久久久网| 美女诱惑一区二区| 国产午夜精品一区二区三区嫩草 | 亚洲欧美日韩在线不卡| 欧美日韩综合不卡| 国产高清无密码一区二区三区| 国产精品久久久久久久久免费丝袜 | 成人午夜在线免费| 亚洲一区二区三区爽爽爽爽爽| 欧美一卡二卡在线观看| 国产成人av电影在线观看| 亚洲欧美日本韩国| 欧美电影免费观看高清完整版| 国产精品99精品久久免费| 亚洲免费资源在线播放| 欧美精品第1页| 成人午夜av影视| 日本免费新一区视频| 国产精品免费网站在线观看| 欧美午夜寂寞影院| 国产麻豆9l精品三级站| 亚洲大片精品永久免费| 日本一区二区免费在线| 欧美日韩和欧美的一区二区| 国产黄人亚洲片| 天天影视涩香欲综合网| 中文字幕亚洲精品在线观看| 5566中文字幕一区二区电影| 成人午夜视频免费看| 毛片不卡一区二区| 亚洲一二三区视频在线观看| 国产欧美日韩综合| 日韩一区二区中文字幕| 色综合久久中文字幕综合网| 国产美女av一区二区三区| 肉丝袜脚交视频一区二区| 亚洲欧美另类久久久精品2019| 精品日韩成人av| 欧美剧情电影在线观看完整版免费励志电影 | 成人午夜在线播放| 理论电影国产精品| 午夜精品一区二区三区免费视频| 欧美国产禁国产网站cc| 欧美大白屁股肥臀xxxxxx| 欧美日韩激情一区二区三区| 色av成人天堂桃色av| 波多野结衣在线一区| 国产一区二区三区在线观看免费| 日韩福利视频网| 亚洲一二三区在线观看| 一区二区三区在线观看网站| 国产精品久久久久久久久图文区| 国产女人18毛片水真多成人如厕 | 国产精品丝袜黑色高跟| 久久久久久久久伊人| 久久这里只有精品6| 91精品国产高清一区二区三区| 欧美午夜宅男影院| 欧美最猛性xxxxx直播| 色综合久久66| 色婷婷一区二区| 国产色一区二区| 欧美电影免费观看高清完整版在| 91精品国产一区二区三区蜜臀| 欧美性猛片aaaaaaa做受| 欧美亚洲自拍偷拍| 欧美三级电影在线观看| 欧美性猛交xxxx乱大交退制版| 色婷婷一区二区三区四区| 91福利小视频| 欧美日韩高清一区二区| 欧美精品v国产精品v日韩精品| 欧美日韩一区 二区 三区 久久精品| 91网站在线播放| 色天使久久综合网天天| 欧美性猛交xxxx乱大交退制版| 欧美日韩国产123区| 欧美大片在线观看| 国产欧美精品一区二区三区四区 | 91色在线porny| 在线视频国内自拍亚洲视频| 欧美理论在线播放| 精品久久人人做人人爱| 国产精品久久久久久妇女6080| 亚洲免费av高清| 日日夜夜免费精品| 国产综合久久久久久鬼色| 成人动漫在线一区| 日本乱人伦aⅴ精品| 91麻豆精品国产91久久久更新时间 | 欧美亚洲国产一卡| 欧美一区二区三区视频| 26uuu久久天堂性欧美| 国产欧美一区二区精品性色超碰 | 亚洲一区二区三区四区不卡| 麻豆成人久久精品二区三区红| 国产一区二区三区| 在线视频中文字幕一区二区| 日韩视频一区在线观看| 国产目拍亚洲精品99久久精品| 亚洲免费观看在线观看| 精品一区二区三区免费播放| a美女胸又www黄视频久久| 欧美老人xxxx18| 国产精品美女久久福利网站| 天天影视涩香欲综合网| 成人动漫在线一区| 日韩视频一区二区| 中文字幕一区二区三区不卡在线 | 99久久亚洲一区二区三区青草 | 日韩视频国产视频| 国产精品久久国产精麻豆99网站| 天天色综合天天| 丁香六月综合激情| 4438成人网| 亚洲女厕所小便bbb| 精品亚洲国内自在自线福利| 91美女视频网站| 精品国产亚洲在线| 午夜不卡av免费| 色综合中文综合网| 国产不卡在线播放| 欧美一区二区女人| 亚洲综合小说图片| 不卡一区二区在线| 欧美电影免费观看高清完整版| 亚洲国产欧美在线| 成人国产精品免费观看视频| 欧美精品一区二区三区在线播放 | av男人天堂一区| 国产欧美综合在线观看第十页 | 欧美mv日韩mv亚洲| 亚洲mv大片欧洲mv大片精品| 91在线国产观看| 亚洲国产岛国毛片在线| 精品一区二区三区影院在线午夜| 欧美三级蜜桃2在线观看| 中文字幕五月欧美| 国产91色综合久久免费分享| 欧美不卡一区二区| 日韩电影免费在线| 欧美美女直播网站| 亚洲一区二区三区在线看| 99精品一区二区| 中文字幕一区二区日韩精品绯色| 国产成人亚洲综合a∨猫咪| 久久色.com| 国产精品亚洲视频| 国产三级精品三级| 国产成人av福利| 国产精品不卡一区二区三区| 成人黄色av电影| 中文字幕免费观看一区| 国产成人在线电影| 国产欧美日韩综合| 春色校园综合激情亚洲| 国产精品污www在线观看| 成人午夜激情视频| 亚洲精品欧美二区三区中文字幕| av电影天堂一区二区在线| 中文字幕在线不卡视频| 色婷婷激情一区二区三区| 一级中文字幕一区二区| 欧美午夜精品一区二区蜜桃| 日韩影院在线观看| 日韩女优制服丝袜电影| 国产一区二区免费视频| 国产精品拍天天在线| 91麻豆国产福利在线观看| 一区二区三区欧美| 欧美精品v国产精品v日韩精品| 日韩avvvv在线播放| 精品久久国产老人久久综合| 成人涩涩免费视频| 一区二区三区不卡视频在线观看| 欧美日韩一区二区电影| 精品一区二区免费在线观看| 日本一区二区电影| 欧美日韩的一区二区| 国产福利不卡视频| 一区二区三区日本| 日韩欧美专区在线| 成人激情黄色小说|