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

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

?? atahost_pio_tctrl.vhd

?? PowerFull ATA Host Controller
?? VHD
字號:
-------------------------------------------------------------------------                                                             --------  OpenCores ATA/ATAPI-5 Host Controller                      --------  PIO Timing Controller (common for all OCIDEC cores)        --------                                                             --------  Author: Richard Herveille                                  --------          richard@asics.ws                                   --------          www.asics.ws                                       --------                                                             -----------------------------------------------------------------------------                                                             -------- Copyright (C) 2001, 2002 Richard Herveille                  --------                          richard@asics.ws                   --------                                                             -------- This source file may be used and distributed without        -------- restriction provided that this copyright statement is not   -------- removed from the file and that any derivative work contains -------- the original copyright notice and the associated disclaimer.--------                                                             --------     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     -------- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   -------- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   -------- FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      -------- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         -------- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    -------- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   -------- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        -------- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  -------- LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  -------- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  -------- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         -------- POSSIBILITY OF SUCH DAMAGE.                                 --------                                                             --------------------------------------------------------------------------- rev.: 1.0 march  7th, 2001. Initial release-- rev.: 1.1 July  11th, 2001. Changed 'igo' & 'hold_go' signal generation.------  CVS Log----  $Id: atahost_pio_tctrl.vhd,v 1.1 2002/02/18 14:32:12 rherveille Exp $----  $Date: 2002/02/18 14:32:12 $--  $Revision: 1.1 $--  $Author: rherveille $--  $Locker:  $--  $State: Exp $---- Change History:--               $Log: atahost_pio_tctrl.vhd,v $--               Revision 1.1  2002/02/18 14:32:12  rherveille--               renamed all files to 'atahost_***.vhd'--               broke-up 'counter.vhd' into 'ud_cnt.vhd' and 'ro_cnt.vhd'--               changed resD input to generic RESD in ud_cnt.vhd--               changed ID input to generic ID in ro_cnt.vhd--               changed core to reflect changes in ro_cnt.vhd--               removed references to 'count' library--               changed IO names--               added disclaimer--               added CVS log--               moved registers and wishbone signals into 'atahost_wb_slave.vhd'------------------------------------- PIO Timing controller ----------------------------------- Timing	PIO mode transfers------------------------------------------------ T0:	cycle time-- T1:	address valid to DIOR-/DIOW--- T2:	DIOR-/DIOW- pulse width-- T2i:	DIOR-/DIOW- recovery time-- T3:	DIOW- data setup-- T4:	DIOW- data hold-- T5:	DIOR- data setup-- T6:	DIOR- data hold-- T9:	address hold from DIOR-/DIOW- negated-- Trd:	Read data valid to IORDY asserted-- Ta:	IORDY setup time-- Tb:	IORDY pulse width---- Transfer sequence------------------------------------ 1)	set address (DA, CS0-, CS1-)-- 2)	wait for T1-- 3)	assert DIOR-/DIOW---	   when write action present Data (timing spec. T3 always honored), enable output enable-signal-- 4)	wait for T2-- 5)	check IORDY--	   when not IORDY goto 5-- 	  when IORDY negate DIOW-/DIOR-, latch data (if read action)--    when write, hold data for T4, disable output-enable signal-- 6)	wait end_of_cycle_time. This is T2i or T9 or (T0-T1-T2) whichever takes the longest-- 7)	start new cyclelibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity atahost_pio_tctrl is	generic(		TWIDTH : natural := 8;                   -- counter width		-- PIO mode 0 settings (@100MHz clock)		PIO_mode0_T1 : natural := 6;             -- 70ns		PIO_mode0_T2 : natural := 28;            -- 290ns		PIO_mode0_T4 : natural := 2;             -- 30ns		PIO_mode0_Teoc : natural := 23           -- 240ns ==> T0 - T1 - T2 = 600 - 70 - 290 = 240	);	port(		clk    : in std_logic;                   -- master clock		nReset : in std_logic;                   -- asynchronous active low reset		rst    : in std_logic;                   -- synchronous active high reset		-- timing/control register settings		IORDY_en : in std_logic;                 -- use IORDY (or not)		T1   : in unsigned(TWIDTH -1 downto 0);  -- T1 time (in clk-ticks)		T2   : in unsigned(TWIDTH -1 downto 0);  -- T2 time (in clk-ticks)		T4   : in unsigned(TWIDTH -1 downto 0);  -- T4 time (in clk-ticks)		Teoc : in unsigned(TWIDTH -1 downto 0);  -- end of cycle time		-- control signals		go : in std_logic;                       -- PIO controller selected (strobe signal)		we : in std_logic;                       -- write enable signal. '0'=read from device, '1'=write to device		-- return signals		oe    : buffer std_logic;                -- output enable signal		done  : out std_logic;                   -- finished cycle		dstrb : out std_logic;                   -- data strobe, latch data (during read)		-- ATA signals		DIOR,                                    -- IOread signal, active high		DIOW  : buffer std_logic;                -- IOwrite signal, active high		IORDY : in std_logic                     -- IORDY signal	);end entity atahost_pio_tctrl;architecture structural of atahost_pio_tctrl is	component ro_cnt is	generic(		SIZE : natural := 8;		UD   : std_logic := '0'; -- default count down		ID   : natural := 0      -- initial data after reset	);	port(		clk    : in  std_logic;                  -- master clock		nReset : in  std_logic := '1';           -- asynchronous active low reset		rst    : in  std_logic := '0';           -- synchronous active high reset		cnt_en : in  std_logic := '1';           -- count enable		go     : in  std_logic;                  -- load counter and start sequence		done   : out std_logic;                  -- done counting		d      : in  unsigned(SIZE -1 downto 0); -- load counter value		q      : out unsigned(SIZE -1 downto 0)  -- current counter value	);	end component ro_cnt;	signal T1done, T2done, T4done, Teoc_done, IORDY_done : std_logic;	signal busy, hold_go, igo, hT2done : std_logic;begin	-- generate internal go strobe	-- strecht go until ready for new cycle	process(clk, nReset)	begin		if (nReset = '0') then			busy <= '0';			hold_go <= '0';		elsif (clk'event and clk = '1') then			if (rst = '1') then				busy <= '0';				hold_go <= '0';			else				busy <= (igo or busy) and not Teoc_done;				hold_go <= (go or (hold_go and busy)) and not igo;			end if;		end if;	end process;	igo <= (go or hold_go) and not busy;	-- 1)	hookup T1 counter	t1_cnt : ro_cnt 		generic map (			SIZE => TWIDTH,			UD   => '0',			ID   => PIO_mode0_T1		)		port map (			clk => clk,			nReset => nReset,			rst => rst,			go => igo,			D => T1,			done => T1done		);	-- 2)	set (and reset) DIOR-/DIOW-, set output-enable when writing to device	T2proc: process(clk, nReset)	begin		if (nReset = '0') then			DIOR <= '0';			DIOW <= '0';			oe   <= '0';		elsif (clk'event and clk = '1') then			if (rst = '1') then				DIOR <= '0';				DIOW <= '0';				oe   <= '0';			else				DIOR <= (not we and T1done) or (DIOR and not IORDY_done);				DIOW <= (    we and T1done) or (DIOW and not IORDY_done);				oe   <= ( (we and igo) or oe) and not T4done; -- negate oe when t4-done			end if;		end if;	end process T2proc;	-- 3)	hookup T2 counter	t2_cnt : ro_cnt 		generic map (			SIZE => TWIDTH,			UD   => '0',			ID   => PIO_mode0_T2		)		port map (			clk => clk,			nReset => nReset,			rst => rst,			go => T1done,			D => T2,			done => T2done		);	-- 4)	check IORDY (if used), generate release_DIOR-/DIOW- signal (ie negate DIOR-/DIOW-)	-- hold T2done	gen_hT2done: process(clk, nReset)	begin		if (nReset = '0') then			hT2done <= '0';		elsif (clk'event and clk = '1') then			if (rst = '1') then				hT2done <= '0';			else				hT2done <= (T2done or hT2done) and not IORDY_done;			end if;		end if;	end process gen_hT2done;	IORDY_done <= (T2done or hT2done) and (IORDY or not IORDY_en);	-- generate datastrobe, capture data at rising DIOR- edge	gen_dstrb: process(clk)	begin		if (clk'event and clk = '1') then			dstrb <= IORDY_done;		end if;	end process gen_dstrb;	-- hookup data hold counter	dhold_cnt : ro_cnt 		generic map (			SIZE => TWIDTH,			UD   => '0',			ID   => PIO_mode0_T4		)		port map (			clk => clk,			nReset => nReset,			rst => rst,			go => IORDY_done,			D => T4,			done => T4done		);	done <= T4done; -- placing done here provides the fastest return possible,                       -- while still guaranteeing data and address hold-times	-- 5)	hookup end_of_cycle counter	eoc_cnt : ro_cnt 		generic map (			SIZE => TWIDTH,			UD   => '0',			ID   => PIO_mode0_Teoc		)		port map (			clk => clk,			nReset => nReset,			rst => rst,			go => IORDY_done,			D => Teoc,			done => Teoc_done		);end architecture structural;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美久久一二区| 日韩一区中文字幕| 亚洲欧洲精品天堂一级 | 男女激情视频一区| 国产传媒日韩欧美成人| 欧美福利电影网| 成人免费在线视频| 国产成人精品一区二区三区四区| 欧美色涩在线第一页| 国产精品成人一区二区三区夜夜夜| 日韩va亚洲va欧美va久久| 91香蕉视频污| 国产精品少妇自拍| 国产一区二区在线看| 日韩精品一区二区三区四区 | 91捆绑美女网站| 国产欧美日韩卡一| 美女视频第一区二区三区免费观看网站| 99国内精品久久| 久久精品欧美一区二区三区不卡 | 精品国产一区二区在线观看| 悠悠色在线精品| 色国产综合视频| 亚洲另类春色校园小说| 97aⅴ精品视频一二三区| 国产人成一区二区三区影院| 国产一区二区三区黄视频 | 亚洲精品久久久久久国产精华液| 国产精品中文字幕一区二区三区| 91精品国产综合久久久蜜臀粉嫩| 亚洲动漫第一页| 欧美日本乱大交xxxxx| 亚洲18女电影在线观看| 在线不卡的av| 蜜臀av国产精品久久久久| 日韩亚洲欧美一区| 日日夜夜精品视频天天综合网| 欧美日本在线观看| 日本不卡的三区四区五区| 日韩欧美国产系列| 国产一区二区网址| 日本一区二区视频在线观看| jvid福利写真一区二区三区| 国产精品第五页| 日本韩国精品在线| 石原莉奈在线亚洲三区| 欧美v日韩v国产v| 国产不卡高清在线观看视频| 国产精品看片你懂得| 色国产综合视频| 热久久免费视频| 久久久777精品电影网影网| 成人精品免费网站| 尤物av一区二区| 日韩女同互慰一区二区| 国产馆精品极品| 亚洲综合色在线| 日韩视频123| 福利电影一区二区三区| 亚洲精品乱码久久久久久久久| 欧美乱妇23p| 国产一本一道久久香蕉| 亚洲精品伦理在线| 欧美精品一区二区久久婷婷| 成人亚洲精品久久久久软件| 亚洲专区一二三| 久久先锋影音av| 在线观看日韩av先锋影音电影院| 男男成人高潮片免费网站| 国产精品欧美经典| 欧美一卡在线观看| 不卡大黄网站免费看| 日本不卡一区二区| 亚洲婷婷综合久久一本伊一区| 欧美一区二区福利在线| 色综合婷婷久久| 精品一区二区综合| 亚洲国产精品一区二区久久| 久久夜色精品国产欧美乱极品| 在线精品视频小说1| 国产精品一卡二| 蜜臀91精品一区二区三区| 一区二区三区四区亚洲| 久久先锋影音av| 欧美一三区三区四区免费在线看| kk眼镜猥琐国模调教系列一区二区| 免费人成网站在线观看欧美高清| 亚洲欧美aⅴ...| 中文幕一区二区三区久久蜜桃| 日韩一级片在线观看| 欧美在线三级电影| 成人av第一页| 国内精品久久久久影院色| 日韩高清不卡一区二区| 亚洲一区二区三区四区在线| 国产目拍亚洲精品99久久精品| 日韩欧美一区二区免费| 欧美日韩精品一区二区三区蜜桃 | 91精品麻豆日日躁夜夜躁| 色婷婷综合五月| 91香蕉视频污| 91蜜桃在线免费视频| 国产91在线观看| 国产 欧美在线| 国产精品香蕉一区二区三区| 久久99国产精品麻豆| 久久精品国内一区二区三区| 日韩成人伦理电影在线观看| 亚洲无线码一区二区三区| 亚洲图片有声小说| 丝袜美腿一区二区三区| 日本不卡不码高清免费观看| 奇米精品一区二区三区四区| 视频一区二区中文字幕| 免费观看在线综合| 精品一区二区三区免费播放| 捆绑紧缚一区二区三区视频| 美女尤物国产一区| 国产在线一区二区| 国产综合色产在线精品| 国产精品自在欧美一区| 成人综合在线观看| 99精品视频中文字幕| 色8久久精品久久久久久蜜| 在线观看成人小视频| 欧美美女bb生活片| 精品动漫一区二区三区在线观看| 日韩免费高清电影| 国产亚洲婷婷免费| 亚洲欧美韩国综合色| 亚洲国产精品嫩草影院| 人人爽香蕉精品| 丰满放荡岳乱妇91ww| 色乱码一区二区三区88| 91精品啪在线观看国产60岁| 久久久久久久久久久久久女国产乱| 精品国产乱码久久久久久浪潮 | 日韩小视频在线观看专区| 久久免费视频色| 亚洲精品videosex极品| 蜜臀久久99精品久久久久宅男 | 日本道在线观看一区二区| 欧美蜜桃一区二区三区| 精品美女在线播放| 亚洲人成网站精品片在线观看| 亚洲va韩国va欧美va| 国产精品18久久久| 在线欧美日韩国产| 久久综合中文字幕| 自拍偷拍国产精品| 美女www一区二区| 成人av免费网站| 日韩欧美另类在线| 亚洲人精品午夜| 国产在线精品免费| 日本道精品一区二区三区| 久久只精品国产| 亚洲成人综合视频| 成人app软件下载大全免费| 欧美日韩免费观看一区二区三区| 精品99999| 亚洲第一成人在线| 成人18视频日本| 欧美第一区第二区| 亚欧色一区w666天堂| 成人av网在线| 久久久无码精品亚洲日韩按摩| 亚洲自拍偷拍麻豆| 9人人澡人人爽人人精品| 欧美一区二区三区四区高清| 成人欧美一区二区三区1314 | 色婷婷久久久久swag精品| 欧美成人精品1314www| 亚洲一区二区三区在线播放| 风间由美中文字幕在线看视频国产欧美| 欧美日韩成人一区| 尤物视频一区二区| 97se亚洲国产综合自在线不卡| 精品欧美一区二区久久| 丝袜美腿成人在线| 欧美性猛片aaaaaaa做受| 欧美国产精品劲爆| 国产精品中文字幕一区二区三区| 欧美精品 国产精品| 亚洲综合在线第一页| 99精品欧美一区二区蜜桃免费| 精品美女被调教视频大全网站| 午夜电影网亚洲视频| 欧美综合视频在线观看| 中文字幕亚洲在| 99久久99久久综合| 国产精品国产三级国产aⅴ无密码| 国产毛片精品国产一区二区三区| 日韩午夜激情电影| 精品一区二区三区在线观看| 欧美电视剧免费观看| 久99久精品视频免费观看| 精品国产一区二区亚洲人成毛片| 国产成人aaa| 日韩一区在线播放|