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

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

?? gh_timer_8254_amba_apb.vhd

?? VHDL Source code for 8254 timer/counter
?? VHD
字號:
-----------------------------------------------------------------------------
--	Filename:	gh_timer_8254_AMBA_APB.vhd
--
--	Description:
--		a VHDL version of the 8254 Timer
--
--	Copyright (c) 2008 by H LeFevre 
--		A VHDL 8254 Timer core
--		an OpenCores.org Project
--		free to use, but see documentation for conditions 
--
--	Revision 	History:
--	Revision 	Date       	Author    	Comment
--	-------- 	---------- 	---------	-----------
--	1.0      	08/16/08  	H LeFevre	Initial revision
--
-----------------------------------------------------------------------------
library ieee ;
use ieee.std_logic_1164.all ;

entity gh_timer_8254_AMBA_APB is
	GENERIC(mux0_same_clk: boolean := false; -- true, if same clock is used for bus and counter
	        mux1_same_clk: boolean := false; 
	        mux2_same_clk: boolean := false;
	        mux0_sync_clk: boolean := false; -- true, if bus and counter clocks are synchronous
	        mux1_sync_clk: boolean := false;
	        mux2_sync_clk: boolean := false);
	port(	  
	-------- AMBA_APB signals ------------
		PCLK      : in std_logic;
		PRESETn   : in std_logic;
		PSEL      : in std_logic;
		PENABLE   : in std_logic;
		PWRITE    : in std_logic;
		PADDR     : in std_logic_vector(1 downto 0);
		PWDATA    : in std_logic_vector(7 downto 0);
		
		PREADY    : out std_logic;
		PRDATA    : out std_logic_vector(7 downto 0);
	----------------------------------------------------
	------ other I/O -----------------------------------	
		
		clk0     : in std_logic;
		gate0    : in std_logic;
		out0     : out std_logic;
		
		clk1     : in std_logic;
		gate1    : in std_logic;
		out1     : out std_logic;
		
		clk2     : in std_logic;
		gate2    : in std_logic;
		out2     : out std_logic
		);
end entity;

architecture a of gh_timer_8254_AMBA_APB is

COMPONENT gh_edge_det is
	PORT(	
		clk : in STD_LOGIC;
		rst : in STD_LOGIC;
		D   : in STD_LOGIC;
		re  : out STD_LOGIC; -- rising edge (need sync source at D)
		fe  : out STD_LOGIC; -- falling edge (need sync source at D)
		sre : out STD_LOGIC; -- sync'd rising edge
		sfe : out STD_LOGIC  -- sync'd falling edge
		);
END COMPONENT;

COMPONENT gh_register_ce is
	GENERIC (size: INTEGER := 8);
	PORT(	
		clk : IN		STD_LOGIC;
		rst : IN		STD_LOGIC; 
		CE  : IN		STD_LOGIC; -- clock enable
		D   : IN		STD_LOGIC_VECTOR(size-1 DOWNTO 0);
		Q   : OUT		STD_LOGIC_VECTOR(size-1 DOWNTO 0)
		);
END COMPONENT;

COMPONENT gh_counter_control is
	GENERIC(same_clk: boolean := false;
	        sync_clk: boolean := false);
	port(	  
	-------- data control signals ------------
		clk_i  : in std_logic;
		rst    : in std_logic;
		ics    : in std_logic;
		dwr    : in std_logic;
		iA     : in std_logic_vector(1 downto 0);
		iD     : in std_logic_vector(7 downto 0);
		dat_o  : out std_logic_vector(7 downto 0);
	----------------------------------------------------
	------ other I/O -----------------------------------	
		
		clk     : in std_logic;
		rd_busy : out std_logic;
		gate    : in std_logic;
		Cout    : out std_logic
		);
