Advertisement
Guest User

Lab #2 - Top.vhd (Dean Nguyen)

a guest
Sep 19th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 1.92 KB | None | 0 0
  1. --Lab #2: Top (Dean Nguyen)--
  2.  
  3. --Libraries--
  4. LIBRARY IEEE;
  5. USE IEEE.STD_LOGIC_1164.ALL;
  6. USE IEEE.STD_LOGIC_UNSIGNED.ALL;
  7. USE IEEE.NUMERIC_STD.ALL;
  8.  
  9. --Entity--
  10. ENTITY Top IS
  11.     GENERIC (   SIZE                : INTEGER   := 8); --Generic with default value
  12.     PORT        (   CLK, RESET_N    : IN STD_LOGIC; --Clock, reset, load, serial_in from XOR
  13.                     INPUT               : IN STD_LOGIC_VECTOR((SIZE - 1) DOWNTO 0); --Random seed input
  14.                     OUTPUT          : OUT STD_LOGIC_VECTOR((SIZE - 1) DOWNTO 0)); --Output
  15. END Top;
  16.  
  17. --Architecture--
  18. ARCHITECTURE behavioral OF Top IS
  19.  
  20. --Components--
  21. COMPONENT Shift_Reg
  22.     GENERIC (   SIZE                                    : INTEGER   := 8); --Generic with default value
  23.     PORT        (   CLK, RESET_N, LOAD, SERIAL_IN   : IN STD_LOGIC; --Clock, reset, load, serial_in from XOR
  24.                     SEED                                    : IN STD_LOGIC_VECTOR((SIZE - 1) DOWNTO 0); --Random seed input
  25.                     PARALLEL_OUT                        : OUT STD_LOGIC_VECTOR((SIZE - 1) DOWNTO 0)); --Output
  26. END COMPONENT;
  27.  
  28. COMPONENT XOR_Gate
  29.     GENERIC (   SIZE        : INTEGER   := 8); --Generic with default value
  30.     PORT        (   INPUT       : IN STD_LOGIC_VECTOR((SIZE - 1) DOWNTO 0); --Input by # of inputs
  31.                     OUTPUT  : OUT STD_LOGIC); --Output
  32. END COMPONENT;
  33.  
  34. --Inputs--
  35. SIGNAL CLK_Top              : STD_LOGIC;
  36. SIGNAL RESET_N_Top      : STD_LOGIC;
  37. SIGNAL LOAD_Top         : STD_LOGIC;
  38. SIGNAL SERIAL_IN_Top        : STD_LOGIC;
  39. SIGNAL SEED_Top         : STD_LOGIC_VECTOR(10 DOWNTO 0);
  40. SIGNAL INPUT_TOP            : STD_LOGIC_VECTOR(1 DOWNTO 0);
  41.  
  42. --Outputs--
  43. SIGNAL PARALLEL_OUT_Top : STD_LOGIC_VECTOR(10 DOWNTO 0);
  44. SIGNAL OUTPUT_Top           : STD_LOGIC;
  45.  
  46. BEGIN
  47.  
  48.     CLK_Top <= CLK;
  49.     RESET_N_Top <= RESET_N;
  50.     SEED_Top <= INPUT;
  51.     PARALLEL_OUT_Top <= OUTPUT;
  52.    
  53.     uut: Shift_Reg
  54.         GENERIC MAP (
  55.             SIZE => 10)
  56.         PORT MAP (
  57.             CLK => CLK_Top,
  58.             RESET_N => RESET_N_Top,
  59.             LOAD => LOAD_Top,
  60.             SERIAL_IN => SERIAL_IN_Top,
  61.             SEED => SEED_Top,
  62.             PARALLEL_OUT => PARALLEL_OUT_Top);
  63.                
  64.     uut: XOR_Gate
  65.         GENERIC MAP (
  66.             SIZE => 2)
  67.         PORT MAP (
  68.             INPUT => INPUT_Top,
  69.             OUTPUT => OUTPUT_Top);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement