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

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

?? atahost_pio_tctrl.vhd

?? 硬盤控制器VHDL源代碼
?? 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;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av电影在线观看完整版一区二区| 蜜乳av一区二区| 久久久久综合网| 久久网这里都是精品| 久久久精品综合| 久久精品欧美日韩| 久久综合九色综合欧美亚洲| 久久久久久久综合日本| 欧美国产视频在线| 亚洲人午夜精品天堂一二香蕉| 国产精品的网站| 亚洲综合成人在线视频| 亚洲国产综合色| 美国欧美日韩国产在线播放| 久久国产尿小便嘘嘘| 国产成都精品91一区二区三| 成人毛片在线观看| 日本高清免费不卡视频| 91超碰这里只有精品国产| 日韩欧美资源站| 国产精品丝袜91| 五月天激情综合| 国产乱码精品一区二区三区五月婷| 懂色中文一区二区在线播放| 欧美亚洲尤物久久| 欧美v亚洲v综合ⅴ国产v| 国产精品久久久久天堂| 亚洲成年人网站在线观看| 国产一区二区三区国产| 色欧美片视频在线观看| 欧美精品一区二区三区很污很色的| 中文字幕欧美国产| 美女网站一区二区| 91免费观看在线| 久久综合久久综合亚洲| 一区二区三国产精华液| 精品在线你懂的| 在线视频国内一区二区| 久久久99精品免费观看| 日本伊人精品一区二区三区观看方式| 国产一区美女在线| 欧美视频完全免费看| 久久久亚洲国产美女国产盗摄 | 看国产成人h片视频| 成人精品亚洲人成在线| 日韩欧美在线网站| 一区二区在线观看视频| 国产精品香蕉一区二区三区| 在线不卡免费av| 亚洲人成影院在线观看| 成人午夜视频网站| 日本一区二区动态图| 蜜臀av一区二区| 欧美日韩在线免费视频| 最新成人av在线| 高清久久久久久| 亚洲精品一区二区精华| 日日夜夜精品视频免费| 色婷婷亚洲一区二区三区| 国产精品免费人成网站| 国产精品一区二区久久精品爱涩 | 亚洲第一搞黄网站| 99久久国产综合精品色伊| 国产亚洲欧美一级| 国产在线精品一区二区不卡了 | 日韩国产在线观看一区| 色狠狠一区二区三区香蕉| 欧美极品xxx| 成人av第一页| |精品福利一区二区三区| 成人夜色视频网站在线观看| 国产欧美一区二区三区在线看蜜臀 | 国产成人av资源| 精品美女一区二区三区| 久久国产生活片100| 日韩小视频在线观看专区| 日韩精品国产欧美| 欧美一区二区三区公司| 美女视频一区在线观看| 日韩精品最新网址| 国产一区日韩二区欧美三区| 国产精品乱人伦| 色婷婷精品大视频在线蜜桃视频| 中文字幕一区二区三区视频| 色婷婷综合视频在线观看| 午夜精品一区二区三区免费视频 | 久久久久久电影| 国产成人精品综合在线观看 | 国内精品第一页| 亚洲精品一区二区三区蜜桃下载 | 久草在线在线精品观看| 久久久久久一二三区| 国产高清一区日本| 亚洲欧美激情在线| 91精品一区二区三区久久久久久| 麻豆精品久久精品色综合| 国产色综合久久| 成人精品免费看| 亚洲国产精品一区二区久久| 欧美一级免费观看| 成人精品鲁一区一区二区| 亚洲精品视频在线| 欧美成人精品1314www| 成人av午夜影院| 水野朝阳av一区二区三区| 久久看人人爽人人| 欧美系列在线观看| 国产福利91精品一区二区三区| 亚洲欧美日韩在线不卡| 欧美tickling网站挠脚心| 91老司机福利 在线| 蜜臀99久久精品久久久久久软件| 国产精品你懂的在线| 欧美成人一区二区三区| 色综合天天综合网天天狠天天| 欧美aaaaaa午夜精品| 亚洲人精品午夜| 欧美激情综合在线| 欧美一级在线免费| 日本久久一区二区三区| 精品一二三四区| 亚洲午夜激情av| 国产欧美日韩精品a在线观看| 宅男噜噜噜66一区二区66| 99久久久精品| 国产a精品视频| 久久av中文字幕片| 婷婷综合五月天| 亚洲自拍偷拍av| 中文字幕亚洲不卡| 国产午夜精品久久久久久久| 欧美一区二区日韩| 欧美日韩中文字幕一区二区| 91在线云播放| 国产美女精品在线| 奇米亚洲午夜久久精品| 亚洲第一会所有码转帖| 夜夜精品视频一区二区| 综合在线观看色| 国产精品素人视频| 中文在线免费一区三区高中清不卡| 日韩一区二区三| 91精品婷婷国产综合久久性色| 欧美午夜理伦三级在线观看| 99视频一区二区三区| 成人午夜免费视频| 国产成a人无v码亚洲福利| 国产成人免费视频网站高清观看视频| 日本三级韩国三级欧美三级| 免费的成人av| 久久成人免费电影| 久久97超碰国产精品超碰| 韩国av一区二区三区在线观看| 久久99日本精品| 国产精品自产自拍| 国产成人午夜99999| 粉嫩高潮美女一区二区三区| 成人激情免费视频| 99国产精品99久久久久久| 一本大道久久a久久综合婷婷| 一本色道久久综合狠狠躁的推荐| 日本精品一区二区三区四区的功能| 色视频欧美一区二区三区| 欧美日韩精品一区二区天天拍小说 | 亚洲美女在线一区| 亚洲午夜精品网| 美国av一区二区| 成人午夜大片免费观看| 94色蜜桃网一区二区三区| 在线观看精品一区| 日韩欧美另类在线| 中文字幕二三区不卡| 亚洲激情自拍偷拍| 三级欧美韩日大片在线看| 狠狠狠色丁香婷婷综合久久五月| 国产精品一线二线三线精华| 91香蕉视频污| 69堂国产成人免费视频| 久久影院视频免费| 1000精品久久久久久久久| 五月天中文字幕一区二区| 国产伦精品一区二区三区在线观看| 成人深夜视频在线观看| 欧美日韩国产bt| 久久亚洲综合av| 一区二区三区精品久久久| 久久91精品久久久久久秒播| 色偷偷久久一区二区三区| 欧美一二三在线| 亚洲天堂2016| 久久66热偷产精品| 精品视频在线看| 久久精品亚洲麻豆av一区二区 | 秋霞电影一区二区| 99精品视频在线免费观看| 日韩手机在线导航| 一区二区三区在线观看国产| 免费av成人在线| 在线中文字幕一区二区| 欧美国产日韩在线观看|