END COMPONENT;

	signal iRD       : std_logic_vector(7 downto 0);
	signal iD        : std_logic_vector(7 downto 0);
	signal iD0       : std_logic_vector(7 downto 0);
	signal iD1       : std_logic_vector(7 downto 0);
	signal iD2       : std_logic_vector(7 downto 0);
	signal iA        : std_logic_vector(1 downto 0);
	signal iA0       : std_logic_vector(1 downto 0);
	signal iA1       : std_logic_vector(1 downto 0);
	signal iA2       : std_logic_vector(1 downto 0);
	signal CS        : std_logic;
	signal iCS       : std_logic;
	signal iiCS      : std_logic;
	signal iiCS0     : std_logic;
	signal iiCS1     : std_logic;
	signal iiCS2     : std_logic;
	signal dwr       : std_logic;
	
	signal rdCS     : std_logic;
	signal rd_busy  : std_logic;
	signal rd_busy0 : std_logic;
	signal rd_busy1 : std_logic;
	signal rd_busy2 : std_logic;
							 
	signal rDO0      : std_logic_vector(7 downto 0);
	signal rDO1      : std_logic_vector(7 downto 0);
	signal rDO2      : std_logic_vector(7 downto 0);
	
	signal rst       : std_logic;

	
begin
 
	rst <= (not PRESETn);

u1 : gh_register_ce 
	generic map (8)
	port map(
		clk => PCLK,
		rst => rst,
		ce => rdCS,
		D => iRD,
		Q => PRDATA
		);
	
	rdCS <= iCS or rd_busy;
	
 --------------------------------------------------

U2 : gh_edge_det 
	PORT MAP (
		clk => PCLK,
		rst => rst,
		d => CS,
		re => iCS,
		sre => iiCS);
		
	CS <= '1' when ((PSEL = '1') and (PENABLE = '0')) else
	      '0';
		  
process (PCLK,rst)
begin
	if (rst = '1') then
		PREADY <= '0';
		dwr <= '0';
		rd_busy <= '0';
	elsif (rising_edge(PCLK)) then
		dwr <= PWRITE;
		if 	((PWRITE = '0') and (PADDR = "00") and (rd_busy0 = '1')) then
			PREADY <= '0';
			rd_busy <= '1';
		elsif ((PWRITE = '0') and (PADDR = "01") and (rd_busy1 = '1')) then
			PREADY <= '0';
			rd_busy <= '1';
		elsif ((PWRITE = '0') and (PADDR = "10") and (rd_busy2 = '1')) then
			PREADY <= '0';
			rd_busy <= '1';
		else
			PREADY <= '1'; 
			rd_busy <= '0';
		end if;
	end if;
end process;

--------------------------------------------------------------

u3 : gh_register_ce 
	generic map (8)
	port map(
		clk => PCLK,
		rst => rst,
		ce => iCS,
		D => PWDATA,
		Q => iD
		);
		
u4 : gh_register_ce 
	generic map (2)
	port map(
		clk => PCLK,
		rst => rst,
		ce => iCS,
		D => PADDR,
		Q => iA
		);
 
----------------------------------------------------

	iRD <= rDO0 when (PADDR = "00") else
		   rDO1 when (PADDR = "01") else
	       rDO2;

		
--------------------------			  

	iA0 <= iA; -- each counter thinks it is counter 0
	iA1 <= "11" when (iA = "11") else
	       "00" when (iA = "01") else
	       "10";
	iA2 <= "11" when (iA = "11") else
	       "00" when (iA = "10") else
	       "10";

	iD0 <= iD; -- for read back commands
	iD1 <= ("00" & iD(5 downto 0)) when ((iA = "11") and (iD(7 downto 6) = "01")) else
	       ("11" & iD(5 downto 4) & "00" & iD(2) & '0') when ((iA = "11") and (iD(7 downto 6) = "11")) else
	       iD;
	iD2 <= ("00" & iD(5 downto 0)) when ((iA = "11") and (iD(7 downto 6) = "10")) else
	       ("11" & iD(5 downto 4) & "00" & iD(3) & '0') when ((iA = "11") and (iD(7 downto 6) = "11")) else
	       iD;	   

	iiCS0 <= iiCS when ((iA = "11") and (iD(7 downto 6) = "00")) else
	         iiCS when ((iA = "11") and (iD(7 downto 6) = "11")) else
	         iiCS when (iA = "00") else
	         '0';

	iiCS1 <= iiCS when ((iA = "11") and (iD(7 downto 6) = "01")) else
	         iiCS when ((iA = "11") and (iD(7 downto 6) = "11")) else
	         iiCS when (iA = "01") else
	         '0';		   
				 

	iiCS2 <= iiCS when ((iA = "11") and (iD(7 downto 6) = "10")) else
	         iiCS when ((iA = "11") and (iD(7 downto 6) = "11")) else
	         iiCS when (iA = "10") else
	         '0';
				 
