⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timeout.vhd

📁 Source code for an Numeric Cmputer
💻 VHD
字号:
----------------------------------------------------------------------------------- Copyright (C) 2005 Peter C. Wallace <pcw AT mesanet DOT com>---- $RCSfile: timeout.vhd,v $-- $Author: petev $-- $Locker:  $-- $Revision: 1.2 $-- $State: Exp $-- $Date: 2005/11/20 02:36:49 $------------------------------------------------------------------------------------- This program is free software; you can redistribute it and/or-- modify it under the terms of version 2.1 of the GNU General-- Public License as published by the Free Software Foundation.-- This library is distributed in the hope that it will be useful,-- but WITHOUT ANY WARRANTY; without even the implied warranty of-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the-- GNU General Public License for more details.---- You should have received a copy of the GNU General Public-- License along with this library; if not, write to the Free Software-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111 USA---- THE AUTHORS OF THIS LIBRARY ACCEPT ABSOLUTELY NO LIABILITY FOR-- ANY HARM OR LOSS RESULTING FROM ITS USE.  IT IS _EXTREMELY_ UNWISE-- TO RELY ON SOFTWARE ALONE FOR SAFETY.  Any machinery capable of-- harming persons must have provisions for completely removing power-- from all motors, etc, before persons enter any danger area.  All-- machinery must be designed to comply with local and national safety-- codes, and the authors of this software can not, and do not, take-- any responsibility for such compliance.---- This code was written as part of the EMC HAL project.  For more-- information, go to www.linuxcnc.org.---------------------------------------------------------------------------------library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;--  Uncomment the following lines to use the declarations that are--  provided for instantiating Xilinx primitive components.--library UNISIM;--use UNISIM.VComponents.all;entity timeout is    Port ( clk : in std_logic;           ibus : in std_logic_vector(15 downto 0);           obus : out std_logic_vector(15 downto 0);           timeoutload : in std_logic;           timeoutread : in std_logic;           timerread : in std_logic;           reload : in std_logic;           timerz : out std_logic);end timeout;architecture Behavioral of timeout issignal timer: std_logic_vector (15 downto 0);signal timerlatch: std_logic_vector (15 downto 0);signal prescale: std_logic_vector (5 downto 0);begin	atimeout: process (clk,timer,timerlatch)	begin		if clk'event and clk = '1' then						prescale <= prescale +1;			if prescale = 32 then				prescale <= "000000";			end if;						if prescale = 0 then				if timer /= 0 then 					timer <= timer -1;				end if;			end if;			if timeoutload = '1' then				timerlatch <= ibus;				timer <= ibus;			end if;			if reload = '1' then				timer <= timerlatch;			end if;		end if; -- clk		if timerread = '0' and timeoutread = '1' then			obus <= timerlatch;		elsif timerread = '1' and timeoutread = '0' then			obus <= timer;		else			obus <= "ZZZZZZZZZZZZZZZZ";		end if;		if timer = 0 then			timerz <= '1';		else			timerz <= '0';		end if;	end process;end Behavioral;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -