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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sdram_samsung.v

?? 三星SDRAM的verilog模型的完整源碼
?? V
?? 第 1 頁 / 共 5 頁
字號(hào):
		TADDR = CUR_TIME;	endalways @( negedge rasb or posedge rasb)	begin		CUR_TIME = $realtime;		if( PWR == `TRUE && CSB_FLAG == `LOW )			if( pcke == `HIGH && CUR_TIME - TCLK_H < `tSH-`MARGIN )				$display("Warning: RASB hold violation at %t", CUR_TIME);		if(rasb)			RASB_FLAG = `HIGH;		TRASB = CUR_TIME;	endalways @( negedge casb or posedge casb)	begin		CUR_TIME = $realtime;		if( PWR == `TRUE && CSB_FLAG == `LOW )			if( pcke == `HIGH && CUR_TIME - TCLK_H < `tSH-`MARGIN )				$display("Warning: CASB hold violation at %t", CUR_TIME);		if(casb)			CASB_FLAG = `HIGH;		TCASB = CUR_TIME;	endalways @( negedge csb or posedge csb)	begin		CUR_TIME = $realtime;		if( csb )			CSB_FLAG <= #(CUR_TIME - TCLK_H + `tSH) csb;		if( PWR == `TRUE && pcke == `HIGH && CUR_TIME - TCLK_H < `tSH-`MARGIN )			$display("Warning: CSB hold violation at %t", CUR_TIME);		TCSB = CUR_TIME;	endalways @( negedge web or posedge web)	begin		CUR_TIME = $realtime;		if( PWR == `TRUE && CSB_FLAG == `LOW )			if( pcke == `HIGH && CUR_TIME - TCLK_H < `tSH-`MARGIN )				$display("Warning: WEB hold violation at %t", CUR_TIME);		if(web)			WEB_FLAG = `HIGH;		else			WEB_FLAG = `LOW;		TWEB = CUR_TIME;	endalways @(dqi)	begin		if( WRITE_MODE )		begin			CUR_TIME = $realtime;			if( CUR_TIME - TCLK_H < `tSH-`MARGIN )				$display("Warning: DQi hold violation at %t", CUR_TIME);		end		TDQI = $realtime;	endalways @(dqm) begin  CUR_TIME = $realtime;  if (PWR == `TRUE)	for (i = 0; i < `nDQM; i = i + 1) begin	  if (CUR_TIME - TCLK_H < `tSH-`MARGIN && pcke == `HIGH)		$display("Warning: DQM(%d) hold violation at %t", i, CUR_TIME);	  TDQM[i] = $realtobits(CUR_TIME);	endend/* *----------------------------------------------------- *	 power up check routine							 *----------------------------------------------------- */initial	begin		auto_cnt = -1;		PWR = `FALSE;		if(pwrup_check)		fork			@(posedge clk or negedge clk) PWR <= #0 `TRUE;			begin				#pwrup_time auto_cnt = 0;				Mode = `INITIAL;			end		join		else		begin			@(posedge clk or negedge clk);			auto_cnt = 2;			pwrup_done = `TRUE;			PWR <= #0 `TRUE;`ifdef v		$display("-- power up check routine skipped");`endif		end	end/* *----------------------------------------------------- *	 MRS(mode register set)  *----------------------------------------------------- */always	@(modeset)	begin : mrs_op		if( &precharge_flag == 1'b1)		begin			$display("Warning: Illegal command in precharge operation at %t", CUR_TIME);			disable mrs_op;		end		if (|Mode == 1'b0)			$display(">> MODE register set at	%t", CUR_TIME);		else			begin 				$display("Warning: Illegal MRS command at %t",CUR_TIME);				disable mrs_op;			end// mode initialization		MRS_SET    = `FALSE;		begin			if(~|RFU)			begin  // {				case(addr[2:0]) // burst length programming					3'b000:begin								BL = 1;							WBL = 1;							$display("-- burst length = 1");					end					3'b001:begin						BL = 2;						WBL = 2;						$display("-- burst length = 2");					end					3'b010:begin						BL = 4;						WBL = 4;						$display("-- burst length = 4");					end					3'b011:begin						BL = 8;						WBL = 8;						$display("-- burst length = 8");					end					3'b111:begin // added						BL = `PAGEDEPTH;                        WBL = `PAGEDEPTH;                        $display("-- burst length = %d", `PAGEDEPTH);                    end					default	$display("Warning: Invalid Burst length!");				endcase`endprotect					if(addr[3] && BL != `PAGEDEPTH)		// burst type  programming				begin					burst_type = 1'b1;   					$display("-- burst type   = interleave.");				end				else				begin					`ifdef M16G4_M64G3		// jhkim(8.14)						if (addr[3] && BL == `PAGEDEPTH) begin						    $display("Warning: interleave mode does not support Full page Mode");							$display("         interleave mode will be changed to sequential mode");						end					`endif					burst_type = 1'b0;					$display("-- burst type   = sequential.");				end					case(addr[6:4])		// CAS latency programming					3'b001:begin						`ifdef NO_CL1						  $display("Warning: cas latency 1 is not supported in 16M 4Gen. & 64M 3 Gen.");					`else						tSAC = `tSAC1; CL=1; tSHZ = `tSHZ1; 						if( TCC_P < `tCC1-`MARGIN )							$display("Warning: clock minimun cycle violation at cas latency=1");						  $display("-- cas latency  = 1");					`endif					end 					3'b010:begin					`ifdef NO_CL2 //KyW						  $display("Warning: cas latency 2 is not supported in this device.");					`else					   tSAC = `tSAC2; CL=2; tSHZ = `tSHZ2; 						if( TCC_P < `tCC2-`MARGIN )							$display("Warning: clock minimun cycle violation at cas latency=2");					   $display("-- cas latency  = 2");					`endif					end					3'b011:begin					`ifdef NO_CL3 //KyW						  $display("Warning: cas latency 3 is not supported in this device.");					`else					   tSAC = `tSAC3; CL=3; tSHZ = `tSHZ3; 						if( TCC_P < `tCC3-`MARGIN )							$display("Warning: clock minimun cycle violation at cas latency=3");					   $display("-- cas latency  = 3");					`endif					end					default	$display("Warning: Invalid CAS latency!");				endcase					if(addr[9])				begin					$display("-- Burst read single bit write mode");					WBL = 1;				end`ifdef NOKIA				REF16M_MODE = `FALSE;				REF32M_MODE = `FALSE;`endif`ifdef MOBILE				REF4BANK = `TRUE;				REF2BANK = `FALSE;				REF1BANK = `FALSE;`endif			end `ifdef NOKIA			else if (addr[8:7] === 2'b01) begin				if (addr[6:4] === 3'b000) begin					if (addr[3] === 1'b0) begin						$display("-- Partial Refresh mode (16M)");						REF16M_MODE = `TRUE;						REF32M_MODE = `FALSE;					end					else if (addr[3] === 1'b1) begin						$display("-- Partial Refresh mode (32M)");						REF32M_MODE = `TRUE;						REF16M_MODE = `FALSE;					end				end				else if (addr[4] === 1'b1) begin					if (addr[2] === 1'b0) $display("-- VREFi is set to 1.4V");					if (addr[2] === 1'b1) $display("-- VREFi is set to 0.9V");				end			end`endif`ifdef MOBILE		else if (ba[1] === 1'b1 && ba[0] === 1'b0) begin //Extended MRS for Mobile DRAM			case(addr[6:5]) // Drive Strength					2'b00:						$display("-- Full drive strength");					2'b01:						$display("-- Half drive strength");					default	$display("Warning: Invalid drive strength address!");			endcase			case(addr[4:3]) // TCSR					2'b00:						$display("-- TCSR (46'C~70'C) mode");					2'b01:						$display("-- TCSR (16'C~45'C) mode");					2'b10:						$display("-- TCSR (-25'C~15'C) mode");					2'b11:						$display("-- TCSR (71'C~85'C) mode");					default	$display("Warning: Invalid TCSR address!");			endcase			case(addr[2:0]) // PASR					3'b000: begin						$display("-- PASR (4 banks) mode");						REF4BANK = `TRUE;						REF2BANK = `FALSE;						REF1BANK = `FALSE;					end					3'b001: begin						$display("-- PASR (2 banks) mode");						REF4BANK = `FALSE;						REF2BANK = `TRUE;						REF1BANK = `FALSE;					end					3'b010: begin						$display("-- PASR (1 banks) mode");						REF4BANK = `FALSE;						REF2BANK = `FALSE;						REF1BANK = `TRUE;					end					default	$display("Warning: Invalid PASR address!");			endcase		end`endif			else			begin				$display("-- reserved for future use !!");				$display("-- check address: [11,10,8,7] = %b",RFU);			end			`ifdef M16G4_M64G3			  MRS_SET <= repeat (2) @(negedge pclk)  `TRUE; // From 3 -> 2			`else			  MRS_SET <= repeat (2) @(negedge pclk)  `TRUE; // From 3 -> 2			`endif		end 	end`protect/* *----------------------------------------------------- *	 ACTIVE command									 *----------------------------------------------------- */// In active command, bank is selected in accordance with A11 address.always	@(active)	begin : active_op		integer bank_id;		reg		[8*8:1] str;		if(CUR_TIME - TRAS_P < `tRRD-`MARGIN)		begin			$display("Warning: tRRD violation at %t", CUR_TIME);			disable active_op;		end		r_bank_addr = ba;		bank_id = BankSelect(ba);		str = PrintBank(ba);		//if(CUR_TIME - $bitstoreal(TPRE_P[bank_id]) < `tRP-`MARGIN)		if ((bank_id == 0) && (CUR_TIME - TPRE_P0 < `tRP-`MARGIN) ||			(bank_id == 1) && (CUR_TIME - TPRE_P1 < `tRP-`MARGIN) ||			(bank_id == 2) && (CUR_TIME - TPRE_P2 < `tRP-`MARGIN) ||			(bank_id == 3) && (CUR_TIME - TPRE_P3 < `tRP-`MARGIN))		begin			$display("Warning: tRP violation at %t", CUR_TIME);			disable active_op;		end		//if(CUR_TIME - $bitstoreal(TRAS_PP[bank_id]) < `tRC-`MARGIN)	// 2.27		if ((bank_id == 0) && (CUR_TIME - TRAS_PP0 < `tRC-`MARGIN) ||			(bank_id == 1) && (CUR_TIME - TRAS_PP1 < `tRC-`MARGIN) ||			(bank_id == 2) && (CUR_TIME - TRAS_PP2 < `tRC-`MARGIN) ||			(bank_id == 3) && (CUR_TIME - TRAS_PP3 < `tRC-`MARGIN))		begin			$display("Warning: tRC violation at %t", CUR_TIME);			disable active_op;		end		if(Mode[bank_id] == `TRUE)		begin			$display("Warning: Illegal active (%0s is not precharged) at %t",str,CUR_TIME);		end		else		begin/*			md = Mode;			md[bank_id] = 1;			Mode = md;*/			Mode[bank_id] = 1'b1;`ifdef v		$display(">> active (%0s) at %t", str, CUR_TIME);`endif			//TRAS_PP[bank_id] = $realtobits(CUR_TIME);			// save current time for tRCD,tRC check.			case(bank_id)//TRAS_PP				'd0:	TRAS_PP0 = CUR_TIME;				'd1:	TRAS_PP1 = CUR_TIME;				'd2:	TRAS_PP2 = CUR_TIME;				'd3:	TRAS_PP3 = CUR_TIME;			endcase//TRAS_PP			r_addr_[bank_id] = addr[`ADDRTOP:0];  // check in 64M 2bank        end		//TRAS_PP[bank_id] = $realtobits(CUR_TIME);			// save current time for tRCD,tRC check.			case(bank_id)//TRAS_PP				'd0:	TRAS_PP0 = CUR_TIME;				'd1:	TRAS_PP1 = CUR_TIME;				'd2:	TRAS_PP2 = CUR_TIME;				'd3:	TRAS_PP3 = CUR_TIME;			endcase//TRAS_PP		TRAS_P = CUR_TIME;	end  // active operation/* *----------------------------------------------------- *	 READ command									   *----------------------------------------------------- */always	@(read)	begin :read_block		integer bank_id;		reg		[8*8:1] str;		if(CUR_TIME - TCAS_P < `tCCD-`MARGIN)		begin			$display("Warning: tCCD violation at %t", CUR_TIME);			disable read_block;		end	`ifdef M512_M1024_X4		c_addr = {addr[12:11],addr[`nCOL-3:0]};	`else	`ifdef M512_M1024_X8		c_addr = {addr[11],addr[`nCOL-2:0]};	`else	`ifdef M128_M256_X4 // 98.6.30 BYC		c_addr = {addr[11],addr[`nCOL-2:0]};	`else		c_addr = addr[`BIT_C];	`endif	`endif	`endif		c_bank_addr = ba;		bank_id = BankSelect(ba);		str = PrintBank(ba);		//if(CUR_TIME - $bitstoreal(TRAS_PP[bank_id]) < `tRCD-`MARGIN)		if ((bank_id == 0) && (CUR_TIME - TRAS_PP0 < `tRCD-`MARGIN) ||			(bank_id == 1) && (CUR_TIME - TRAS_PP1 < `tRCD-`MARGIN) ||			(bank_id == 2) && (CUR_TIME - TRAS_PP2 < `tRCD-`MARGIN) ||			(bank_id == 3) && (CUR_TIME - TRAS_PP3 < `tRCD-`MARGIN))		begin			$display("Warning: tRCD violation at %t", CUR_TIME);			disable read_block;		end		r_addr = r_addr_[bank_id];`endprotect		if(Mode[bank_id] == `TRUE)		begin		    if( addr[`ADDR_AP] == `TRUE)		    begin`ifdef v			$display(">> read with auto precharge(%0s) at 	%t",str,CUR_TIME);`endif				auto_flag[bank_id] <= @(negedge pclk) `TRUE;				rd_autoprech_reg <= @(negedge pclk) ba;			end		    else begin`ifdef v		    $display(">> read (%0s) at %t ",str,CUR_TIME);`endif				auto_flag[bank_id] <= @(negedge pclk) `FALSE;			end		end 		else begin`ifdef v		$display("Illegal Read %0s is not activated",str);`endif			disable read_block;		end		READ_MODE = `TRUE;	// read operation start		TCAS_P = CUR_TIME;		m_addr = {r_addr, c_addr};		if(~burst_type)			increment_read;		else				interleave_read;		`ifdef M16G4_M64G3		`else		  if( auto_flag[bank_id] )		  begin			if( BL != 1)	 				auto_flagx <= @(negedge pclk) `TRUE;			->autostart;		  end		`endif		read_task;			// task call		READ_MODE = `FALSE;   // read operation end.//        last_rw = CUR_TIME;		last_rw = TCLK_H;		if( auto_flag[bank_id] )		begin//			rd_autoprech_reg = c_bank_addr;			if ({CSB_FLAG,RASB_FLAG,CASB_FLAG} == 3'b010 && bank_id === ba)				$display($time, " Warning: For actual device, this gapless command would be illegal");			else				->rd_autoprecharge;		end	end/* *-----------------------------------------------------

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合在线电影| 久久综合九色综合欧美98| 亚洲欧美日韩国产手机在线 | 天天综合色天天综合色h| 99vv1com这只有精品| 樱花草国产18久久久久| 欧美色综合网站| 日韩成人免费看| 欧美成人精品福利| 国内精品在线播放| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 韩国女主播一区| 中文字幕av一区二区三区免费看 | 在线免费av一区| 男女性色大片免费观看一区二区| 精品三级在线看| 成人免费毛片app| 亚洲制服丝袜一区| 精品欧美一区二区久久| 波多野结衣一区二区三区| 樱桃国产成人精品视频| 日韩三级av在线播放| 粉嫩av一区二区三区在线播放| 亚洲免费av网站| 欧美精品一区二区三区一线天视频 | 精品福利二区三区| 成人激情免费网站| 美女www一区二区| 国产精品不卡一区| 日韩欧美资源站| 色婷婷综合久久久中文一区二区 | 国产无一区二区| 欧美在线观看一区| 精品一二三四在线| 一区二区三区在线观看欧美 | 欧美日韩成人高清| 高清免费成人av| 亚洲成av人**亚洲成av**| 久久久久久久久久美女| 欧美精品电影在线播放| jvid福利写真一区二区三区| 久热成人在线视频| 一区二区三区四区蜜桃| 国产欧美久久久精品影院| 在线成人午夜影院| 91色九色蝌蚪| 国产精品系列在线播放| 日本在线不卡一区| 亚洲人成人一区二区在线观看| 日韩精品中文字幕在线不卡尤物| 日本道在线观看一区二区| 国产高清成人在线| 麻豆久久久久久| 午夜日韩在线电影| 亚洲精品高清在线| 国产精品久久久久影视| 久久久久久毛片| 日韩女同互慰一区二区| 欧美日韩三级在线| 色婷婷久久久久swag精品| 成人看片黄a免费看在线| 激情图片小说一区| 蜜桃视频在线一区| 日韩高清在线不卡| 亚洲成av人片在www色猫咪| 亚洲另类在线视频| 日韩理论电影院| 国产精品女上位| 国产日韩精品久久久| 精品黑人一区二区三区久久| 日韩欧美一区电影| 日韩一区和二区| 欧美人体做爰大胆视频| 在线观看免费亚洲| 欧美最猛性xxxxx直播| 91黄色免费观看| 在线一区二区三区四区五区| 色欧美日韩亚洲| 91九色02白丝porn| 欧美日韩一区二区欧美激情| 欧美日韩成人综合天天影院| 制服丝袜亚洲网站| 欧美xxxx在线观看| 国产日韩高清在线| 国产精品久久久久影院| 亚洲婷婷综合久久一本伊一区| 中文字幕一区二区三| 亚洲特黄一级片| 亚洲欧美电影院| 亚洲电影一级片| 日韩有码一区二区三区| 日韩av不卡一区二区| 久久99在线观看| 国产成人久久精品77777最新版本| 国产精品91xxx| av亚洲精华国产精华| 色综合久久久久综合体| 欧美中文字幕久久| 日韩免费观看高清完整版| 久久夜色精品国产噜噜av| 一区二区三区在线观看网站| 亚洲精品伦理在线| 日韩精品一卡二卡三卡四卡无卡| 精品亚洲aⅴ乱码一区二区三区| 国产一区二区按摩在线观看| 成人免费的视频| 在线观看免费一区| 亚洲精品在线网站| 亚洲欧洲精品一区二区精品久久久 | 国产精品护士白丝一区av| 亚洲另类中文字| 精品在线你懂的| av网站一区二区三区| 欧美精品免费视频| 久久精品视频免费| 亚洲大型综合色站| 国产麻豆精品一区二区| 色呦呦国产精品| 欧美一区二区三区在线观看视频 | 久久se这里有精品| 91在线视频免费观看| 欧美一区二区三区在线| 国产精品第13页| 美腿丝袜亚洲综合| 91麻豆免费在线观看| 日韩免费观看高清完整版| 亚洲日本在线a| 国产精品资源站在线| 欧美性大战xxxxx久久久| 国产婷婷色一区二区三区| 亚洲国产精品久久久久秋霞影院| 国产传媒久久文化传媒| 欧美区视频在线观看| 国产精品久久久久一区| 久久99久久精品| 欧美视频你懂的| 国产精品久久久久久久第一福利| 人妖欧美一区二区| 色婷婷亚洲综合| 国产精品久久精品日日| 国产一区二区三区电影在线观看| 欧美日韩三级一区二区| 亚洲啪啪综合av一区二区三区| 精品一区二区三区在线观看 | 天堂av在线一区| 色视频成人在线观看免| 国产精品网站在线| 激情综合色播五月| 91精品国产综合久久久久久久久久 | 26uuu国产电影一区二区| 亚洲成在线观看| 日本乱人伦aⅴ精品| 中文幕一区二区三区久久蜜桃| 精品一区二区在线视频| 欧美日韩免费高清一区色橹橹| 亚洲图片另类小说| 成人免费va视频| 国产精品久久久久一区二区三区| 国产精品白丝jk白祙喷水网站| 精品国产一区二区三区久久影院| 国产河南妇女毛片精品久久久| 欧美一区二区三区成人| 日韩**一区毛片| 欧美一区二区三区四区五区| 五月婷婷欧美视频| 欧美视频完全免费看| 亚洲福利视频一区二区| 欧美日韩国产精选| 天天综合天天做天天综合| 欧美酷刑日本凌虐凌虐| 亚洲电影视频在线| 4438成人网| 亚洲一区二区高清| 欧美美女一区二区三区| 日韩三区在线观看| 精品亚洲成av人在线观看| 久久综合九色综合97_久久久| 亚洲成人黄色影院| 欧美日韩久久不卡| 卡一卡二国产精品| 国产偷国产偷亚洲高清人白洁| 国产91丝袜在线播放九色| 国产精品久久久久久妇女6080| 99视频精品在线| 亚洲愉拍自拍另类高清精品| 欧美日本在线观看| 精品亚洲porn| 国产精品美女久久久久久久| 色综合久久中文综合久久97| 亚洲一区二区免费视频| 日韩欧美在线不卡| 国产精品亚洲视频| 亚洲欧美日韩在线不卡| 欧美美女黄视频| 精品亚洲成a人| 亚洲人成小说网站色在线 | 欧美日韩国产大片| 日韩av中文在线观看| 久久久.com| 在线国产电影不卡|