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

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

?? arbitrate.vhd

?? sdram控制器
?? VHD
字號:
--本程序是Sdram控制器中的裁決部分,完成外部的6個隨機請求按時間順序排列,并保證信號的完整性
--從而控制后續的狀態機發出特定的Sdram命令序列
--輸入:
--	SdramClk	Sdram時鐘,100MHz
--	ResetGlb	全局復位
--	FIFO1AlmostF	前端Fifo幾乎滿信號,高電平有效
--	FIFO2AlmostE		后端FIFO幾乎空信號,低電平有效
--	HostWr		主機寫信號,低電平有效
--	HostRd		主機讀信號,低電平有效
--	TransferMode	操作請求,高電平:頁操作;底電平:隨機操作
--	OperationAck	Sdram操作結束應答
--
--輸出:
--	HostReady	隨機操作準備好信號,高電平:準備好,低電平:忙
--	OperationReq	操作請求:
--				000	空閑
--				001	頁寫
--				010	頁讀
--				011	隨機寫
--				100	隨機讀
--				101	頁模式配置
--				110	隨機模式配置
--				111	空閑 補充頁操作的刷新

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity Arbitrate is

	generic(
		--請求種類
		constant	IdleReq:		std_logic_vector(2 downto 0):= "000";
		constant	PageWrReq:		std_logic_vector(2 downto 0):= "001";
		constant	PageRdReq:		std_logic_vector(2 downto 0):= "010";
		constant	HostWrReq:		std_logic_vector(2 downto 0):= "011";
		constant	HostRdReq:		std_logic_vector(2 downto 0):= "100";
		constant	ConfigPageReq:		std_logic_vector(2 downto 0):= "101";
		constant	ConfigHostReq:		std_logic_vector(2 downto 0):= "110";
---------------------------------------------------------------------------------------------------
		constant	refresh:		std_logic_vector(2 downto 0):= "111"
	);
	
	port(
		--Test
--		testflagPageWr:		out	std_logic;
--		testflagPageRd:		out	std_logic;
--		testflagHostWr:		out	std_logic;
--		testflagHostRd:		out	std_logic;
--		testflagPageConfig:	out	std_logic;
--		testflagHostConfig:	out	std_logic;
--		testOperationState:	out	std_logic_vector(2 downto 0);
		--End
		
		--RealPort
--		ResetGlb:	in	std_logic;
		SdramClk:	in	std_logic;
		ResetGlb:	in	std_logic;
		FIFO1AlmostF:	in	std_logic;
		FIFO2AlmostE:	in	std_logic;
		HostWr:		in	std_logic;
		HostRd:		in	std_logic;
		TransferMode:	in	std_logic;

		OperationAck:	in	std_logic:='0';

--		HostReady:	out	std_logic;
		OperationReq:	out	std_logic_vector(2 downto 0)
	);
		
end;

architecture SecondLevel of Arbitrate is
--signal	ResetGlb:	std_logic:='0';
signal	flagPageWr:	std_logic:='0';
signal	flagPageRd:	std_logic:='0';
signal	flagHostWr:	std_logic:='0';
signal	flagHostRd:	std_logic:='0';
signal	flagPageConfig:	std_logic:='0';
signal	flagHostConfig:	std_logic:='0';
--signal	OptionClr:	std_logic:='0';
signal	PageEn:		std_logic:='0';
--signal	HostClk:	std_logic:='1';
signal	OperationState:	std_logic_vector(2 downto 0):="000";
signal	refcounter:	std_logic_vector(15 downto 0):="0000000000000000";
signal	RefEn:	std_logic;
signal	RefEnd:	std_logic;
signal	refreshreq:	std_logic;
--signal	RstCnt:		std_logic_vector(3 downto 0):="0000";
--signal	RstConfigReq:	std_logic;

begin
	--test
--	testflagPageWr <= flagPageWr;
--	testflagPageRd <= flagPageRd;
--	testflagHostWr <= flagHostWr;
--	testflagHostRd <= flagHostRd;
--	testflagPageConfig <= flagPageConfig;
--	testflagHostConfig <= flagHostConfig;
--	testOperationState <= OperationState;
	--End
-------刷新操作模塊--------------------------------------------
	process(ResetGlb,SdramClk,OperationAck)
	begin
	if(ResetGlb = '0') then
		refcounter <= X"0003";
		RefEn<='0';
		RefEnd<='0';
		refreshreq <='0';
	elsif rising_edge(SdramClk) then
		
		if RefEnd='1' then
			refcounter<=X"03e8";
		elsif RefEn='1' then
		      	refcounter<= refcounter-1;
		end if;
	
		if refcounter=X"0000" then
			RefEnd<='1';
		else
			RefEnd<='0';
		end if;

		if OperationAck='1' then
			RefEn<='1';
		end if;
		if refcounter=X"0000" then	
			refreshreq <='1';
		elsif OperationState="111" and OperationAck='1' then
			refreshreq <='0';
		end if;
	end if;
	end process;
