/Designs/HAM Constructions/SDRX02A/HDL/project_src/kakona_package.vhd
0,0 → 1,58
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.numeric_std.all;
 
package kakona_package is
-- information block constants:
-- Size:
constant C_KAK_INFO_BITWIDTH : natural := 32; -- not to be changed
constant C_GUID : std_logic_vector( 4*C_KAK_INFO_BITWIDTH - 1 downto 0 ) := X"D52900BA62BC431DBB38C1D38551887A"; -- 1-lane
constant C_NUM_INPUT_ADC_MODULES : natural := 2; -- for SPI block
constant C_NUM_INPUT_ADC_DATA_PORTS : natural := 4; -- for processing block generate
-- configuration for the SPI transmitter for ADCs:
-- SPI DATA version 1:
constant C_SPI_ADC1_DATA1 : std_logic_vector( 79 downto 0 ) := X"00" & "10000000" & -- software reset
X"01" & "00100000" & -- two's complement enabled
X"02" & "00000010" & -- 3.5mA LVDS driver, test pattern off, 1-lane
X"03" & "10010110" & -- test pattern msb '96'
X"04" & "11110010"; -- test pattern lsb 'F2'
constant C_SPI_ADC2_DATA1 : std_logic_vector( 79 downto 0 ) := X"00" & "10000000" & -- software reset
X"01" & "00100000" & -- two's complement enabled
X"02" & "00000010" & -- 3.5mA LVDS driver, test pattern off, 1-lane
X"03" & "11111111" & -- test pattern msb 'FF'
X"04" & "00000000"; -- test pattern lsb '00'
constant C_SPI_ADC_DATA1 : std_logic_vector( C_SPI_ADC1_DATA1'length + C_SPI_ADC2_DATA1'length - 1 downto 0 ) := C_SPI_ADC1_DATA1 & C_SPI_ADC2_DATA1;
-- SPI DATA version 2:
-- difference: test pattern on.
constant C_SPI_ADC1_DATA2 : std_logic_vector( 79 downto 0 ) := X"00" & "10000000" & -- software reset
X"01" & "00100000" & -- two's complement enabled
X"02" & "00000110" & -- 3.5mA LVDS driver, test pattern on, 1-lane
X"03" & "10010110" & -- test pattern msb '96'
X"04" & "11110010"; -- test pattern lsb 'F2'
constant C_SPI_ADC2_DATA2 : std_logic_vector( 79 downto 0 ) := X"00" & "10000000" & -- software reset
X"01" & "00100000" & -- two's complement enabled
X"02" & "00000110" & -- 3.5mA LVDS driver, test pattern on, 1-lane
X"03" & "11111110" & -- test pattern msb 'FE'
X"04" & "11111111"; -- test pattern lsb 'FF'
constant C_SPI_ADC_DATA2 : std_logic_vector( C_SPI_ADC1_DATA2'length + C_SPI_ADC2_DATA2'length - 1 downto 0 ) := C_SPI_ADC1_DATA2 & C_SPI_ADC2_DATA2;
 
constant C_SPI_ADC_LENGTH : integer := 16;
constant C_SPI_ADC_PACKETS : integer := 5;
constant C_SPI_ADC_PAUSE : integer := 300;
-- definition of swapped P&N wires:
constant C_FRAME_WIRES_SWAPPED_PN : std_logic := '1';
-- definition of swapped P&N wires in data lines. Direction conforms to .ucf file array.
constant C_DATA_WIRES_SWAPPED_PN : std_logic_vector( 0 to 3 ) := "0101";
end package;
 
package body kakona_package is
end package body;