From 20254acae9d631bd70db6a4c0841696ec809dbcf Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Mon, 30 May 2022 09:13:23 +0200 Subject: [PATCH] Use constants from tech_jesd204b_pkg.vhd. --- .../lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd | 15 +++-- libraries/technology/jesd204b/hdllib.cfg | 1 + .../technology/jesd204b/tech_jesd204b_pkg.vhd | 59 +++++++++++++++++++ 3 files changed, 69 insertions(+), 6 deletions(-) create mode 100644 libraries/technology/jesd204b/tech_jesd204b_pkg.vhd diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd index ed38675826..4a5575370b 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd @@ -27,7 +27,7 @@ -- References: -- . [1] https://support.astron.nl/confluence/display/L2M/L3+SDP+Decision%3A+SDP+Parameter+definitions ------------------------------------------------------------------------------- -LIBRARY IEEE, common_lib, rTwoSDF_lib, fft_lib, filter_lib, wpfb_lib, diag_lib; +LIBRARY IEEE, common_lib, rTwoSDF_lib, fft_lib, filter_lib, wpfb_lib, diag_lib, tech_jesd204b_lib; USE IEEE.std_logic_1164.ALL; USE IEEE.math_real.ALL; USE common_lib.common_pkg.ALL; @@ -39,6 +39,7 @@ USE rTwoSDF_lib.rTwoSDFPkg.ALL; USE fft_lib.fft_pkg.ALL; USE filter_lib.fil_pkg.ALL; USE wpfb_lib.wpfb_pkg.ALL; +USE tech_jesd204b_lib.tech_jesd204b_pkg.ALL; PACKAGE sdp_pkg is ------------------------------------------------- @@ -420,17 +421,19 @@ PACKAGE sdp_pkg is CONSTANT c_sdp_reg_nw_10GbE_mac_addr_w : NATURAL := 13; CONSTANT c_sdp_reg_nw_10GbE_eth10g_addr_w : NATURAL := 1; - -- JESD204 + -- JESD204B CONSTANT c_sdp_jesd204b_freq : STRING := "200MHz"; - CONSTANT c_sdp_jesd204b_mm_jesd_ctrl_reg : t_c_mem := (latency => 1, + CONSTANT c_sdp_mm_jesd_ctrl_reg : t_c_mem := (latency => 1, adr_w => 1, dat_w => c_word_w, nof_dat => 1, - init_sl => '0'); + init_sl => '0'); -- PIO_JESD_CTRL -- AIT MM address widths - CONSTANT c_sdp_jesd204b_addr_w : NATURAL := ceil_log2(c_sdp_S_pn) + 8; - CONSTANT c_sdp_jesd_ctrl_addr_w : NATURAL := 1; + CONSTANT c_sdp_jesd204b_addr_w : NATURAL := ceil_log2(c_sdp_S_pn) + tech_jesd204b_port_span_w; -- = 4 + 8 + CONSTANT c_sdp_jesd_ctrl_addr_w : NATURAL := c_sdp_mm_jesd_ctrl_reg.adr_w; -- = 1 + CONSTANT c_sdp_jesd_ctrl_reset_bi : NATURAL := 31; + CONSTANT c_sdp_jesd_ctrl_enable_w : NATURAL := 31; CONSTANT c_sdp_reg_bsn_monitor_input_addr_w : NATURAL := 8; CONSTANT c_sdp_reg_wg_addr_w : NATURAL := ceil_log2(c_sdp_S_pn) + 2; CONSTANT c_sdp_ram_wg_addr_w : NATURAL := ceil_log2(c_sdp_S_pn) + 10; diff --git a/libraries/technology/jesd204b/hdllib.cfg b/libraries/technology/jesd204b/hdllib.cfg index 490134d658..79a8465a5d 100644 --- a/libraries/technology/jesd204b/hdllib.cfg +++ b/libraries/technology/jesd204b/hdllib.cfg @@ -12,6 +12,7 @@ synth_files = tech_jesd204b_component_pkg.vhd tech_jesd204b_arria10_e1sg.vhd tech_jesd204b_arria10_e2sg.vhd + tech_jesd204b_pkg.vhd tech_jesd204b.vhd test_bench_files = diff --git a/libraries/technology/jesd204b/tech_jesd204b_pkg.vhd b/libraries/technology/jesd204b/tech_jesd204b_pkg.vhd new file mode 100644 index 0000000000..b82c1bbb75 --- /dev/null +++ b/libraries/technology/jesd204b/tech_jesd204b_pkg.vhd @@ -0,0 +1,59 @@ +------------------------------------------------------------------------------- +-- +-- Copyright 2021 +-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +------------------------------------------------------------------------------- + +------------------------------------------------------------------------------- +-- +-- Author: E. Kooistra +-- Purpose: Test bench parameters for the JESD204B IP. +-- Description: +-- Remark: +-- . +------------------------------------------------------------------------------- + +LIBRARY IEEE, technology_lib; +USE IEEE.std_logic_1164.ALL; + +PACKAGE tech_jesd204b_pkg IS + + -- Intel ARRIA10 IP MM interface + CONSTANT tech_jesd204b_port_span_w : NATURAL := 8; + CONSTANT tech_jesd204b_port_span : NATURAL := 2**tech_jesd204b_port_span_w; + + CONSTANT tech_jesd204b_field_rx_err0_adr : NATURAL := 16#60#; + CONSTANT tech_jesd204b_field_rx_err0_w : NATURAL := 9; + CONSTANT tech_jesd204b_field_rx_err0_lo : NATURAL := 0; + CONSTANT tech_jesd204b_field_rx_err0_hi : NATURAL := tech_jesd204b_field_rx_err0_w-1 + tech_jesd204b_field_rx_err0_lo; + CONSTANT tech_jesd204b_field_rx_err1_adr : NATURAL := 16#64#; + CONSTANT tech_jesd204b_field_rx_err1_w : NATURAL := 10; + CONSTANT tech_jesd204b_field_rx_err1_lo : NATURAL := 0; + CONSTANT tech_jesd204b_field_rx_err1_hi : NATURAL := tech_jesd204b_field_rx_err1_w-1 + tech_jesd204b_field_rx_err1_lo; + CONSTANT tech_jesd204b_field_csr_rbd_count_adr : NATURAL := 16#80#; + CONSTANT tech_jesd204b_field_csr_rbd_count_w : NATURAL := 8; + CONSTANT tech_jesd204b_field_csr_rbd_count_lo : NATURAL := 3; + CONSTANT tech_jesd204b_field_csr_rbd_count_hi : NATURAL := tech_jesd204b_field_csr_rbd_count_w-1 + tech_jesd204b_field_csr_rbd_count_lo; + CONSTANT tech_jesd204b_field_csr_dev_syncn_adr : NATURAL := 16#80#; + CONSTANT tech_jesd204b_field_csr_dev_syncn_w : NATURAL := 1; + CONSTANT tech_jesd204b_field_csr_dev_syncn_lo : NATURAL := 0; + CONSTANT tech_jesd204b_field_csr_dev_syncn_hi : NATURAL := tech_jesd204b_field_csr_dev_syncn_w-1 + tech_jesd204b_field_csr_dev_syncn_lo; + +END tech_jesd204b_pkg; + +PACKAGE BODY tech_jesd204b_pkg IS +END tech_jesd204b_pkg; -- GitLab