U5 : gh_counter_control
	GENERIC MAP(same_clk => mux0_same_clk,
	            sync_clk => mux0_sync_clk)
	PORT MAP (
		clk_i   => PCLK,
		clk     => clk0,
		rst     => rst,
		ics     => iiCS0,
		dwr     => dwr,
		iA      => iA0,
		iD      => iD0,
		dat_o	=> rDO0,
		rd_busy => rd_busy0,
		gate    => gate0,
		Cout    => out0
		);

U6 : gh_counter_control
	GENERIC MAP(same_clk => mux1_same_clk,
	            sync_clk => mux1_sync_clk)
	PORT MAP (
		clk_i   => PCLK,
		clk     => clk1,
		rst     => rst,
		ics     => iiCS1,
		dwr     => dwr,
		iA      => iA1,
		iD      => iD1,
		dat_o	=> rDO1,
		rd_busy => rd_busy1,
		gate    => gate1,
		Cout    => out1
		);
		
U7 : gh_counter_control
	GENERIC MAP(same_clk => mux2_same_clk,
	            sync_clk => mux2_sync_clk)
	PORT MAP (
		clk_i   => PCLK,
		clk     => clk2,
		rst     => rst,
		ics     => iiCS2,
		dwr     => dwr,
		iA      => iA2,
		iD      => iD2,
		dat_o	=> rDO2,
		rd_busy => rd_busy2,
		gate    => gate2,
		Cout    => out2
		);

