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

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

?? gh_timer_8254_wb.vhd

?? VHDL Source code for 8254 timer/counter
?? VHD
字號:
-----------------------------------------------------------------------------
--	Filename:	gh_timer_8254_wb.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/02/08  	H LeFevre	Initial revision
--	1.01    	08/16/08  	H LeFevre	add _wb to file name
--
-----------------------------------------------------------------------------
library ieee ;
use ieee.std_logic_1164.all ;

entity gh_timer_8254_wb 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(	  
	-------- wishbone signals ------------
		wb_clk_i  : in std_logic;
		wb_rst_i  : in std_logic;
		wb_stb_i  : in std_logic;
		wb_cyc_i  : in std_logic;
		wb_we_i   : in std_logic;
		wb_adr_i  : in std_logic_vector(1 downto 0);
		wb_dat_i  : in std_logic_vector(7 downto 0);
		
		wb_ack_o  : out std_logic;
		wb_dat_o  : 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_wb 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 rdCS     : std_logic;
	signal iiCS0    : std_logic;
	signal iiCS1    : std_logic;
	signal iiCS2    : std_logic;
	signal dwr      : 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); 
	
begin

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

u1 : gh_register_ce 
	generic map (8)
	port map(
		clk => wb_clk_i,
		rst => wb_rst_i,
		ce => rdCS,
		D => iRD,
		Q => wb_dat_o
		);

	rdCS <= iCS or rd_busy;
	
 --------------------------------------------------

U2 : gh_edge_det 
	PORT MAP (
		clk => wb_clk_i,
		rst => wb_rst_i,
		d => CS,
		re => iCS,
		sre => iiCS);
		
	CS <= '1' when ((wb_stb_i = '1') and (wb_cyc_i = '1')) else
	      '0';

process (wb_clk_i,wb_rst_i)
begin
	if (wb_rst_i = '1') then
		wb_ack_o <= '0';
		dwr <= '0';
		rd_busy <= '0';
	elsif (rising_edge(wb_clk_i)) then
		dwr <= wb_we_i;
		if 	((wb_we_i = '0') and (wb_adr_i = "00") and (rd_busy0 = '1')) then
			wb_ack_o <= '0';
			rd_busy <= '1';
		elsif ((wb_we_i = '0') and (wb_adr_i = "01") and (rd_busy1 = '1')) then
			wb_ack_o <= '0';
			rd_busy <= '1';
		elsif ((wb_we_i = '0') and (wb_adr_i = "10") and (rd_busy2 = '1')) then
			wb_ack_o <= '0';
			rd_busy <= '1';
		else
			wb_ack_o <= CS;
			rd_busy <= '0';
		end if;
	end if;
end process;
		  
--------------------------------------------------------------

u3 : gh_register_ce 
	generic map (8)
	port map(
		clk => wb_clk_i,
		rst => wb_rst_i,
		ce => iCS,
		D => wb_dat_i,
		Q => iD
		);
		
u4 : gh_register_ce 
	generic map (2)
	port map(
		clk => wb_clk_i,
		rst => wb_rst_i,
		ce => iCS,
		D => wb_adr_i,
		Q => iA
		);
 
