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