end a;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国精产品一区一区三区mba视频 | 亚洲一区二区美女| 日本sm残虐另类| 处破女av一区二区| 日韩精品在线一区| 亚洲麻豆国产自偷在线| 精品一区在线看| 欧美日韩国产在线播放网站| 中文字幕第一区| 麻豆国产一区二区| 欧美日韩一区视频| 亚洲欧洲成人av每日更新| 美女mm1313爽爽久久久蜜臀| 欧美日韩一区小说| 亚洲日本欧美天堂| 99久久综合99久久综合网站| 久久青草国产手机看片福利盒子 | fc2成人免费人成在线观看播放 | 久久色中文字幕| 日韩主播视频在线| 欧美四级电影在线观看| 最新不卡av在线| 成人精品一区二区三区四区| 久久综合九色综合97婷婷| 欧美aaaaaa午夜精品| 欧美日韩国产乱码电影| 亚洲一区二区精品久久av| 日本韩国精品一区二区在线观看| 欧美激情在线一区二区三区| 国内欧美视频一区二区| 日韩欧美高清在线| 国内久久婷婷综合| 国产欧美1区2区3区| 国产精品夜夜嗨| 欧美国产成人在线| 成人午夜在线免费| 综合在线观看色| 欧美性极品少妇| 日日噜噜夜夜狠狠视频欧美人| 欧美日韩小视频| 麻豆91在线观看| 精品国产亚洲在线| 成人动漫在线一区| 亚洲欧美电影一区二区| 欧美亚洲一区二区在线| 亚洲bt欧美bt精品| 日韩区在线观看| 国产福利精品一区| 亚洲欧洲美洲综合色网| 在线观看视频欧美| 日韩国产精品大片| 久久久影视传媒| 99麻豆久久久国产精品免费| 一区二区激情视频| 欧美一卡二卡在线| 国产大陆亚洲精品国产| 亚洲欧美日韩一区二区三区在线观看 | 狠狠狠色丁香婷婷综合久久五月| 久久午夜电影网| 91视频在线观看免费| 亚洲成人动漫在线免费观看| 欧美成人vps| 成人综合婷婷国产精品久久免费| 亚洲激情自拍视频| 精品乱人伦一区二区三区| 国产成人久久精品77777最新版本| 亚洲欧美另类综合偷拍| 91精品国产色综合久久ai换脸| 国产精品一级在线| 一区二区高清免费观看影视大全 | 亚洲高清视频的网址| 精品少妇一区二区三区日产乱码 | 美女mm1313爽爽久久久蜜臀| 日本一区二区久久| 欧美人牲a欧美精品| 国产 欧美在线| 亚洲成av人片一区二区梦乃| 久久久久国产成人精品亚洲午夜| 色欧美88888久久久久久影院| 九色综合狠狠综合久久| 一区二区三区在线观看欧美| 精品处破学生在线二十三| 日本二三区不卡| 国产成人精品午夜视频免费| 午夜精品久久久久久久久久久| 国产欧美日韩综合| 日韩欧美电影一区| 在线观看一区不卡| k8久久久一区二区三区| 国产一区二区三区四区五区美女 | 成人av在线影院| 久久av中文字幕片| 婷婷开心激情综合| 亚洲日穴在线视频| 国产精品污网站| 精品国产乱码久久久久久1区2区| 欧美日韩国产精品成人| 93久久精品日日躁夜夜躁欧美| 激情欧美日韩一区二区| 日韩成人精品在线观看| 亚洲曰韩产成在线| 亚洲男人天堂av网| 中文字幕制服丝袜一区二区三区 | 91麻豆精品国产综合久久久久久| 99精品视频在线免费观看| 成人在线视频一区| 国产精品资源网| 国产美女娇喘av呻吟久久| 久久成人18免费观看| 美女诱惑一区二区| 轻轻草成人在线| 另类小说图片综合网| 美女网站一区二区| 久久99精品久久只有精品| 老司机免费视频一区二区三区| 日韩国产精品久久久久久亚洲| 亚洲国产aⅴ成人精品无吗| 亚洲一区二区三区三| 午夜免费欧美电影| 青娱乐精品在线视频| 久久精品噜噜噜成人av农村| 美国av一区二区| 国产一区二区三区久久久 | 亚洲成av人**亚洲成av**| 亚洲综合激情另类小说区| 亚洲最大的成人av| 亚洲18色成人| 蜜桃一区二区三区在线| 国产乱子轮精品视频| 国产美女视频91| www.av精品| 欧美嫩在线观看| 精品噜噜噜噜久久久久久久久试看| 欧美精品一区二区三区久久久| 国产欧美日韩激情| 一区二区在线观看视频| 热久久免费视频| 国产精品一区二区视频| 色综合久久综合网97色综合 | 成人性生交大片免费看在线播放 | 欧美日韩亚洲综合一区| 欧美一级黄色片| 国产精品视频在线看| 一卡二卡三卡日韩欧美| 日韩—二三区免费观看av| 国产麻豆午夜三级精品| 在线亚洲高清视频| 日韩欧美国产系列| 中文字幕中文字幕一区| 亚洲国产中文字幕在线视频综合| 麻豆国产欧美日韩综合精品二区 | 免费高清视频精品| 丁香婷婷综合五月| 欧美三级日韩在线| 久久先锋影音av| 午夜精品久久久| 成人美女视频在线观看18| 欧美日韩国产小视频| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲特黄一级片| 国精产品一区一区三区mba视频| 色综合久久六月婷婷中文字幕| 日韩欧美高清dvd碟片| 一区二区三区在线不卡| 国产精品综合久久| 宅男噜噜噜66一区二区66| 中文字幕在线不卡一区| 久久成人久久鬼色| 欧美无砖砖区免费| 国产精品视频在线看| 精品在线亚洲视频| 欧美国产成人在线| 婷婷综合另类小说色区| 91论坛在线播放| 国产视频一区二区在线观看| 亚洲电影一区二区三区| 成人性生交大片免费看中文网站| 欧美一区二区三区公司| 一区二区三区91| 99re成人在线| 日本一区二区成人| 精品一区二区三区久久久| 91精品综合久久久久久| 亚洲一线二线三线视频| 色欲综合视频天天天| 中文字幕 久热精品 视频在线| 久久国产视频网| 欧美刺激脚交jootjob| 日韩不卡一区二区三区 | 91社区在线播放| 国产女主播视频一区二区| 激情五月婷婷综合网| 欧美一级理论性理论a| 日韩在线一区二区| 777午夜精品视频在线播放| 亚洲妇熟xx妇色黄| 欧美日韩国产一二三| 日韩精品亚洲一区| 69堂国产成人免费视频| 日本免费在线视频不卡一不卡二|