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

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

?? atahost_wb_slave.vhd

?? PowerFull ATA Host Controller
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
		process(clk_i)		begin			if (clk_i'event and clk_i = '1') then				if (PIOsel = '0') then					store_pp_full <= PIOpp_full;				end if;			end if;		end process;		brty <= (ATA_DEV_ADR and w_acc) and (DMAtip or store_pp_full);	end block gen_bc_dec;	--	-- generate registers	--	register_block : block		signal sel_PIO_cmdport, sel_PIO_dport0, sel_PIO_dport1 : std_logic; -- PIO timing registers		signal sel_DMA_dev0, sel_DMA_dev1 : std_logic;                      -- DMA timing registers		signal sel_ctrl, sel_stat : std_logic;                              -- control / status register	begin		-- generate register select signals		sel_ctrl        <= CONsel and we_i and (ATA_ADR = ATA_CTRL_REG);		sel_stat        <= CONsel and we_i and (ATA_ADR = ATA_STAT_REG);		sel_PIO_cmdport <= CONsel and we_i and (ATA_ADR = ATA_PIO_CMD);		sel_PIO_dport0  <= CONsel and we_i and (ATA_ADR = ATA_PIO_DP0);		sel_PIO_dport1  <= CONsel and we_i and (ATA_ADR = ATA_PIO_DP1);		sel_DMA_dev0    <= CONsel and we_i and (ATA_ADR = ATA_DMA_DEV0);		sel_DMA_dev1    <= CONsel and we_i and (ATA_ADR = ATA_DMA_DEV1);		-- reserved 0x1C-0x38 --		-- reserved 0x3C : DMA port --		-- generate control register		gen_ctrl_reg: process(clk_i, arst_i)		begin			if (arst_i = '0') then				CtrlReg(31 downto 1) <= (others => '0');				CtrlReg(0)           <= '1';                -- set reset bit			elsif (clk_i'event and clk_i = '1') then				if (rst_i = '1') then					CtrlReg(31 downto 1) <= (others => '0');					CtrlReg(0)           <= '1';                -- set reset bit				elsif (sel_ctrl = '1') then					CtrlReg <= dat_i;				end if;			end if;		end process gen_ctrl_reg;		-- assign bits		DMActrl_DMAen        <= CtrlReg(15);		DMActrl_dir          <= CtrlReg(13);		DMActrl_BeLeC1       <= CtrlReg(9);		DMActrl_BeLeC0       <= CtrlReg(8);		IDEctrl_IDEen        <= CtrlReg(7);		IDEctrl_FATR1        <= CtrlReg(6);		IDEctrl_FATR0        <= CtrlReg(5);		IDEctrl_ppen         <= CtrlReg(4);		PIO_dport1_IORDYen   <= CtrlReg(3);		PIO_dport0_IORDYen   <= CtrlReg(2);		PIO_cmdport_IORDYen  <= CtrlReg(1);		IDEctrl_rst          <= CtrlReg(0);		-- generate status register clearable bits		gen_stat_reg: block			signal dirq, int : std_logic;		begin			gen_irq: process(clk_i, arst_i)			begin				if (arst_i = '0') then					int  <= '0';					dirq <= '0';				elsif (clk_i'event and clk_i = '1') then					if (rst_i = '1') then						int  <= '0';						dirq <= '0';					else						int  <= (int or (irq and not dirq)) and not (sel_stat and not dat_i(0));						dirq <= irq;					end if;				end if;			end process gen_irq;			gen_stat: process(DMAtip, DMARxEmpty, DMATxFull, DMA_dmarq, PIOtip, int, PIOpp_full)			begin				StatReg(31 downto 0) <= (others => '0');                -- clear all bits (read unused bits as '0')				StatReg(31 downto 28) <= std_logic_vector(DeviceId);    -- set Device ID				StatReg(27 downto 24) <= std_logic_vector(RevisionNo);  -- set revision number				StatReg(15) <= DMAtip;				StatReg(10) <= DMARxEmpty;				StatReg(9)  <= DMATxFull;				StatReg(8)  <= DMA_dmarq;				StatReg(7)  <= PIOtip;				StatReg(6)  <= PIOpp_full;				StatReg(0)  <= int;			end process;		end block gen_stat_reg;		-- generate PIO compatible / command-port timing register		gen_PIO_cmdport_reg: process(clk_i, arst_i)		begin			if (arst_i = '0') then				PIO_cmdport_T1   <= conv_unsigned(PIO_mode0_T1, 8);				PIO_cmdport_T2   <= conv_unsigned(PIO_mode0_T2, 8);				PIO_cmdport_T4   <= conv_unsigned(PIO_mode0_T4, 8);				PIO_cmdport_Teoc <= conv_unsigned(PIO_mode0_Teoc, 8);			elsif (clk_i'event and clk_i = '1') then				if (rst_i = '1') then					PIO_cmdport_T1   <= conv_unsigned(PIO_mode0_T1, 8);					PIO_cmdport_T2   <= conv_unsigned(PIO_mode0_T2, 8);					PIO_cmdport_T4   <= conv_unsigned(PIO_mode0_T4, 8);					PIO_cmdport_Teoc <= conv_unsigned(PIO_mode0_Teoc, 8);				elsif (sel_PIO_cmdport = '1') then					PIO_cmdport_T1   <= unsigned(dat_i( 7 downto  0));					PIO_cmdport_T2   <= unsigned(dat_i(15 downto  8));					PIO_cmdport_T4   <= unsigned(dat_i(23 downto 16));					PIO_cmdport_Teoc <= unsigned(dat_i(31 downto 24));				end if;			end if;		end process gen_PIO_cmdport_reg;		-- generate PIO device0 timing register		gen_PIO_dport0_reg: process(clk_i, arst_i)		begin			if (arst_i = '0') then				PIO_dport0_T1   <= conv_unsigned(PIO_mode0_T1, 8);				PIO_dport0_T2   <= conv_unsigned(PIO_mode0_T2, 8);				PIO_dport0_T4   <= conv_unsigned(PIO_mode0_T4, 8);				PIO_dport0_Teoc <= conv_unsigned(PIO_mode0_Teoc, 8);			elsif (clk_i'event and clk_i = '1') then				if (rst_i = '1') then					PIO_dport0_T1   <= conv_unsigned(PIO_mode0_T1, 8);					PIO_dport0_T2   <= conv_unsigned(PIO_mode0_T2, 8);					PIO_dport0_T4   <= conv_unsigned(PIO_mode0_T4, 8);					PIO_dport0_Teoc <= conv_unsigned(PIO_mode0_Teoc, 8);				elsif (sel_PIO_dport0 = '1') then					PIO_dport0_T1   <= unsigned(dat_i( 7 downto  0));					PIO_dport0_T2   <= unsigned(dat_i(15 downto  8));					PIO_dport0_T4   <= unsigned(dat_i(23 downto 16));					PIO_dport0_Teoc <= unsigned(dat_i(31 downto 24));				end if;			end if;		end process gen_PIO_dport0_reg;		-- generate PIO device1 timing register		gen_PIO_dport1_reg: process(clk_i, arst_i)		begin			if (arst_i = '0') then				PIO_dport1_T1   <= conv_unsigned(PIO_mode0_T1, 8);				PIO_dport1_T2   <= conv_unsigned(PIO_mode0_T2, 8);				PIO_dport1_T4   <= conv_unsigned(PIO_mode0_T4, 8);				PIO_dport1_Teoc <= conv_unsigned(PIO_mode0_Teoc, 8);			elsif (clk_i'event and clk_i = '1') then				if (rst_i = '1') then					PIO_dport1_T1   <= conv_unsigned(PIO_mode0_T1, 8);					PIO_dport1_T2   <= conv_unsigned(PIO_mode0_T2, 8);					PIO_dport1_T4   <= conv_unsigned(PIO_mode0_T4, 8);					PIO_dport1_Teoc <= conv_unsigned(PIO_mode0_Teoc, 8);				elsif (sel_PIO_dport1 = '1') then					PIO_dport1_T1   <= unsigned(dat_i( 7 downto  0));					PIO_dport1_T2   <= unsigned(dat_i(15 downto  8));					PIO_dport1_T4   <= unsigned(dat_i(23 downto 16));					PIO_dport1_Teoc <= unsigned(dat_i(31 downto 24));				end if;			end if;		end process gen_PIO_dport1_reg;		-- generate DMA device0 timing register		gen_DMA_dev0_reg: process(clk_i, arst_i)		begin			if (arst_i = '0') then				DMA_dev0_Tm   <= conv_unsigned(DMA_mode0_Tm, 8);				DMA_dev0_Td   <= conv_unsigned(DMA_mode0_Td, 8);				DMA_dev0_Teoc <= conv_unsigned(DMA_mode0_Teoc, 8);			elsif (clk_i'event and clk_i = '1') then				if (rst_i = '1') then					DMA_dev0_Tm   <= conv_unsigned(DMA_mode0_Tm, 8);					DMA_dev0_Td   <= conv_unsigned(DMA_mode0_Td, 8);					DMA_dev0_Teoc <= conv_unsigned(DMA_mode0_Teoc, 8);				elsif (sel_DMA_dev0 = '1') then					DMA_dev0_Tm   <= unsigned(dat_i( 7 downto  0));					DMA_dev0_Td   <= unsigned(dat_i(15 downto  8));					DMA_dev0_Teoc <= unsigned(dat_i(31 downto 24));				end if;			end if;		end process gen_DMA_dev0_reg;		-- generate DMA device1 timing register		gen_DMA_dev1_reg: process(clk_i, arst_i)		begin			if (arst_i = '0') then				DMA_dev1_Tm   <= conv_unsigned(DMA_mode0_Tm, 8);				DMA_dev1_Td   <= conv_unsigned(DMA_mode0_Td, 8);				DMA_dev1_Teoc <= conv_unsigned(DMA_mode0_Teoc, 8);			elsif (clk_i'event and clk_i = '1') then				if (rst_i = '1') then					DMA_dev1_Tm   <= conv_unsigned(DMA_mode0_Tm, 8);					DMA_dev1_Td   <= conv_unsigned(DMA_mode0_Td, 8);					DMA_dev1_Teoc <= conv_unsigned(DMA_mode0_Teoc, 8);				elsif (sel_DMA_dev1 = '1') then					DMA_dev1_Tm   <= unsigned(dat_i( 7 downto  0));					DMA_dev1_Td   <= unsigned(dat_i(15 downto  8));					DMA_dev1_Teoc <= unsigned(dat_i(31 downto 24));				end if;			end if;		end process gen_DMA_dev1_reg;	end block register_block;	--	-- generate WISHBONE interconnect signals	--	gen_WB_sigs: block		signal Q : std_logic_vector(31 downto 0);	begin		-- generate acknowledge signal		ack_o <= PIOack or CONsel; -- or DMAack; -- since DMAack is derived from CONsel this is OK		-- generate error signal		err_o <= cyc_i and stb_i and berr;		-- generate retry signal		rty_o <= cyc_i and stb_i and brty;		-- assign interrupt signal		inta_o <= StatReg(0);			-- generate output multiplexor		with ATA_ADR select			Q <= CtrlReg when ATA_CTRL_REG, -- control register			     StatReg when ATA_STAT_REG, -- status register			     std_logic_vector(PIO_cmdport_Teoc & PIO_cmdport_T4 & PIO_cmdport_T2 & PIO_cmdport_T1) when ATA_PIO_CMD,  -- PIO compatible / cmd-port timing register			     std_logic_vector(PIO_dport0_Teoc & PIO_dport0_T4 & PIO_dport0_T2 & PIO_dport0_T1)     when ATA_PIO_DP0,  -- PIO fast timing register device0			     std_logic_vector(PIO_dport1_Teoc & PIO_dport1_T4 & PIO_dport1_T2 & PIO_dport1_T1)     when ATA_PIO_DP1,  -- PIO fast timing register device1			     std_logic_vector(DMA_dev0_Teoc & x"00" & DMA_dev0_Td & DMA_dev0_Tm)                   when ATA_DMA_DEV0, -- DMA timing register device0			     std_logic_vector(DMA_dev1_Teoc & x"00" & DMA_dev1_Td & DMA_dev1_Tm)                   when ATA_DMA_DEV1, -- DMA timing register device1			     DMAq    when ATA_DMA_PORT, -- DMA port, DMA receive register		       (others => '0') when others;		dat_o <= (x"0000" & PIOq) when (ATA_DEV_ADR = '1') else Q;	end block gen_WB_sigs;end architecture structural;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品在线一区二区| 亚洲综合精品久久| 日韩写真欧美这视频| 色综合久久九月婷婷色综合| 国产伦理精品不卡| 黄页视频在线91| 国产乱人伦偷精品视频不卡| 久久精品国产99| 久久国产夜色精品鲁鲁99| 蜜臀av一区二区在线观看| 麻豆精品久久精品色综合| 蜜臀av性久久久久蜜臀aⅴ| 日本成人在线不卡视频| 视频一区二区不卡| 久久精品国产亚洲aⅴ| 久久97超碰色| 风间由美一区二区三区在线观看 | 久久精品久久99精品久久| 亚洲成av人片一区二区三区| 午夜电影久久久| 激情小说亚洲一区| 国产·精品毛片| 色婷婷精品大在线视频| 欧美日本国产视频| 精品少妇一区二区三区 | 成人爱爱电影网址| 97se亚洲国产综合自在线| 91丨九色丨国产丨porny| 欧美午夜免费电影| 欧美高清性hdvideosex| 久久先锋影音av| 亚洲欧美日韩系列| 蜜桃av一区二区| 大桥未久av一区二区三区中文| 91色在线porny| 日韩美女天天操| 亚洲精选在线视频| 国产一区二区女| 色综合久久久久综合| 欧美v日韩v国产v| 最新高清无码专区| 老汉av免费一区二区三区| 99麻豆久久久国产精品免费| 欧美久久久久久久久中文字幕| 久久久久青草大香线综合精品| 中文字幕视频一区二区三区久| 日韩电影一区二区三区| 暴力调教一区二区三区| 91精品视频网| 亚洲欧美国产三级| 国产成人自拍在线| 欧美一二三区在线| 一区二区三区四区亚洲| 国产精品一卡二| 欧美一区二区三区婷婷月色 | 91免费观看在线| 久久综合久久综合久久综合| 樱桃视频在线观看一区| 国产成人av影院| 日韩欧美国产精品| 天堂久久久久va久久久久| 99在线热播精品免费| 久久亚洲一区二区三区明星换脸| 一级日本不卡的影视| 国产成人精品亚洲日本在线桃色| 日韩一区二区三区免费看| 亚洲一区在线观看免费观看电影高清 | 国产区在线观看成人精品| 日韩国产高清在线| 欧美日韩久久不卡| 亚洲综合男人的天堂| 色综合天天综合| 国产精品不卡在线| 不卡视频在线观看| 中文字幕 久热精品 视频在线| 韩国精品久久久| 精品日本一线二线三线不卡| 亚洲成av人片一区二区梦乃| 欧美日韩在线电影| 亚洲成人黄色小说| 56国语精品自产拍在线观看| 亚洲一区二区三区小说| 在线日韩一区二区| 亚洲综合另类小说| 欧美精品丝袜久久久中文字幕| 亚洲地区一二三色| 91精品国产手机| 免费成人av资源网| 久久亚洲二区三区| 成人免费毛片嘿嘿连载视频| 国产精品麻豆视频| 91免费版pro下载短视频| 一区二区高清视频在线观看| 欧美中文字幕亚洲一区二区va在线| 依依成人精品视频| 91精品午夜视频| 国产一二精品视频| 综合久久久久久| 91精品国产色综合久久不卡电影| 捆绑紧缚一区二区三区视频| 日本一区二区三区dvd视频在线| 成人小视频在线观看| 一区二区三区资源| 欧美一区二区黄色| yourporn久久国产精品| 夜夜嗨av一区二区三区中文字幕| 日韩一区二区三免费高清| 国产成人综合亚洲网站| 一区二区三区四区高清精品免费观看 | 久久久久久久久久电影| 成人久久久精品乱码一区二区三区 | 日日夜夜免费精品| 日韩视频一区二区| 精品亚洲成a人| www激情久久| 在线观看免费一区| 日韩国产精品久久久| 欧美r级电影在线观看| 成人久久久精品乱码一区二区三区| 国产精品久久三| 精品国产污网站| 成人午夜视频在线观看| 亚洲一区中文在线| 精品国产一区二区三区久久久蜜月| 成人免费高清在线| 午夜日韩在线观看| 久久美女高清视频 | 亚洲国产成人tv| 日韩精品专区在线影院观看| 国产风韵犹存在线视精品| 亚洲美女电影在线| 欧美一二区视频| 91老师国产黑色丝袜在线| 午夜不卡av在线| 久久久一区二区| 欧美日韩mp4| 粉嫩一区二区三区在线看| 国产精品人成在线观看免费| 欧美一级爆毛片| 在线视频国产一区| 国产精品77777| 一区二区不卡在线视频 午夜欧美不卡在| 日韩视频一区二区在线观看| kk眼镜猥琐国模调教系列一区二区| 亚洲一区二区三区四区在线观看| 久久综合资源网| 欧洲一区在线电影| 成人午夜电影网站| 美女视频网站黄色亚洲| 日本女人一区二区三区| 一区二区三区91| 国产精品天干天干在线综合| 日韩欧美一级二级| 欧美日韩久久不卡| 精品视频全国免费看| 99久久99久久精品国产片果冻| 久99久精品视频免费观看| 亚洲成人高清在线| 亚洲综合视频网| 午夜精彩视频在线观看不卡| 亚洲人精品一区| 中文字幕亚洲区| 亚洲欧美综合网| 欧美美女黄视频| 日韩欧美第一区| 91精品国产综合久久久久久久 | 久久精品免视看| 91麻豆精品国产91久久久更新时间| 99国产精品99久久久久久| www.激情成人| 国产99一区视频免费| 国产.欧美.日韩| 成人av第一页| 99精品视频在线观看免费| 成人激情文学综合网| 粉嫩久久99精品久久久久久夜| 国产伦精品一区二区三区在线观看| 精品一区二区三区在线视频| 美美哒免费高清在线观看视频一区二区| 亚洲va韩国va欧美va精品| 亚洲成人在线免费| 日韩精品电影在线观看| 日韩电影一区二区三区四区| 国产精品白丝jk黑袜喷水| 国产精品性做久久久久久| 国产v日产∨综合v精品视频| 国产麻豆成人精品| www.日韩大片| 欧美不卡视频一区| 国产亚洲一区二区三区在线观看| 国产欧美综合在线观看第十页| 久久久久99精品国产片| 亚洲视频在线观看三级| 日韩不卡一区二区三区 | 亚洲欧洲在线观看av| 亚洲美女偷拍久久| 亚洲国产精品尤物yw在线观看| 日韩精品视频网站| 日韩精品乱码av一区二区| 风间由美一区二区av101|