1 -------------------------------------------------------------------------------     2 -- File       : SspDecoder12b14b.vhd     3 -- Company    : SLAC National Accelerator Laboratory     4 -- Created    : 2014-07-14     5 -- Last update: 2017-05-01     6 -------------------------------------------------------------------------------     7 -- Description: SimpleStreamingProtocol - A simple protocol layer for inserting     8 -- idle and framing control characters into a raw data stream. This module     9 -- ties the framing core to an RTL 12b14b encoder.    10 -------------------------------------------------------------------------------    11 -- This file is part of 'SLAC Firmware Standard Library'.    12 -- It is subject to the license terms in the LICENSE.txt file found in the     13 -- top-level directory of this distribution and at:     14 --    https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html.     15 -- No part of 'SLAC Firmware Standard Library', including this file,     16 -- may be copied, modified, propagated, or distributed except according to     17 -- the terms contained in the LICENSE.txt file.    18 -------------------------------------------------------------------------------    21 use ieee.std_logic_1164.
all;
    22 use IEEE.STD_LOGIC_UNSIGNED.
all;
    23 use IEEE.STD_LOGIC_ARITH.
all;
    29  --! @ingroup protocols_ssp    50 end entity SspDecoder12b14b;
    55    signal codeErrorInt : sl;
    56    signal framedData   : slv(11 downto 0);
    57    signal framedDataK  : slv(0 downto 0);
   105 end architecture rtl;
 
out dataOutslv(   WORD_SIZE_G- 1 downto  0)  
 
out dataOutslv( 11 downto  0)  
 
in dataInslv( 13 downto  0)  
 
RST_ASYNC_Gboolean  :=   true
 
RST_ASYNC_Gboolean  :=   false
 
in rstsl  :=not    RST_POLARITY_G
 
in rstsl  :=   RST_POLARITY_G
 
in rstsl  :=   RST_POLARITY_G
 
in dataInslv( 13 downto  0)  
 
slv( 11 downto  0)  :=   "000011111000" K_120_1_C
 
slv( 11 downto  0)  :=   "010111111000" K_120_11_C
 
in dataKInslv(   K_SIZE_G- 1 downto  0)  
 
RST_ASYNC_Gboolean  :=   true
 
slv( 11 downto  0)  :=   "000001111000" K_120_0_C
 
in dataInslv(   WORD_SIZE_G- 1 downto  0)  
 
out dataOutslv( 11 downto  0)