1 ------------------------------------------------------------------------------- 2 -- File : SemWrapper.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2017-02-08 5 -- Last update: 2017-02-08 6 ------------------------------------------------------------------------------- 7 -- Description: Wrapper for 7-series SEM module 8 ------------------------------------------------------------------------------- 9 -- This file is part of 'SLAC Firmware Standard Library'. 10 -- It is subject to the license terms in the LICENSE.txt file found in the 11 -- top-level directory of this distribution and at: 12 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. 13 -- No part of 'SLAC Firmware Standard Library', including this file, 14 -- may be copied, modified, propagated, or distributed except according to 15 -- the terms contained in the LICENSE.txt file. 16 ------------------------------------------------------------------------------- 19 use ieee.std_logic_1164.
all;
20 use ieee.std_logic_unsigned.
all;
21 use ieee.std_logic_arith.
all;
27 use unisim.vcomponents.
all;
30 --! @ingroup xilinx_7Series_sem 44 end entity SemWrapper;
50 status_heartbeat :
out ;
51 status_initialization :
out ;
52 status_observation :
out ;
53 status_correction :
out ;
54 status_classification :
out ;
55 status_injection :
out ;
56 status_essential :
out ;
57 status_uncorrectable :
out ;
58 monitor_txdata :
out (
7 downto 0);
59 monitor_txwrite :
out ;
61 monitor_rxdata :
in (
7 downto 0);
62 monitor_rxread :
out ;
63 monitor_rxempty :
in ;
65 inject_address :
in (
39 downto 0);
66 icap_o :
in (
31 downto 0);
69 icap_i :
out (
31 downto 0);
75 fecc_eccerrsingle :
in ;
76 fecc_syndromevalid :
in ;
77 fecc_syndrome :
in (
12 downto 0);
78 fecc_far :
in (
25 downto 0);
79 fecc_synbit :
in (
4 downto 0);
80 fecc_synword :
in (
6 downto 0));
110 U_FRAME_ECCE2 : FRAME_ECCE2
112 FRAME_RBT_IN_FILENAME =>
"NONE",
126 SIM_CFG_FILE_NAME =>
"NONE",
127 DEVICE_ID => X"FFFFFFFF",
158 status_heartbeat => semOb.heartbeat,
159 status_initialization => semOb.initialization,
160 status_observation => semOb.observation,
161 status_correction => semOb.correction,
162 status_classification => semOb.classification,
163 status_injection => semOb.injection,
164 status_essential => semOb.essential,
165 status_uncorrectable => semOb.uncorrectable,
166 -- Byte Stream Interface 167 monitor_txdata => semOb.txData,
168 monitor_txwrite => semOb.txWrite,
169 monitor_txfull => semIb.txFull,
170 monitor_rxdata => semIb.rxData,
171 monitor_rxread => semOb.rxRead,
172 monitor_rxempty => semIb.rxEmpty,
173 -- Test Injection Interface 174 inject_strobe => semIb.injectStrobe,
175 inject_address => semIb.injectAddress,
182 icap_request =>
open,
184 -- FRAME_ECCE2 Interface
slv( 31 downto 0) iprogIcapI
slv( 12 downto 0) fecc_syndrome
out icapIslv( 31 downto 0)
in reloadAddrslv( 31 downto 0) := X"00000000"
slv( 4 downto 0) fecc_synbit
SYNC_RELOAD_Gboolean := true
in fpgaReloadAddrslv( 31 downto 0) :=( others => '0')
slv( 25 downto 0) fecc_far
slv( 31 downto 0) sem_icap_i
slv( 6 downto 0) fecc_synword