Entity: SaciMaster
- File: SaciMaster.vhd
Diagram
Description
Title : SACI Protocol: https://confluence.slac.stanford.edu/x/YYcRDQ
Company : SLAC National Accelerator Laboratory
Description: Saci Master Module
This file is part of 'SLAC Firmware Standard Library'. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of 'SLAC Firmware Standard Library', including this file, may be copied, modified, propagated, or distributed except according to
the terms contained in the LICENSE.txt file.
Generics
Generic name | Type | Value | Description |
---|---|---|---|
TPD_G | time | 1 ns | |
SYNCHRONIZE_CONTROL_G | boolean | true |
Ports
Port name | Direction | Type | Description |
---|---|---|---|
clk | in | sl | Main clock |
rst | in | sl | |
saciClk | out | sl | Serial interface |
saciSelL | out | slv(SACI_NUM_SLAVES_C-1 downto 0) | |
saciCmd | out | sl | |
saciRsp | in | sl | |
saciMasterIn | in | SaciMasterInType | Parallel interface |
saciMasterOut | out | SaciMasterOutType |
Signals
Name | Type | Description |
---|---|---|
r | RegType | |
rin | RegType | |
saciRspFall | sl |
Constants
Name | Type | Value | Description |
---|---|---|---|
SYNCHRONIZER_INIT_0_C | SynchronizerType | (tmp => '0', sync => '0', last => '0') |
|
SYNCHRONIZER_INIT_1_C | SynchronizerType | (tmp => '1', sync => '1', last => '1') |
Types
Name | Type | Description |
---|---|---|
SynchronizerType | ||
SynchronizerArray | array (natural range <>) of SynchronizerType | |
StateType | (IDLE_S, CHIP_SELECT_S, TX_S, RX_START_S, RX_HEADER_S, RX_DATA_S, ACK_S) |
|
RegType |
Functions
- synchronize ( input : in sl;
current : in SynchronizerType;
nextOut : out SynchronizerType) return ()
- synchronize ( var : inout SynchronizerType;
input : in sl) return ()
Description
Simplified. Can be used when v := r has already been called.
- synchronize ( input : in slv;
current : in SynchronizerArray;
nextOut : out SynchronizerArray) return ()
- synchronize ( var : inout SynchronizerArray;
input : in slv) return ()
Description
Simplified. Can be used when v := r has already been called.
- shiftInLeft ( i : in sl;
r : in slv;
v : out slv) return ()
Processes
- fall: ( clk, rst )
Description
------------------------------------------------------------------------------------------------ Capture serial input on falling edge of clock ------------------------------------------------------------------------------------------------
- seq: ( clk, rst )
- comb: ( r, saciRspFall, saciMasterIn )