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

📄 counter.vhd

📁 4X4 KEYPAD 的输入位数计数器
💻 VHD
字号:
-- WARNING: Do NOT edit the input and output ports in this file in a text
-- editor if you plan to continue editing the block that represents it in
-- the Block Editor! File corruption is VERY likely to occur.

-- Copyright (C) 1991-2004 Altera Corporation
-- Any  megafunction  design,  and related netlist (encrypted  or  decrypted),
-- support information,  device programming or simulation file,  and any other
-- associated  documentation or information  provided by  Altera  or a partner
-- under  Altera's   Megafunction   Partnership   Program  may  be  used  only
-- to program  PLD  devices (but not masked  PLD  devices) from  Altera.   Any
-- other  use  of such  megafunction  design,  netlist,  support  information,
-- device programming or simulation file,  or any other  related documentation
-- or information  is prohibited  for  any  other purpose,  including, but not
-- limited to  modification,  reverse engineering,  de-compiling, or use  with
-- any other  silicon devices,  unless such use is  explicitly  licensed under
-- a separate agreement with  Altera  or a megafunction partner.  Title to the
-- intellectual property,  including patents,  copyrights,  trademarks,  trade
-- secrets,  or maskworks,  embodied in any such megafunction design, netlist,
-- support  information,  device programming or simulation file,  or any other
-- related documentation or information provided by  Altera  or a megafunction
-- partner, remains with Altera, the megafunction partner, or their respective
-- licensors. No other licenses, including any licenses needed under any third
-- party's intellectual property, are provided herein.


-- Generated by Quartus II Version 4.1 (Build Build 208 09/10/2004)
-- Created on Sat Oct 23 04:55:36 2004

-- counter will count a decimal number from 1 to 77;
-- it output two digits of the number from 0 to 9 ;

LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY counter IS
	PORT
	(
	 signal clk: in std_logic;
	 signal counter_clear: in std_logic;
	 signal dout1: out integer range 0 to 9; -- low digit
	 signal dout10: out integer range 0 to 9 -- high digit
	);
END counter;

ARCHITECTURE counter_architecture OF counter IS
begin
  process(clk)
      variable mod1: integer range 0 to 9;
      variable mod10: integer range 0 to 9;
  begin
  if (clk'event and clk='1') then
     if counter_clear='1' then -- count when counter_clear is high
          if mod1=9 then
               mod1:=0;
               mod10:=mod10+1;
          elsif (mod10=7 and mod1=7) then
                        mod1:=1;
                        mod10:=0;  -- count 01 after 77;
          else
                        mod1:=mod1+1;
          end if;
      elsif counter_clear='0' then -- reset when counter_clear is low
          mod1:=1;
          mod10:=0;
      end if;
   end if;
   dout1 <= mod1;
   dout10 <= mod10;
end process;
END counter_architecture;

⌨️ 快捷键说明

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