1 ------------------------------------------------------------------------------- 2 -- File : SspEncoder12b14b.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 SspEncoder12b14b;
54 signal readyOutInt : sl;
55 signal framedData : slv(11 downto 0) := (others => '0');
56 signal framedDataK : slv(0 downto 0) := (others => '0');
107 end architecture rtl;
out dataOutslv( 13 downto 0)
FLOW_CTRL_EN_Gboolean := false
out dataOutslv( 13 downto 0)
in rstsl := RST_POLARITY_G
in dataInslv( WORD_SIZE_G- 1 downto 0)
AUTO_FRAME_Gboolean := true
out dataKOutslv( K_SIZE_G- 1 downto 0)
FLOW_CTRL_EN_Gboolean := false
out dataOutslv( WORD_SIZE_G- 1 downto 0)
FLOW_CTRL_EN_Gboolean := false
in rstsl := RST_POLARITY_G
RST_ASYNC_Gboolean := true
AUTO_FRAME_Gboolean := true
RST_ASYNC_Gboolean := true
slv( 11 downto 0) := "000011111000" K_120_1_C
slv( 11 downto 0) := "010111111000" K_120_11_C
in dataInslv( 11 downto 0)
RST_ASYNC_Gboolean := false
in dataInslv( 11 downto 0)
slv( 11 downto 0) := "000001111000" K_120_0_C
in rstsl :=not RST_POLARITY_G