-------------------------------------------------------------------
	--頁寫請求
	process(FIFO1AlmostF,OperationAck,OperationState,ResetGlb)
	begin
		if (OperationAck='1' and OperationState=PageWrReq) or ResetGlb='0' then
			flagPageWr<='0';						--異步清0
--		elsif FIFO1AlmostF = '1' then
		elsif rising_edge(FIFO1AlmostF) then
			flagPageWr<='1';						--頁寫標記異步置位
		end if;
	end process;

	--頁讀請求
	process(FIFO2AlmostE,OperationAck,OperationState,ResetGlb)
	begin
		if (OperationAck='1' and OperationState=PageRdReq) or ResetGlb='0' then
			flagPageRd<='0';						--異步清0
--		elsif FIFO2AlmostE='0' then						
		elsif falling_edge(FIFO2AlmostE) then
			flagPageRd<='1';						--頁讀標記異步置位
		end if;
	end process;
	
	--隨機寫請求
--	process(HostWr,OperationAck,OperationState,ResetGlb)
--	begin
--		if (OperationAck='1' and OperationState=HostWrReq) or ResetGlb='0' then
--			flagHostWr<='0';						--異步清0
--		elsif falling_edge(HostWr) then
--			flagHostWr<='1';						--隨機寫標記異步置位
--		end if;
--	end process;
	process(SdramClk) 
		begin
		if rising_edge(SdramClk) then
			flagHostWr<= not HostWr;						--隨機寫標記異步置位
			flagHostRd<= not HostRd;
		end if;
	end process;
	--隨機讀請求
--	process(HostRd,OperationAck,OperationState,ResetGlb)
--	begin
--		if (OperationAck='1' and OperationState=HostRdReq) or ResetGlb='0' then
--			flagHostRd<='0';						--異步清0
--		elsif falling_edge(HostRd) then
--			flagHostRd<='1';						--隨機讀標記異步置位
--		end if;
--	end process;


	
--	flagHostRd<= not HostRd;						--隨機讀標記異步置位

	--頁配置請求
	process(TransferMode,OperationAck,OperationState,ResetGlb)
	begin
		if (OperationAck='1' and OperationState=ConfigPageReq) or ResetGlb='0' then
			flagPageConfig<='0';						--異步清0
		elsif falling_edge(TransferMode) then
			flagPageConfig<='1';						--由隨機模式轉為頁模時,配置頁標記異步置位
		end if;
	end process;

--	HostClk<='0' when TransferMode='0' or RstConfigReq='0' else '1';

	--隨機配置請求
	process(TransferMode,OperationAck,OperationState,ResetGlb)
	begin
		if (OperationAck='1' and OperationState=ConfigHostReq) or ResetGlb='0' then
			flagHostConfig<='0';						--異步清0
		elsif rising_edge(TransferMode) then
			flagHostConfig<='1';						--由頁模式轉為隨機模時,配置頁標記異步置位
		end if;
	end process;

	--請求寄存器清除脈沖
--	process(SdramClk,OptionAck)
--	begin
--		if rising_edge(SdramClk) then
--			OptionClr<=OptionAck;
--		end if;
--	end process;

	--頁操作和隨機操作允許標志,0:隨機,1:頁
	process(SdramClk,OperationState,ResetGlb)
	begin

		if ResetGlb='0' then
			PageEn<='0';
		elsif rising_edge(SdramClk) then
			if OperationState=ConfigPageReq then				--當進行完配置頁操作時,頁操作使能
				PageEn<='1';
			elsif OperationState=ConfigHostReq then
				PageEn<='0';						--當進行完配置隨機操作時,隨機操作使能
			end if;
		end if;
	end process;
	

	--主機等待信號
