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

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

?? sdr_ctrl.vhd

?? sdram controller in vhdl
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
				
				if startup_pending = '1' then
					if startup_timer < tSTARTUP_NOP_CYCLES then
						startup_timer <= startup_timer + 1;
						state <= initialize after hold_time;
					else
						state <= precharge after hold_time;
					end if;	 				 
				elsif refresh_req = '1' and aref_enable = '1' then
					refresh_done_flg <= '1';
					state <= auto_refresh after hold_time;	
				elsif nAS_WAITING = '1' then 
					aref_enable <= '0';
					refresh_done_flg <= '0';
					state <= active after hold_time;				
				else 
					refresh_done_flg <= '0';
				end if;
				
				--------------------------
				-- PRECHARGE command	  
				--------------------------
				when precharge =>	 
				nCS <= '0' after hold_time;
				nRAS <= '0' after hold_time;
				nCAS <= '1' after hold_time;
				nWE <= '0' after hold_time;	 
				A(10) <= '1'; -- precharge all banks  
				
				if execute_nop = '1' then
					nCS <= '0' after hold_time;
					nRAS <= '1' after hold_time;
					nCAS <= '1' after hold_time;
					nWE <= '1' after hold_time;		
				end if;
				
				-- if burst size 1 or 2
				if burst_size(2 downto 1) = "00" then
					nDTACK <= '1';
				end if;
				
				if wait_counter < tRP_CYCLES then
					wait_counter <= wait_counter + 1;
					execute_nop <= '1';
				else
					execute_nop <= '0';
					wait_counter <= 0;
					
					if startup_pending = '1' then 
						state <= auto_refresh after hold_time;
					else
						state <= nop after hold_time;
					end if;	
				end if;
				
				-------------------------
				-- AUTO REFRESH command
				-------------------------
				when auto_refresh =>
				nCS <= '0' after hold_time;
				nRAS <= '0' after hold_time;
				nCAS <= '0' after hold_time;
				nWE <= '1' after hold_time;	
				
				if execute_nop = '1' then
					nCS <= '0' after hold_time;
					nRAS <= '1' after hold_time;
					nCAS <= '1' after hold_time;
					nWE <= '1' after hold_time;		
				end if;
				
				if wait_counter < (tRFC_CYCLES-1)+conv_integer(startup_pending) then
					wait_counter <= wait_counter + 1; 
					execute_nop <= '1';
				else   
					execute_nop <= '0';
					wait_counter <= 0;
					if init_refreshes < init_ref_cycles-1 then
						init_refreshes <= init_refreshes + 1;
					else
						if startup_pending = '1' then
							state <= set_ModeRegister after hold_time;
						else
							state <= nop after hold_time;
						end if;
					end if;
				end if;	  
				
				-------------------------
				-- ACTIVE command
				-------------------------
				when active =>
				nCS <= '0' after hold_time;
				nRAS <= '0' after hold_time;
				nCAS <= '1' after hold_time;
				nWE <= '1' after hold_time;
				A <= row_addr after hold_time;
				BS <= bank_numb after hold_time;  
				
				if execute_nop = '1' then
					nCS <= '0' after hold_time;
					nRAS <= '1' after hold_time;
					nCAS <= '1' after hold_time;
					nWE <= '1' after hold_time;		
				end if;
				
				if wait_counter < tRCD_CYCLES then
					wait_counter <= wait_counter + 1;
					execute_nop <= '1';
				else
					execute_nop <= '0';
					wait_counter <= 0;
					if WnR_S = '1' then
						state <= write after hold_time;	  
						nDTACK <= '0' after hold_time;
					else
						state <= read after hold_time;
					end if;	   
				end if;
				
				------------------------
				-- READ command
				------------------------ 
				when read =>
				nCS <= '0' after hold_time;
				nRAS <= '1' after hold_time;
				nCAS <= '0' after hold_time;
				nWE <= '1' after hold_time;	 
				DQM <= nLBE_s after hold_time;
				A(column_length-1 downto 0) <= col_addr after hold_time;
				A(10) <= auto_precharge;				
				
				if execute_nop = '1' then
					nCS <= '0' after hold_time;
					nRAS <= '1' after hold_time;
					nCAS <= '1' after hold_time;
					nWE <= '1' after hold_time;		
				end if;
				
				if CAS_counter < CAS_LATENCY then
					CAS_counter <= CAS_counter + 1;
					execute_nop <= '1';
				else	  
					if burst_size = "000" then
						state <= precharge after hold_time; 
						aref_enable <= '1';
						execute_nop <= '0';
						nDTACK <= '0' after hold_time;
					else 
						CAS_counter <= 0;	   
						execute_nop <= '0';	  
						nDTACK <= '0' after hold_time;
						state <= read_data after hold_time;
					end if;					
				end if;	  
				case burst_size is 
					
					-- burst size of 2
					when "001" =>
					wait_counter <= 5; 
					
					-- burst size of 4
					when "010" =>
					wait_counter <= 4;
					
					-- burst size of 8 or no burst
					when others =>
					wait_counter <= 0; 
				end case;
				
				------------------------
				-- reading data
				------------------------
				when read_data =>	
				
				if wait_counter = 5 then	 
					state <= precharge after hold_time;
					aref_enable <= '1';
					wait_counter <= 0;
				else
					wait_counter <= wait_counter + 1;
				end if;	   
				
				------------------------
				-- WRITE command
				------------------------
				when write =>		  
				nCS <= '0' after hold_time;
				nRAS <= '1' after hold_time;
				nCAS <= '0' after hold_time;
				nWE <= '0' after hold_time;
				DQM <= nLBE_s after hold_time;
				A(10) <= auto_precharge; 
				A(column_length+1 downto column_length) <= "00" after hold_time;
				A(column_length-1 downto 0) <= col_addr after hold_time;
				nDTACK <= '1' after hold_time;	  
				
				if execute_nop = '1' then
					nCS <= '0' after hold_time;
					nRAS <= '1' after hold_time;
					nCAS <= '1' after hold_time;
					nWE <= '1' after hold_time;		
				end if;	
				
				if wait_counter < tWR_CYCLES then
					wait_counter <= wait_counter + 1;
					execute_nop <= '1';
				else
					execute_nop <= '0';
					wait_counter <= 0;			
					aref_enable <= '1';
					state <= precharge after hold_time;	
				end if;
				
				when others =>
				nDTACK <= '1' after hold_time;
				state <= nop;
				nCS <= '1';
				nRAS <= '1';
				nCAS <= '1'; 
				nWE <= '1';
				BS <= (others => '0');
				CKE <= '1';
				DQM <= (others => '1');	 
				A <= (others => '0');	
			end case;
		end if;
		
	end process;
	
	-- generate refresh counts and requests
	refresh_process: process (CLK, nRST) is
	begin  
		if nRST = '0' then     
			
			refresh_timer <= 0;
			refresh_req <= '0';	 
			
		elsif rising_edge(CLK) then  
			
			if refresh_timer < tREF_CYCLES then				
				refresh_req <= '0';
				refresh_timer <= refresh_timer + 1;			
			elsif refresh_done_flg = '1' then			
				refresh_req <= '0';
				refresh_timer <= 0;			
			else			
				refresh_req <= '1';			
			end if;		
		end if;	  
		
	end process refresh_process; 
	
	
