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

📄 reg_comp.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 Sun Oct 24 17:46:05 2004

-- 6 register will store 6 numbers;
-- each register will compare the storeage with the number being selected when
-- it is in the state of compare, and feedback a result of comparation;
-- this is only one register;

LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY reg_comp IS
	PORT
	(
	   signal din10,din1: in std_logic_vector (3 downto 0);
	   signal read_comp,clk,RE,reset:  in std_logic;
	   signal result:     out std_logic;
	   signal dout10: out std_logic_vector (3 downto 0);
       signal dout1: out std_logic_vector (3 downto 0)
	);
END reg_comp;

ARCHITECTURE reg_comp_architecture OF reg_comp IS
signal temp_din10,temp_din1: std_logic_vector ( 3 downto 0);
BEGIN
process(clk,RE,din10,din1,read_comp,reset)
begin
    if reset='1' then
      if (clk'event and clk='1') then
           if read_comp='1' then   -- state of read a number
              if (RE='0') then
                 temp_din10<=din10;
                 temp_din1<=din1;
                 dout10<=din10;
                 dout1<=din1;
              end if;
           end if;
           if read_comp='0' then  -- state of comparation
             if (din1=temp_din1 and din10=temp_din10) then
                   result<='1'; -- result is 1 when the number being selected
                                -- is the same as it be stored in this register;
             else 
                   result<='0';
             end if;
           end if;
      end if;
    elsif reset='0' then -- set to initial
          dout1<="0000";
          dout10<="0000";
          result<='0';
          temp_din10<="0000";
          temp_din1<="0000";
   end if;          
end process;
END reg_comp_architecture;

⌨️ 快捷键说明

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