--	HostReady<=((not HostWrReq) and (not HostRdReq)) or PageReq;

	--操作碼裁決
	process(ResetGlb,SdramClk,PageEn,flagPageWr,flagPageRd,OperationAck,OperationState)
	begin
		if ResetGlb='0' then
			OperationState<="000";		--異步復位
		elsif rising_edge(SdramClk) then
			if refreshreq ='1' and OperationState=IdleReq  and OperationAck='0' then 
  				OperationState <= refresh;

			elsif flagHostConfig='1' and OperationState=IdleReq and refreshreq ='0' and OperationAck='0' then
				OperationState <= ConfigHostReq;
			elsif flagPageConfig='1' and OperationState=IdleReq and refreshreq ='0' and OperationAck='0' then
				OperationState <= ConfigPageReq;
			elsif flagPageConfig='0' and flagHostConfig='0' and OperationAck='0' and OperationState=IdleReq and refreshreq ='0' and PageEn='1' and flagPageRd='1' then
				OperationState <= PageRdReq;
			elsif flagPageConfig='0' and flagHostConfig='0' and OperationAck='0' and OperationState=IdleReq and refreshreq ='0' and PageEn='1' and flagPageRd='0' and flagPageWr='1' then
				OperationState <= PageWrReq;
			elsif flagPageConfig='0' and flagHostConfig='0' and OperationAck='0' and OperationState=IdleReq and refreshreq ='0' and PageEn='0' and flagHostRd='1' then
				OperationState <= HostRdReq;
			elsif flagPageConfig='0' and flagHostConfig='0' and OperationAck='0' and OperationState=IdleReq and refreshreq ='0' and PageEn='0' and flagHostWr='1' then
				OperationState <= HostWrReq;
			elsif OperationAck='1' and PageEn='1' then
				OperationState <= IdleReq;
			elsif OperationAck='1' and OperationState=ConfigHostReq then			--頁模式狀態下的請求清0操作,是靠OperationAck來完成的
				OperationState <= IdleReq;
			elsif OperationState=HostWrReq and PageEn='0' and flagHostWr='0' then		--隨機寫操作一直維持到主機寫操作結束
				OperationState <= IdleReq;
			elsif OperationState=HostRdReq and PageEn='0' and flagHostRd='0' then
				OperationState <= IdleReq;
			---------------刷新的回零狀態--------------------------------
			elsif  OperationAck='1' and OperationState = refresh  then
				OperationState <= IdleReq;
			
			end if;
		end if;
	end process;

	process(SdramClk)
	begin
		if rising_edge(SdramClk) then
			OperationReq<=OperationState	after 1 ns;
		end if;
	end process;
	--復位時間計數器
--	process(ResetGlb,SdramClk,RstCnt)
--	begin
--		if ResetGlb='0' then
--			RstCnt<="0000";
--		elsif rising_edge(SdramClk) then
--			if RstCnt<="1100" then
--				RstCnt<=RstCnt+1;
--			else
--				RstCnt<="1110";
--			end if;
--		end if;
--	end process;
	
	--復位后的配置申請
--	RstConfigReq<='0' when RstCnt<="1100" else '1';
	
