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

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

?? pio_tctrl1.2.vhd

?? IDE的Verilog設計
?? VHD
字號:
---- file: pio_tctrl.vhd--	description: PIO mode timing controller for ATA controller-- author : Richard Herveille-- rev.: 1.0 march  7th, 2001. Initial release-- rev.: 1.1 July  11th, 2001. Changed 'igo' & 'hold_go' signal generation.--------------------------------- 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;library count;use count.count.all;entity 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 PIO_tctrl;architecture structural of PIO_tctrl is	component ro_cnt is	generic(SIZE : natural := 8);	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				ID : in unsigned(SIZE -1 downto 0) := (others => '0') -- initial data after reset	);	end component ro_cnt;	-- PIO mode 0 settings (@100MHz clock)	constant T1_m0 : unsigned(TWIDTH -1 downto 0) := conv_unsigned(PIO_mode0_T1, TWIDTH);    -- 70ns	constant T2_m0 : unsigned(TWIDTH -1 downto 0) := conv_unsigned(PIO_mode0_T2, TWIDTH);   -- 290ns	constant T4_m0 : unsigned(TWIDTH -1 downto 0) := conv_unsigned(PIO_mode0_T4, TWIDTH);    -- 30ns	constant Teoc_m0 : unsigned(TWIDTH -1 downto 0) := conv_unsigned(PIO_mode0_Teoc, TWIDTH); -- 240ns ==> T0 - T1 - T2 = 600 - 70 - 290 = 240	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)		port map (clk => clk, nReset => nReset, rst => rst, go => igo, D => T1, ID => T1_m0, 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)		port map (clk => clk, nReset => nReset, rst => rst, go => T1done, D => T2, ID => T2_m0, 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)		port map (clk => clk, nReset => nReset, rst => rst, go => IORDY_done, D => T4, ID => T4_m0, 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)		port map (clk => clk, nReset => nReset, rst => rst, go => IORDY_done, D => Teoc, ID => Teoc_m0, done => Teoc_done);end architecture structural;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品久久艾草纯爱| 亚洲妇女屁股眼交7| 欧美人妇做爰xxxⅹ性高电影 | 欧美日韩精品系列| 色婷婷久久久亚洲一区二区三区 | 日韩黄色免费网站| 亚洲制服丝袜在线| 亚洲国产日韩在线一区模特| 亚洲韩国精品一区| 亚洲国产精品久久久久婷婷884 | 久久99国产精品免费网站| 日韩精品乱码av一区二区| 青青草伊人久久| 日本欧美在线观看| 国产一区在线观看视频| 国产精品一区免费在线观看| 国产精品一区二区果冻传媒| 风间由美一区二区三区在线观看| 99re热视频这里只精品| 色94色欧美sute亚洲线路一ni| 色综合久久综合| 欧美日韩久久久一区| 欧美一区二区免费| 国产午夜亚洲精品不卡| 亚洲欧洲国产日韩| 亚洲午夜久久久久久久久电影院| 日韩av一区二| 国产成人精品亚洲日本在线桃色| 成人av一区二区三区| 欧美午夜精品一区| 精品国产亚洲在线| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 亚洲福利视频一区二区| 三级亚洲高清视频| 懂色av一区二区三区蜜臀 | 成人免费小视频| 亚洲国产一区二区视频| 国产在线精品一区二区不卡了| 成人午夜电影久久影院| 欧美日韩在线直播| 久久综合狠狠综合久久综合88| 国产精品美女久久久久久久久久久 | 不卡的av电影在线观看| 91成人国产精品| 久久综合色婷婷| 亚洲国产欧美在线| 国产99一区视频免费| 欧美欧美欧美欧美| 中文字幕一区av| 麻豆免费精品视频| 一本到一区二区三区| 久久久www免费人成精品| 亚洲一区在线看| 不卡的电影网站| 亚洲精品一区在线观看| 一区二区三区**美女毛片| 久草中文综合在线| 欧美日韩国产综合视频在线观看 | 国产精品污网站| 免费av网站大全久久| 欧美伊人久久久久久午夜久久久久| 亚洲精品一线二线三线 | 中文字幕欧美激情| 看电影不卡的网站| 在线不卡a资源高清| 亚洲精品日日夜夜| 成人午夜在线视频| 久久久久久久久伊人| 麻豆成人久久精品二区三区红 | 中文字幕一区二区三中文字幕| 免费国产亚洲视频| 欧美乱熟臀69xxxxxx| 亚洲精品日韩综合观看成人91| 国产麻豆日韩欧美久久| 亚洲精品一区二区三区影院 | 欧美艳星brazzers| 中文字幕一区二区三区色视频| 麻豆成人免费电影| 欧美成人aa大片| 美国三级日本三级久久99| 欧美一区二区三区在线观看视频 | 国产精品美女久久久久高潮| 国产在线不卡视频| 国产片一区二区| 成人美女在线观看| 中文字幕一区三区| 欧美在线一二三| 一二三区精品视频| 欧美日韩一区小说| 日韩不卡一二三区| 精品动漫一区二区三区在线观看| 久久国产欧美日韩精品| 精品久久久久99| 国产精品18久久久久久久久 | 床上的激情91.| 欧美国产乱子伦| 99精品偷自拍| 亚洲国产日韩一级| 欧美一卡2卡3卡4卡| 久久精品999| 国产日本欧洲亚洲| 成人精品视频一区| 亚洲男女一区二区三区| 欧美日韩久久久久久| 美女视频黄频大全不卡视频在线播放| 欧美大胆一级视频| 成人涩涩免费视频| 亚洲一区二区在线播放相泽| 91精品蜜臀在线一区尤物| 经典三级视频一区| 国产精品第13页| 欧美日韩一区二区三区在线看 | 中文字幕日韩一区| 欧美日韩精品欧美日韩精品一| 麻豆精品一区二区综合av| 中文字幕免费在线观看视频一区| 日本精品免费观看高清观看| 日韩av在线发布| 国产精品卡一卡二| 日韩欧美在线网站| 91影视在线播放| 美国一区二区三区在线播放| 中文字幕在线观看一区二区| 欧美一区二区三区视频在线观看| 国产盗摄一区二区三区| 亚洲精选一二三| 26uuu国产一区二区三区| 在线区一区二视频| 成人一区二区三区| 蜜臀av性久久久久蜜臀aⅴ | 精品va天堂亚洲国产| 91美女精品福利| 国产精品综合二区| 一区av在线播放| 欧美国产日本韩| 欧美成人一区二区三区在线观看| 91欧美一区二区| 国产黄人亚洲片| 日本中文字幕不卡| 亚洲国产精品久久久久秋霞影院| 欧美韩日一区二区三区四区| 欧美久久久久久久久久| 99久久精品情趣| 国产在线麻豆精品观看| 一区二区久久久久| 中文字幕永久在线不卡| 久久精品视频在线看| 日韩一区国产二区欧美三区| 91麻豆精品在线观看| 不卡一区二区三区四区| 国产福利一区二区三区视频在线| 青草av.久久免费一区| 亚洲成av人影院在线观看网| 亚洲欧美日韩在线播放| 中文字幕成人av| 国产午夜精品久久久久久久| 欧美成人性战久久| 日韩精品在线网站| 欧美一区二区三区不卡| 欧美日韩午夜影院| 欧美视频一区二区| 欧洲精品在线观看| 色综合天天综合狠狠| 99久久久精品免费观看国产蜜| 国产成人亚洲综合a∨婷婷图片 | 亚洲精品第一国产综合野| 国产精品美女一区二区三区| 国产精品日韩精品欧美在线| 中文字幕av一区二区三区高| 国产欧美日韩三区| 国产女同互慰高潮91漫画| 欧美国产成人在线| 国产精品国产自产拍在线| 国产精品乱人伦| 综合亚洲深深色噜噜狠狠网站| 综合网在线视频| 亚洲国产精品人人做人人爽| 视频一区二区三区入口| 久久精品国产亚洲aⅴ| 精品一区二区三区日韩| 国产一区中文字幕| av一区二区三区四区| 日本精品免费观看高清观看| 欧美人狂配大交3d怪物一区| 日韩亚洲欧美成人一区| 久久精品人人做人人爽人人| 中文字幕日韩精品一区 | 国产精品久久久久一区| 中文字幕一区av| 天天综合网 天天综合色| 麻豆高清免费国产一区| 成人激情文学综合网| 欧美亚洲动漫制服丝袜| 日韩一区二区三区在线| 久久精品视频免费| 一区二区三区在线免费视频| 三级精品在线观看| 成人深夜福利app| 6080午夜不卡| 久久久久成人黄色影片|