OpenCores
URL https://opencores.org/ocsvn/spi_slave/spi_slave/trunk

Subversion Repositories spi_slave

[/] [spi_slave/] [trunk/] [pcore/] [opb_spi_slave_v1_00_a/] [hdl/] [vhdl/] [opb_spi_slave_pack.vhd] - Blame information for rev 35

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dkoethe
library ieee;
2
use ieee.std_logic_1164.all;
3
use IEEE.STD_LOGIC_ARITH.all;
4
use IEEE.STD_LOGIC_UNSIGNED.all;
5
use IEEE.numeric_std.all;               -- conv_integer()
6
 
7
package opb_spi_slave_pack is
8
 
9
  constant C_ADR_CTL         : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#0#, 6);
10
  constant C_ADR_STATUS      : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#1#, 6);
11
  constant C_ADR_TX_DATA     : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#2#, 6);
12
  constant C_ADR_RX_DATA     : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#3#, 6);
13
  constant C_ADR_TX_THRESH   : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#4#, 6);
14
  constant C_ADR_RX_THRESH   : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#5#, 6);
15
  constant C_ADR_TX_DMA_CTL  : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#6#, 6);
16
  constant C_ADR_TX_DMA_ADDR : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#7#, 6);
17
  constant C_ADR_TX_DMA_NUM  : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#8#, 6);
18
  constant C_ADR_RX_DMA_CTL  : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#9#, 6);
19
  constant C_ADR_RX_DMA_ADDR : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#A#, 6);
20
  constant C_ADR_RX_DMA_NUM  : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#B#, 6);
21 21 dkoethe
  constant C_ADR_RX_CRC      : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#C#, 6);
22
  constant C_ADR_TX_CRC      : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#D#, 6);
23 2 dkoethe
 
24
-- XIIF_V123B compatible
25
  constant C_ADR_DGIE : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#10#, 6);
26
  constant C_ADR_ISR  : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#11#, 6);
27
  constant C_ADR_IER  : std_logic_vector(7 downto 2) := conv_std_logic_vector(16#12#, 6);
28
 
29 21 dkoethe
  constant C_NUM_FLG       : integer := 16;
30
  constant C_NUM_INT       : integer := 11;
31 10 dkoethe
  constant C_WIDTH_DMA_NUM : integer := 24;
32 2 dkoethe
 
33
 
34
-- CTL_Register
35
  -- width
36 21 dkoethe
  constant C_OPB_CTL_REG_WIDTH   : integer := 6;
37 2 dkoethe
  -- bits
38 21 dkoethe
  constant C_OPB_CTL_REG_DGE     : integer := 0;
39
  constant C_OPB_CTL_REG_TX_EN   : integer := 1;
40
  constant C_OPB_CTL_REG_RX_EN   : integer := 2;
41
  constant C_OPB_CTL_REG_RST     : integer := 3;
42
  constant C_OPB_CTL_REG_CRC_EN  : integer := 4;
43
  constant C_OPB_CTL_REG_CRC_CLR : integer := 5;
44 2 dkoethe
 
45
  -- Status Register
46
  constant SPI_SR_Bit_TX_Prog_Full  : integer := 0;
47
  constant SPI_SR_Bit_TX_Full       : integer := 1;
48
  constant SPI_SR_Bit_TX_Overflow   : integer := 2;
49
  constant SPI_SR_Bit_TX_Prog_empty : integer := 3;
50
  constant SPI_SR_Bit_TX_Empty      : integer := 4;
51
  constant SPI_SR_Bit_TX_Underflow  : integer := 5;
52
 
53
  constant SPI_SR_Bit_RX_Prog_Full  : integer := 6;
54
  constant SPI_SR_Bit_RX_Full       : integer := 7;
55
  constant SPI_SR_Bit_RX_Overflow   : integer := 8;
56
  constant SPI_SR_Bit_RX_Prog_empty : integer := 9;
57
  constant SPI_SR_Bit_RX_Empty      : integer := 10;
58
  constant SPI_SR_Bit_RX_Underflow  : integer := 11;
59
 
60
  constant SPI_SR_Bit_SS_n : integer := 12;
61 21 dkoethe
  constant SPI_SR_Bit_TX_DMA_Done : integer := 13;
62
  constant SPI_SR_Bit_RX_DMA_Done : integer := 14;
63
 
64 2 dkoethe
  -- Interrupt Status Register
65
  constant SPI_ISR_Bit_TX_Prog_Empty : integer := 0;
66
  constant SPI_ISR_Bit_TX_Empty      : integer := 1;
67
  constant SPI_ISR_Bit_TX_Underflow  : integer := 2;
68
  constant SPI_ISR_Bit_RX_Prog_Full  : integer := 3;
69
  constant SPI_ISR_Bit_RX_Full       : integer := 4;
70
  constant SPI_ISR_Bit_RX_Overflow   : integer := 5;
71
  constant SPI_ISR_Bit_SS_Fall       : integer := 6;
72 21 dkoethe
  constant SPI_ISR_Bit_SS_Rise       : integer := 7;
73 2 dkoethe
end opb_spi_slave_pack;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.