目次CPLD入門8ビット ラッチレジスタ


8ビット ラッチレジスタ
ソースコード/解説



001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
--******************************************************************************
--*                                                                            *
--*                           8 bits Latch Register                            *
--*                                                     Device : XC9536-PC44   *
--*                                                     Author : Seiichi Inoue *
--******************************************************************************

library ieee;                                    -- Defines std_logic types
use ieee.std_logic_1164.all;

entity Latch1 is
  port ( DIN : in std_logic_vector(7 downto 0);  -- Defines ports
         CLK : in std_logic;
         Q : out std_logic_vector(7 downto 0));
end Latch1;

architecture Latch1_arch of Latch1 is
begin
  process( CLK ) begin
    if CLK='1' and CLK'event then                -- Clock rising edge ?
      Q <= DIN;                                  -- Latch data
    end if;
  end process;
end Latch1_arch;

--******************************************************************************
--*                        end of 8 bits Latch Register                        *
--******************************************************************************

解説
行番号コメント
009std_logicライブラリを指定します。
012
-014
入力/出力のピンを指定します。
020CLK信号の立ち上がり判定をしています。
021CLKの立ち上がりの場合、入力データ(DIN)をレジスタ(Q)に記憶し、出力します。