end SecondLevel;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人在线观看视频| 一级日本不卡的影视| 欧美一区欧美二区| 欧美色爱综合网| 欧美综合亚洲图片综合区| 色婷婷亚洲婷婷| 欧美唯美清纯偷拍| 欧美日韩一区二区在线观看 | 日韩一区二区三区在线| 欧美一区二区三区性视频| 欧美一级生活片| 久久久久久综合| 国产精品免费人成网站| 亚洲三级久久久| 亚洲高清久久久| 久久99精品久久久久久国产越南| 老司机免费视频一区二区| 国产麻豆91精品| 99久久国产综合精品女不卡| 欧美视频一二三区| 精品av久久707| 国产精品福利一区| 婷婷综合五月天| 国产麻豆成人精品| 在线精品亚洲一区二区不卡| 日韩欧美亚洲一区二区| 中文成人av在线| 婷婷开心激情综合| 国产乱人伦偷精品视频免下载| 99久久久无码国产精品| 88在线观看91蜜桃国自产| 久久一区二区三区四区| 亚洲免费观看高清完整版在线观看 | 国产成人亚洲综合色影视| aaa亚洲精品一二三区| 欧美浪妇xxxx高跟鞋交| 国产精品毛片久久久久久久| 午夜欧美在线一二页| 国产黄色91视频| 91精品免费观看| 亚洲欧美日韩在线| 国产成人亚洲综合a∨婷婷图片| 欧美三日本三级三级在线播放| 国产欧美日韩精品a在线观看| 亚洲成人三级小说| caoporn国产一区二区| 欧美成人性战久久| 亚洲bt欧美bt精品| 99re这里只有精品视频首页| 26uuu另类欧美| 日韩精品视频网| 在线观看av不卡| 中文字幕日本乱码精品影院| 久久99九九99精品| 91精品国产一区二区| 亚洲美女免费视频| 99久久er热在这里只有精品15| 欧美电影在线免费观看| 洋洋成人永久网站入口| jlzzjlzz欧美大全| 国产欧美日韩另类视频免费观看| 日本视频免费一区| 91精品国产综合久久精品图片| 亚洲伦在线观看| 91一区一区三区| 国产精品久久久久影视| 国产成人在线电影| 久久精品男人天堂av| 精品在线观看免费| 日韩美女主播在线视频一区二区三区| 一区二区三区在线观看国产| 99久久99久久综合| 亚洲蜜臀av乱码久久精品| 97成人超碰视| 亚洲女人的天堂| 色婷婷国产精品久久包臀| 亚洲三级电影网站| 色综合网站在线| 一区二区三区在线观看国产| 色拍拍在线精品视频8848| 亚洲蜜臀av乱码久久精品| 色域天天综合网| 一区二区成人在线| 欧美日韩高清一区二区不卡| 亚洲大片精品永久免费| 欧美一卡2卡3卡4卡| 久久精品噜噜噜成人av农村| 久久综合久久综合亚洲| 国产白丝网站精品污在线入口| 久久久精品tv| 一本久久综合亚洲鲁鲁五月天| 亚洲精品中文字幕乱码三区| 欧美亚洲综合久久| 久久精品国产色蜜蜜麻豆| 久久久久久99精品| 91网站在线播放| 天堂午夜影视日韩欧美一区二区| 欧美一级在线免费| 成人av在线资源网| 亚洲一区二区三区四区五区中文| 欧美日韩精品一区二区| 国内外成人在线视频| 亚洲欧美日韩国产成人精品影院| 欧美性色综合网| 国产综合色产在线精品| 国产精品夫妻自拍| 日韩一区二区电影在线| 成人h精品动漫一区二区三区| 亚洲综合视频在线观看| 欧美精品一区二区三区四区| 99久久夜色精品国产网站| 日韩—二三区免费观看av| 国产婷婷色一区二区三区| 欧美日韩国产在线观看| 国产精品香蕉一区二区三区| 一区二区三区资源| 久久久精品中文字幕麻豆发布| 91九色最新地址| 国产成人免费视频| 日韩专区一卡二卡| 亚洲色图第一区| 亚洲精品在线网站| 91精选在线观看| 色婷婷精品久久二区二区蜜臂av| 久久国产精品色| 亚洲成人免费视| 亚洲摸摸操操av| 国产精品午夜免费| 久久蜜臀中文字幕| 日韩欧美电影一区| 在线观看91av| 欧美日韩精品一区二区三区四区| av电影在线观看一区| 国产丶欧美丶日本不卡视频| 色美美综合视频| 丁香亚洲综合激情啪啪综合| 亚洲影院理伦片| 欧美激情一区二区三区| 精品国产制服丝袜高跟| 欧美精品久久99| 欧美日韩激情一区二区| 在线国产亚洲欧美| 日本韩国欧美一区二区三区| 不卡影院免费观看| 成人国产精品免费网站| 国产v日产∨综合v精品视频| 激情综合网激情| 国产乱妇无码大片在线观看| 久久9热精品视频| 美女视频网站久久| 美女国产一区二区| 久久国产生活片100| 久久97超碰国产精品超碰| 极品少妇xxxx精品少妇| 国产精品正在播放| 成人一区在线观看| av日韩在线网站| 在线观看国产一区二区| 国产精品蜜臀在线观看| 欧美肥胖老妇做爰| 欧美老年两性高潮| 日韩一区二区三区四区| 91麻豆精品国产综合久久久久久| 欧美精品日韩精品| 欧美精品一区二区三区很污很色的| 日韩午夜电影在线观看| 久久色在线视频| ...xxx性欧美| 亚洲一区二区三区在线看| 蜜臀av性久久久久蜜臀av麻豆 | 国产一区二区在线免费观看| 国内精品伊人久久久久av一坑| 国产成人av在线影院| av激情亚洲男人天堂| 欧美优质美女网站| 日韩免费视频一区| 亚洲欧美综合色| 欧美一级在线视频| 亚洲精品一区二区三区香蕉| 精品少妇一区二区三区视频免付费| 久久亚洲精华国产精华液| 日本一区免费视频| 亚洲与欧洲av电影| 久久精品国产精品亚洲精品| 国产不卡免费视频| 欧美日本不卡视频| 欧美经典三级视频一区二区三区| 1000部国产精品成人观看| 亚洲国产成人porn| 成人免费视频app| 欧美日韩国产综合视频在线观看 | 99久久夜色精品国产网站| 欧美日韩情趣电影| 欧美韩日一区二区三区四区| 一区二区在线观看视频| 国产精品一区三区| 欧美日韩三级一区| 国产精品不卡在线观看| 奇米777欧美一区二区| 99久久99久久久精品齐齐|