Entity: Si5324
- File: Si5324.vhd
Diagram
Description
Company : SLAC National Accelerator Laboratory
Datasheet: https://www.silabs.com/documents/public/data-sheets/Si5324.pdf
Manual: https://www.silabs.com/documents/public/reference-manuals/si53xx-reference-manual.pdf
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 | |
MEMORY_INIT_FILE_G | string | "none" | Used to initialization boot ROM |
CLK_PERIOD_G | real | (1.0/156.25E+6) | |
SPI_SCLK_PERIOD_G | real | (1.0/5.0E+6) |
Ports
Port name | Direction | Type | Description |
---|---|---|---|
axilClk | in | sl | Clock and Reset |
axilRst | in | sl | |
axilReadMaster | in | AxiLiteReadMasterType | AXI-Lite Interface |
axilReadSlave | out | AxiLiteReadSlaveType | |
axilWriteMaster | in | AxiLiteWriteMasterType | |
axilWriteSlave | out | AxiLiteWriteSlaveType | |
booting | out | sl | Status Interface |
rstL | out | sl | Chip Interface |
rate | out | slv(1 downto 0) | Reference Clock Rate = MM (109 to 125.5 MHz XTAL) |
cmode | out | sl | SPI control mode (CMODE = 1) |
csL | out | sl | Chip Select |
sclk | out | sl | Serial Clock |
mosi | out | sl | Serial Data In |
miso | in | sl |
Signals
Name | Type | Description |
---|---|---|
r | RegType | |
rin | RegType | |
freeRunClk | sl | |
rdEn | sl | |
rdData | slv(15 downto 0) | |
ramData | slv(15 downto 0) |
Constants
Name | Type | Value | Description |
---|---|---|---|
BOOT_ROM_C | boolean | (MEMORY_INIT_FILE_G /= "none") | |
DLY_C | natural | 8*integer(SPI_SCLK_PERIOD_G/CLK_PERIOD_G) | >= 4 SCLK delay between SPI cycles |
REG_INIT_C | RegType | ( axilRd => '0', wrEn => '0', wrData => (others => '0'), data => (others => '0'), addr => (others => '0'), timer => 0, cnt => 0, wrArray => (others => (others => '0')), axilWriteSlave => AXI_LITE_WRITE_SLAVE_INIT_C, axilReadSlave => AXI_LITE_READ_SLAVE_INIT_C, ramAddr => (others => '0'), booting => ite(BOOT_ROM_C, '1', '0'), state => BOOT_ROM_S) |
Types
Name | Type | Description |
---|---|---|
StateType | ( BOOT_ROM_S, IDLE_S, INIT_S, REQ_S, ACK_S, DONE_S) |
|
RegType |
Processes
- comb: ( axilReadMaster, axilRst, axilWriteMaster, r, ramData,
rdData, rdEn )
- seq: ( axilClk )
Instantiations
- U_SpiMaster: surf.SpiMaster