end SDR_CTRL;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲二区三区| 成人毛片在线观看| 欧美天天综合网| 亚洲成年人网站在线观看| 欧美精品第一页| 麻豆成人av在线| 国产午夜精品在线观看| 成人免费视频caoporn| 1区2区3区精品视频| 91亚洲永久精品| 亚洲国产精品视频| 欧美一区二区在线免费观看| 另类小说视频一区二区| 久久精品日韩一区二区三区| 国产精品66部| 国产欧美日韩综合精品一区二区| 国产黄色精品网站| 国产午夜亚洲精品理论片色戒| 91同城在线观看| 亚洲国产一区在线观看| 欧美一区二区三区在线电影| 国产在线观看一区二区| 国产精品国产精品国产专区不蜜| 在线观看免费一区| 人人狠狠综合久久亚洲| 亚洲精品一线二线三线| 一本在线高清不卡dvd| 亚洲18色成人| 久久久久久麻豆| 日本高清视频一区二区| 狠狠色丁香婷婷综合| 亚洲精品国产无天堂网2021| 欧美tk—视频vk| 91黄色免费观看| 国产精品原创巨作av| 一区二区三区日韩在线观看| 精品三级在线看| 91视频在线观看免费| 麻豆视频一区二区| 亚洲综合色噜噜狠狠| 国产偷v国产偷v亚洲高清| 欧美在线不卡一区| 风间由美一区二区三区在线观看| 亚洲高清久久久| 成人免费小视频| 久久色视频免费观看| 欧美色图在线观看| 成人动漫视频在线| 久久不见久久见免费视频7| 亚洲美女淫视频| 精品免费日韩av| 欧美中文字幕久久| 国产精品99久久久久久久vr | 欧美日韩成人在线| 国产成人综合在线播放| 蜜桃视频一区二区| 亚洲一线二线三线久久久| 中文字幕欧美国产| 久久伊人蜜桃av一区二区| 欧美少妇bbb| 欧美自拍偷拍一区| 色综合久久久久综合体桃花网| 国产乱妇无码大片在线观看| 婷婷成人综合网| 一区二区三区四区av| 亚洲日本在线看| 国产精品久久久久永久免费观看| 国产亚洲精品免费| 日韩久久久久久| 91精品国产91久久综合桃花| 91久久精品一区二区| 色综合天天综合在线视频| 白白色亚洲国产精品| jvid福利写真一区二区三区| 国产高清不卡一区| 国产在线精品免费| 奇米精品一区二区三区在线观看| 亚洲444eee在线观看| 亚洲无线码一区二区三区| 一区二区在线免费| 亚洲美女精品一区| 一区二区久久久久| 亚洲一区二区三区在线播放| 国产欧美一区二区精品性色| 欧美少妇性性性| 蜜臀av一区二区在线观看| 日本麻豆一区二区三区视频| 久久久综合精品| 日韩欧美区一区二| 久久这里只精品最新地址| 欧美日韩一区高清| 欧美一区二区三区婷婷月色| 色悠久久久久综合欧美99| 日韩不卡一区二区三区| 国产精品狼人久久影院观看方式| 国产人久久人人人人爽| 亚洲国产成人私人影院tom | 欧美精品一区在线观看| 欧美精品一区二| 国产精品你懂的在线| 亚洲色欲色欲www在线观看| 一区二区三区欧美视频| 亚洲成a人v欧美综合天堂| 蜜桃视频在线一区| 丁香五精品蜜臀久久久久99网站| 99视频一区二区| 欧美日韩综合色| 精品少妇一区二区三区在线播放| 日本一区二区高清| 香蕉成人伊视频在线观看| 美腿丝袜亚洲三区| 国产一区 二区| 在线精品视频一区二区| 精品日韩欧美一区二区| 欧美国产精品劲爆| 亚洲一区在线电影| 另类小说欧美激情| 国产精品一区二区在线看| 91老司机福利 在线| 欧美日韩一区二区三区四区五区| 日韩精品久久理论片| 亚洲欧美日韩国产手机在线 | 欧美日韩亚洲另类| 精品欧美一区二区久久| 欧美激情综合五月色丁香| 亚洲成人久久影院| 国产suv精品一区二区三区| 欧美日韩亚洲另类| 国产精品欧美久久久久一区二区| 午夜精品在线视频一区| 丰满少妇在线播放bd日韩电影| 欧美日韩美女一区二区| 国产精品嫩草影院av蜜臀| 日韩一区精品视频| 不卡一区中文字幕| 精品久久久久久久久久久久久久久 | 久草热8精品视频在线观看| 色哟哟精品一区| 国产精品女人毛片| 国内外精品视频| 69堂精品视频| 亚洲精品国产精华液| 成人精品国产福利| 精品少妇一区二区三区日产乱码 | 91久久精品日日躁夜夜躁欧美| 日韩一区二区三区观看| 奇米色一区二区| 在线电影院国产精品| 中文字幕一区二区三区在线播放| 偷拍一区二区三区| 麻豆国产一区二区| 欧美福利一区二区| 中文字幕一区二区三区在线播放 | av中文一区二区三区| 91精品久久久久久久久99蜜臂| 欧美va亚洲va国产综合| 一区二区三区四区在线| 国产一区激情在线| 欧美日韩高清一区二区三区| 日韩欧美中文字幕制服| 爽爽淫人综合网网站| 日本韩国一区二区| 国产精品国产三级国产aⅴ原创 | 99精品一区二区| 久久久久久久久久久电影| 亚洲无人区一区| 欧美日韩不卡一区| 亚洲美女偷拍久久| 99久久精品免费精品国产| 久久久久久久久久久久久久久99| 国产传媒日韩欧美成人| 日韩三级免费观看| 日本视频中文字幕一区二区三区| 色婷婷综合久久久久中文一区二区 | 一区二区三区影院| 91丨porny丨首页| 国产精品的网站| 亚洲.国产.中文慕字在线| 欧美伊人久久久久久午夜久久久久| 一区二区三区精品在线观看| 欧美日韩国产精选| 日本成人在线视频网站| 欧美午夜电影一区| 亚洲国产精品久久一线不卡| 色狠狠一区二区三区香蕉| 一区二区三区在线观看视频| 国产福利不卡视频| 国产午夜精品福利| 国产成人午夜高潮毛片| 久久综合久色欧美综合狠狠| 狠狠久久亚洲欧美| 精品国精品国产| 美女网站色91| 日韩一区二区高清| 成人午夜大片免费观看| 中文一区二区在线观看| 成人污污视频在线观看| 亚洲欧美日韩在线| 欧美系列日韩一区| 日韩精品一卡二卡三卡四卡无卡|