-- Model Name : Concurrent - Shifter -- Author : Armita Peymandoust -- Last Updated : 09 / 15 / 1996 -- This document is © copyrighted by the Author.

LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
--
LIBRARY EXEMPLAR;
USE EXEMPLAR.exemplar_1164.ALL;
--
LIBRARY WORK;
USE WORK.synthesis_utilities.ALL;
USE WORK.synthesis_parameters.ALL;
USE WORK.global_environment.ALL;
USE WORK.PackCon.ALL;
--
ENTITY shifter_unit IS
  PORT (arith_shift_left, arith_shift_right, no_shift : IN std_logic);
END shifter_unit;
--
ARCHITECTURE Concurrent OF shifter_unit IS
BEGIN

  coding: PROCESS (arith_shift_left, arith_shift_right, no_shift)
  BEGIN   
    test;
    IF arith_shift_left'EVENT THEN
      ShiftLeft(alu_out, alu_flags);    
    ELSIF arith_shift_right'EVENT THEN
      ShiftRight(alu_out, alu_flags);
    END IF;
    --              
    test;
    obus := alu_out;
    shu_flags := alu_flags; 
  END PROCESS coding;
END Concurrent;