----------------------------------------------------

	iRD <= rDO0 when (wb_adr_i = "00") else
		   rDO1 when (wb_adr_i = "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   => wb_clk_i,
		clk     => clk0,
		rst     => wb_rst_i,
		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   => wb_clk_i,
		clk     => clk1,
		rst     => wb_rst_i,
		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   => wb_clk_i,
		clk     => clk2,
		rst     => wb_rst_i,
		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一区二区三区免费野_久草精品视频
日韩一区二区三| 久久99国产精品免费| 99久久夜色精品国产网站| 久久久99免费| 国产91精品久久久久久久网曝门 | 精品国产一区二区三区av性色| 亚洲一区二区美女| 欧美日韩一区成人| 日韩av中文字幕一区二区三区| 91精品国产色综合久久ai换脸 | 色婷婷av一区二区三区软件| 亚洲综合一区二区三区| 在线观看亚洲a| 天堂资源在线中文精品| 日韩美女主播在线视频一区二区三区 | 国产成人综合视频| 亚洲欧洲日韩av| 欧美日韩一区在线观看| 免费精品视频在线| 欧美国产成人在线| 日本乱人伦一区| 日韩在线一二三区| 国产欧美精品国产国产专区 | 久草这里只有精品视频| 中文字幕第一页久久| 欧洲色大大久久| 精品一区二区免费看| 国产视频911| 欧美性猛交一区二区三区精品| 免费人成网站在线观看欧美高清| 久久看人人爽人人| 欧美在线一区二区三区| 激情五月婷婷综合网| 亚洲视频免费看| 欧美一区三区四区| www.亚洲色图| 久久99精品久久久| 成人欧美一区二区三区在线播放| 777奇米成人网| av一二三不卡影片| 99综合电影在线视频| 亚洲国产精品久久久久婷婷884 | 国产夜色精品一区二区av| 91蜜桃免费观看视频| 久久国产生活片100| 亚洲蜜臀av乱码久久精品| 欧美xxxxx裸体时装秀| 91成人网在线| 福利一区福利二区| 久久电影网站中文字幕| 亚洲第四色夜色| 亚洲欧洲性图库| 久久久无码精品亚洲日韩按摩| 欧美三级电影精品| 97se狠狠狠综合亚洲狠狠| 国产一区二区在线看| 亚洲mv在线观看| 亚洲精品一二三| 国产精品国产馆在线真实露脸| 精品欧美乱码久久久久久| 欧美日韩二区三区| 在线亚洲高清视频| 99久久精品国产毛片| 国产高清久久久久| 精品一区二区三区影院在线午夜| 亚洲电影视频在线| 一区二区三区精品在线| 日韩一区在线免费观看| 中文字幕亚洲综合久久菠萝蜜| 久久精品一区二区三区不卡 | 精品一区二区三区不卡 | 午夜天堂影视香蕉久久| 亚洲嫩草精品久久| 亚洲欧洲av另类| 亚洲欧洲日韩综合一区二区| 国产精品久久久久久久久搜平片 | 欧美日韩国产大片| 欧美日韩视频在线一区二区| 日本韩国一区二区三区| 日本高清不卡视频| 日本精品一区二区三区四区的功能| 99久久er热在这里只有精品15| 成人av资源网站| av在线综合网| 91玉足脚交白嫩脚丫在线播放| 不卡电影一区二区三区| 99久久99久久久精品齐齐| 99久久婷婷国产综合精品电影| 97se亚洲国产综合自在线| 色老头久久综合| 欧美日韩国产中文| 欧美一区永久视频免费观看| 日韩视频中午一区| 亚洲一区在线观看免费| 亚洲伦理在线免费看| 亚洲国产日韩a在线播放| 午夜久久久久久久久| 日韩—二三区免费观看av| 蜜臀av一级做a爰片久久| 精品一区二区在线看| 成人免费毛片aaaaa**| 97久久超碰精品国产| 在线亚洲一区观看| 91精品国产美女浴室洗澡无遮挡| 欧美成人性福生活免费看| 国产偷国产偷精品高清尤物| 国产精品久久777777| 亚洲午夜精品久久久久久久久| 日韩不卡一区二区| 夫妻av一区二区| 在线观看日韩高清av| 精品久久久久久亚洲综合网| 国产精品久线在线观看| 午夜视频久久久久久| 国产美女在线精品| 欧美在线综合视频| 久久婷婷综合激情| 亚洲另类在线视频| 另类小说一区二区三区| av不卡一区二区三区| 欧美日韩在线播放一区| 欧美极品另类videosde| 亚洲一区中文在线| 国产呦萝稀缺另类资源| 在线一区二区三区四区五区 | 经典三级在线一区| 91在线国产观看| 日韩精品一区二区三区在线观看| 亚洲天堂av老司机| 久久精品国产亚洲一区二区三区| 91女厕偷拍女厕偷拍高清| 日韩精品一区二区三区三区免费 | 久久久久久久精| 亚洲一区二区成人在线观看| 国产一区二区三区免费在线观看| 欧美中文字幕不卡| 国产精品久久久久久一区二区三区 | 亚洲精品国产成人久久av盗摄 | 福利电影一区二区三区| 69堂精品视频| 亚洲精品成人少妇| 丁香婷婷综合激情五月色| 欧美一区二区三区小说| 亚洲美女屁股眼交| 国产成人免费xxxxxxxx| 日韩一区二区三区电影在线观看 | 亚洲国产精品久久久久秋霞影院| 国产成人免费在线观看不卡| 日韩一区二区三| 日韩综合小视频| 久久综合九色欧美综合狠狠| 亚洲精品视频在线观看网站| 成人在线视频一区| 精品少妇一区二区三区在线播放| 亚洲成人动漫一区| 91成人在线观看喷潮| 日韩伦理免费电影| 9人人澡人人爽人人精品| 久久久久久久久久久久电影| 日本中文一区二区三区| 欧美性videosxxxxx| 亚洲美女免费视频| 91在线观看一区二区| 国产精品久久久久婷婷二区次| 风间由美一区二区三区在线观看| 26uuu亚洲婷婷狠狠天堂| 久久精品国产精品亚洲红杏| 91精品久久久久久久91蜜桃| 午夜欧美视频在线观看| 欧美日韩视频专区在线播放| 亚洲v中文字幕| 欧美喷潮久久久xxxxx| 亚洲不卡av一区二区三区| 欧美午夜影院一区| 亚洲不卡在线观看| 91麻豆精品国产91久久久更新时间| 午夜激情一区二区| 日韩一区二区免费在线电影| 免费在线观看一区| 日韩欧美亚洲国产另类| 韩国三级中文字幕hd久久精品| 亚洲精品一线二线三线| 精品一区二区影视| 国产女主播在线一区二区| av午夜精品一区二区三区| 椎名由奈av一区二区三区| 色94色欧美sute亚洲线路二| 亚洲国产视频在线| 欧美zozozo| 成人免费高清视频| 一区二区三区电影在线播| 欧美精品一卡二卡| 国产伦精品一区二区三区视频青涩 | 亚洲一区二区av电影| 欧美肥胖老妇做爰| 国产精品中文字幕日韩精品| 国产精品成人一区二区艾草 | 91精品国产综合久久久久久漫画| 蜜桃视频一区二区| 欧美激情一区二区三区全黄 |