From 05b6bff2d5132db6e7b3a71ea82a121ee7d1c7df Mon Sep 17 00:00:00 2001 From: Lukas Vik <10241915+LukasVik@users.noreply.github.com> Date: Thu, 22 Feb 2024 11:26:19 +0100 Subject: [PATCH] Minimize imports in an effort to lower simulation setup time These changes represent a 21% reduction of execution time for the 460 test cases in hdl-modules repo: https://github.com/hdl-modules/hdl-modules For some small testbenches, the reduction is as much as 42%. Note that this repo contains only small to medium sized testbenches (1-10 seconds, with most around 1-4 seconds). This is all using the GHDL simulator with GCC backend on Linux. With ModelSim Intel FPGA starter edition 2020.1, the reductions is negligible (1-2%). This change: 1. Stop using "context" in all VUnit packages. In most packages, importing with context includes a lot more than what is actually used. 2. Stop using "use work.x_pkg.all" in cases where only 1-3 things are used from the package. Instead, one explicit "use" clause for the things that are actually used. * Not done for the most common packages (run_pkg, check_pkg, logger_pkg). * Not done for includes from very small packages. 3. For packages that have head and body in different files, move all imports to the head file. As they were, split between the files, there was a lot of overlap of imports, and it what hard to get an overview of what is actually imported and what is actually used. The first point represents roughly 80% of the performance gain. Note that in order to reach the performance gains listed above, the corresponding changes have to be made to all testbenches and simulation code in the user repo also. If the testbench includes "vunit_context", "com_context" etc, the performance gains will not be realized since everything will be imported anyway. --- vunit/vhdl/check/src/check.vhd | 9 --------- vunit/vhdl/check/src/check_api.vhd | 8 ++++++-- vunit/vhdl/com/src/com.vhd | 14 ++++--------- vunit/vhdl/com/src/com_api.vhd | 8 +++----- vunit/vhdl/com/src/com_common.vhd | 9 +++++---- .../vhdl/com/src/com_debug_codec_builder.vhd | 5 ++--- vunit/vhdl/com/src/com_messenger.vhd | 1 - vunit/vhdl/com/src/com_support.vhd | 3 ++- vunit/vhdl/com/src/com_types.vhd | 2 +- vunit/vhdl/core/src/core_pkg.vhd | 1 + vunit/vhdl/data_types/src/dict_pkg-body.vhd | 14 ------------- vunit/vhdl/data_types/src/dict_pkg.vhd | 11 +++++----- .../data_types/src/integer_array_pkg-body.vhd | 4 ---- .../vhdl/data_types/src/integer_array_pkg.vhd | 4 ++++ .../data_types/src/integer_vector_ptr_pkg.vhd | 7 +++---- .../src/integer_vector_ptr_pool_pkg.vhd | 1 - vunit/vhdl/data_types/src/queue_pkg-2008p.vhd | 3 +-- vunit/vhdl/data_types/src/queue_pkg-body.vhd | 6 ------ vunit/vhdl/data_types/src/queue_pkg.vhd | 11 +++++++--- vunit/vhdl/data_types/src/string_ptr_pkg.vhd | 6 +++--- .../data_types/src/string_ptr_pool_pkg.vhd | 1 - vunit/vhdl/dictionary/src/dictionary.vhd | 3 ++- .../vhdl/logging/src/common_log_pkg-body.vhd | 4 ---- vunit/vhdl/logging/src/common_log_pkg.vhd | 4 ++++ vunit/vhdl/logging/src/file_pkg.vhd | 1 + .../vhdl/logging/src/log_handler_pkg-body.vhd | 11 ---------- vunit/vhdl/logging/src/log_handler_pkg.vhd | 7 +++++++ .../vhdl/logging/src/log_levels_pkg-body.vhd | 4 ---- vunit/vhdl/logging/src/log_levels_pkg.vhd | 4 +++- vunit/vhdl/logging/src/logger_pkg-body.vhd | 11 ---------- vunit/vhdl/logging/src/logger_pkg.vhd | 14 ++++++++++--- vunit/vhdl/logging/src/print_pkg-body.vhd | 2 -- vunit/vhdl/logging/src/print_pkg.vhd | 2 ++ vunit/vhdl/random/src/random_pkg.vhd | 10 ++++------ .../src/avalon_master.vhd | 14 ++++++------- .../src/avalon_pkg.vhd | 8 +++++--- .../src/avalon_sink.vhd | 12 +++++------ .../src/avalon_slave.vhd | 12 +++++------ .../src/avalon_source.vhd | 17 ++++++++-------- .../src/avalon_stream_pkg.vhd | 8 ++++---- .../src/axi_lite_master.vhd | 20 ++++++++++++------- .../src/axi_lite_master_pkg.vhd | 5 +++-- .../src/axi_read_slave.vhd | 6 +++--- .../src/axi_slave_pkg.vhd | 10 ++++++---- .../src/axi_slave_private_pkg.vhd | 20 ++++++++++++------- .../src/axi_stream_master.vhd | 15 +++++++------- .../src/axi_stream_monitor.vhd | 8 ++++++-- .../src/axi_stream_pkg.vhd | 11 +++++----- .../src/axi_stream_protocol_checker.vhd | 10 ++++++++-- .../src/axi_stream_slave.vhd | 20 +++++++++++-------- .../src/axi_write_slave.vhd | 6 +++--- .../src/bus2memory.vhd | 6 ++++-- .../src/bus_master_pkg-body.vhd | 9 --------- .../src/bus_master_pkg.vhd | 6 ++++-- .../src/memory_pkg-body.vhd | 3 --- .../src/memory_pkg.vhd | 5 +++-- .../src/ram_master.vhd | 10 +++++++--- .../src/signal_checker_pkg.vhd | 9 +++++---- .../src/std_logic_checker.vhd | 12 +++++++---- .../src/stream_master_pkg-body.vhd | 6 ------ .../src/stream_master_pkg.vhd | 5 +++-- .../src/stream_slave_pkg.vhd | 5 +++-- .../src/sync_pkg-body.vhd | 4 ---- .../verification_components/src/sync_pkg.vhd | 6 ++++-- .../src/uart_master.vhd | 14 ++++++------- .../verification_components/src/uart_pkg.vhd | 12 +++++------ .../src/uart_slave.vhd | 13 ++++++------ .../src/wishbone_master.vhd | 11 +++++----- .../src/wishbone_pkg.vhd | 8 +++++--- .../src/wishbone_slave.vhd | 15 ++++++++------ 70 files changed, 279 insertions(+), 287 deletions(-) diff --git a/vunit/vhdl/check/src/check.vhd b/vunit/vhdl/check/src/check.vhd index 5020c55bc..b2c9fd44b 100644 --- a/vunit/vhdl/check/src/check.vhd +++ b/vunit/vhdl/check/src/check.vhd @@ -6,15 +6,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -library ieee; -use ieee.std_logic_1164.all; -use ieee.numeric_std.all; -use std.textio.all; -use work.checker_pkg.all; -use work.string_ops.all; -use work.location_pkg.all; -use work.integer_vector_ptr_pkg.all; - package body check_pkg is type boolean_vector is array (natural range <>) of boolean; diff --git a/vunit/vhdl/check/src/check_api.vhd b/vunit/vhdl/check/src/check_api.vhd index 5861f0d34..bedf49768 100644 --- a/vunit/vhdl/check/src/check_api.vhd +++ b/vunit/vhdl/check/src/check_api.vhd @@ -10,12 +10,16 @@ library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; + use std.textio.all; + use work.checker_pkg.all; -use work.logger_pkg.all; +use work.event_common_pkg.any_event_t; +use work.event_common_pkg.notify; +use work.integer_vector_ptr_pkg.all; use work.log_levels_pkg.all; +use work.logger_pkg.logger_t; use work.string_ops.all; -use work.event_common_pkg.all; use work.string_ptr_pkg.all; package check_pkg is diff --git a/vunit/vhdl/com/src/com.vhd b/vunit/vhdl/com/src/com.vhd index 308a6efbd..8b5d7fa74 100644 --- a/vunit/vhdl/com/src/com.vhd +++ b/vunit/vhdl/com/src/com.vhd @@ -9,18 +9,12 @@ library ieee; use ieee.std_logic_1164.all; -context work.vunit_context; - -use work.queue_pkg.all; -use work.queue_2008p_pkg.all; -use work.queue_pool_pkg.all; -use work.integer_vector_ptr_pkg.all; -use work.string_ptr_pkg.all; -use work.codec_pkg.all; -use work.com_support_pkg.all; -use work.com_messenger_pkg.all; use work.com_common_pkg.all; +use work.com_messenger_pkg.all; +use work.com_support_pkg.all; use work.logger_pkg.all; +use work.queue_pkg.all; +use work.queue_pool_pkg.all; use std.textio.all; diff --git a/vunit/vhdl/com/src/com_api.vhd b/vunit/vhdl/com/src/com_api.vhd index 74e83d656..e4ff994d0 100644 --- a/vunit/vhdl/com/src/com_api.vhd +++ b/vunit/vhdl/com/src/com_api.vhd @@ -11,11 +11,9 @@ library ieee; use ieee.std_logic_1164.all; use work.com_types_pkg.all; -use work.queue_pkg.all; -use work.integer_vector_ptr_pkg.all; -use work.string_ptr_pkg.all; -use work.id_pkg.all; -use work.event_private_pkg.all; +use work.id_pkg.id_t; +use work.event_private_pkg.new_basic_event; +use work.event_private_pkg.com_net_event; package com_pkg is -- Global predefined network. See network_t description in com_types.vhd for diff --git a/vunit/vhdl/com/src/com_common.vhd b/vunit/vhdl/com/src/com_common.vhd index d8ace34ce..047af3a51 100644 --- a/vunit/vhdl/com/src/com_common.vhd +++ b/vunit/vhdl/com/src/com_common.vhd @@ -9,10 +9,11 @@ library ieee; use ieee.std_logic_1164.all; -use work.com_messenger_pkg.all; -use work.com_types_pkg.all; -use work.event_common_pkg.all; -use work.event_private_pkg.all; +use work.com_messenger_pkg.messenger_t; +use work.com_types_pkg.com_status_t; +use work.event_common_pkg.notify; +use work.event_common_pkg.is_active; +use work.event_private_pkg.basic_event_t; package com_common_pkg is shared variable messenger : messenger_t; diff --git a/vunit/vhdl/com/src/com_debug_codec_builder.vhd b/vunit/vhdl/com/src/com_debug_codec_builder.vhd index 80bf794f8..4a7e960ea 100644 --- a/vunit/vhdl/com/src/com_debug_codec_builder.vhd +++ b/vunit/vhdl/com/src/com_debug_codec_builder.vhd @@ -6,11 +6,10 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -library vunit_lib; -context vunit_lib.vunit_context; - use std.textio.all; +use work.string_ops.all; + package com_debug_codec_builder_pkg is ----------------------------------------------------------------------------- -- Encoding support diff --git a/vunit/vhdl/com/src/com_messenger.vhd b/vunit/vhdl/com/src/com_messenger.vhd index 07a68f18b..7c15f93b9 100644 --- a/vunit/vhdl/com/src/com_messenger.vhd +++ b/vunit/vhdl/com/src/com_messenger.vhd @@ -12,7 +12,6 @@ use work.com_support_pkg.all; use work.queue_pkg.all; use work.queue_pool_pkg.all; use work.string_ptr_pkg.all; -use work.codec_pkg.all; use work.logger_pkg.all; use work.log_levels_pkg.all; use work.id_pkg.all; diff --git a/vunit/vhdl/com/src/com_support.vhd b/vunit/vhdl/com/src/com_support.vhd index 09807feba..8a72ae92b 100644 --- a/vunit/vhdl/com/src/com_support.vhd +++ b/vunit/vhdl/com/src/com_support.vhd @@ -4,8 +4,9 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -context work.vunit_context; use work.com_types_pkg.all; +use work.logger_pkg.all; +use work.string_ops.all; package com_support_pkg is diff --git a/vunit/vhdl/com/src/com_types.vhd b/vunit/vhdl/com/src/com_types.vhd index e750cd70f..91452f38f 100644 --- a/vunit/vhdl/com/src/com_types.vhd +++ b/vunit/vhdl/com/src/com_types.vhd @@ -24,7 +24,7 @@ use work.queue_pkg.all; use work.queue_2008p_pkg.all; use work.queue_pool_pkg.all; use work.dict_pkg.all; -use work.event_private_pkg.all; +use work.event_private_pkg.basic_event_t; package com_types_pkg is diff --git a/vunit/vhdl/core/src/core_pkg.vhd b/vunit/vhdl/core/src/core_pkg.vhd index dd2653c67..11efa8a8a 100644 --- a/vunit/vhdl/core/src/core_pkg.vhd +++ b/vunit/vhdl/core/src/core_pkg.vhd @@ -5,6 +5,7 @@ -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com use std.textio.all; + use work.stop_pkg; use work.integer_vector_ptr_pkg.all; use work.string_ptr_pkg.all; diff --git a/vunit/vhdl/data_types/src/dict_pkg-body.vhd b/vunit/vhdl/data_types/src/dict_pkg-body.vhd index 7e6923120..f6102a2ea 100644 --- a/vunit/vhdl/data_types/src/dict_pkg-body.vhd +++ b/vunit/vhdl/data_types/src/dict_pkg-body.vhd @@ -4,20 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -library ieee; -use ieee.std_logic_1164.all; -use ieee.math_complex.all; -use ieee.numeric_bit.all; -use ieee.numeric_std.all; - -use work.string_ptr_pkg.all; -use work.string_ptr_pool_pkg.all; -use work.integer_vector_ptr_pkg.all; -use work.integer_vector_ptr_pool_pkg.all; -use work.codec_pkg.all; -use work.data_types_private_pkg.all; -use work.queue_pkg.all; - package body dict_pkg is constant int_pool : integer_vector_ptr_pool_t := new_integer_vector_ptr_pool; constant str_pool : string_ptr_pool_t := new_string_ptr_pool; diff --git a/vunit/vhdl/data_types/src/dict_pkg.vhd b/vunit/vhdl/data_types/src/dict_pkg.vhd index 4beadfa3c..3be5164e9 100644 --- a/vunit/vhdl/data_types/src/dict_pkg.vhd +++ b/vunit/vhdl/data_types/src/dict_pkg.vhd @@ -14,15 +14,14 @@ use ieee.math_complex.all; use ieee.numeric_bit.all; use ieee.numeric_std.all; -use work.string_ptr_pkg.all; -use work.string_ptr_pool_pkg.all; -use work.integer_vector_ptr_pkg.all; -use work.integer_vector_ptr_pool_pkg.all; use work.codec_pkg.all; use work.data_types_private_pkg.all; -use work.queue_pkg.all; use work.integer_array_pkg.all; -use work.byte_vector_ptr_pkg.all; +use work.integer_vector_ptr_pkg.all; +use work.integer_vector_ptr_pool_pkg.all; +use work.queue_pkg.all; +use work.string_ptr_pkg.all; +use work.string_ptr_pool_pkg.all; package dict_pkg is type dict_t is record diff --git a/vunit/vhdl/data_types/src/integer_array_pkg-body.vhd b/vunit/vhdl/data_types/src/integer_array_pkg-body.vhd index 0a87388c5..2a23e00a9 100644 --- a/vunit/vhdl/data_types/src/integer_array_pkg-body.vhd +++ b/vunit/vhdl/data_types/src/integer_array_pkg-body.vhd @@ -4,10 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -use std.textio.all; -use work.codec_pkg.all; -use work.codec_builder_pkg.all; - package body integer_array_pkg is type binary_file_t is file of character; diff --git a/vunit/vhdl/data_types/src/integer_array_pkg.vhd b/vunit/vhdl/data_types/src/integer_array_pkg.vhd index 8ba891cf3..87fce6caf 100644 --- a/vunit/vhdl/data_types/src/integer_array_pkg.vhd +++ b/vunit/vhdl/data_types/src/integer_array_pkg.vhd @@ -4,6 +4,10 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com +use std.textio.all; + +use work.codec_builder_pkg.all; +use work.codec_pkg.all; use work.integer_vector_ptr_pkg.all; package integer_array_pkg is diff --git a/vunit/vhdl/data_types/src/integer_vector_ptr_pkg.vhd b/vunit/vhdl/data_types/src/integer_vector_ptr_pkg.vhd index bddb47ca7..d64640109 100644 --- a/vunit/vhdl/data_types/src/integer_vector_ptr_pkg.vhd +++ b/vunit/vhdl/data_types/src/integer_vector_ptr_pkg.vhd @@ -10,11 +10,10 @@ -- into a singleton datastructure of integer vector access types. -- -use work.types_pkg.all; -use work.external_integer_vector_pkg.all; - -use work.codec_pkg.all; use work.codec_builder_pkg.all; +use work.codec_pkg.all; +use work.external_integer_vector_pkg.all; +use work.types_pkg.all; package integer_vector_ptr_pkg is diff --git a/vunit/vhdl/data_types/src/integer_vector_ptr_pool_pkg.vhd b/vunit/vhdl/data_types/src/integer_vector_ptr_pool_pkg.vhd index 7b2e64971..c4485c0bc 100644 --- a/vunit/vhdl/data_types/src/integer_vector_ptr_pool_pkg.vhd +++ b/vunit/vhdl/data_types/src/integer_vector_ptr_pool_pkg.vhd @@ -8,7 +8,6 @@ library ieee; use ieee.std_logic_1164.all; use work.integer_vector_ptr_pkg.all; -use work.queue_pkg.all; package integer_vector_ptr_pool_pkg is type integer_vector_ptr_pool_t is record diff --git a/vunit/vhdl/data_types/src/queue_pkg-2008p.vhd b/vunit/vhdl/data_types/src/queue_pkg-2008p.vhd index 4c2ea82a9..3c688b2b3 100644 --- a/vunit/vhdl/data_types/src/queue_pkg-2008p.vhd +++ b/vunit/vhdl/data_types/src/queue_pkg-2008p.vhd @@ -8,10 +8,9 @@ library ieee; use ieee.fixed_pkg.all; use ieee.float_pkg.all; -use work.queue_pkg.all; use work.codec_2008p_pkg.all; -use work.codec_builder_2008p_pkg.all; use work.data_types_private_pkg.all; +use work.queue_pkg.all; package queue_2008p_pkg is procedure push ( diff --git a/vunit/vhdl/data_types/src/queue_pkg-body.vhd b/vunit/vhdl/data_types/src/queue_pkg-body.vhd index 1566370a2..db18b58c2 100644 --- a/vunit/vhdl/data_types/src/queue_pkg-body.vhd +++ b/vunit/vhdl/data_types/src/queue_pkg-body.vhd @@ -4,12 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -library ieee; -use ieee.math_real.all; -use ieee.math_complex.all; -use work.codec_pkg.all; -use work.codec_builder_pkg.all; - package body queue_pkg is constant tail_idx : natural := 0; constant head_idx : natural := 1; diff --git a/vunit/vhdl/data_types/src/queue_pkg.vhd b/vunit/vhdl/data_types/src/queue_pkg.vhd index d20652f07..794ccafd8 100644 --- a/vunit/vhdl/data_types/src/queue_pkg.vhd +++ b/vunit/vhdl/data_types/src/queue_pkg.vhd @@ -5,14 +5,19 @@ -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com library ieee; -use ieee.std_logic_1164.all; use ieee.math_complex.all; +use ieee.math_real.all; use ieee.numeric_bit.all; use ieee.numeric_std.all; +use ieee.std_logic_1164.all; + +use work.codec_builder_pkg.all; +use work.codec_pkg.all; +use work.data_types_private_pkg.all; +use work.integer_array_pkg.integer_array_t; +use work.integer_array_pkg.null_integer_array; use work.integer_vector_ptr_pkg.all; use work.string_ptr_pkg.all; -use work.integer_array_pkg.all; -use work.data_types_private_pkg.all; package queue_pkg is type queue_t is record diff --git a/vunit/vhdl/data_types/src/string_ptr_pkg.vhd b/vunit/vhdl/data_types/src/string_ptr_pkg.vhd index 950a9f6e3..9c325c8fc 100644 --- a/vunit/vhdl/data_types/src/string_ptr_pkg.vhd +++ b/vunit/vhdl/data_types/src/string_ptr_pkg.vhd @@ -11,11 +11,11 @@ -- use work.types_pkg.all; +use work.codec_builder_pkg.decode; +use work.codec_builder_pkg.integer_code_length; +use work.codec_pkg.encode; use work.external_string_pkg.all; -use work.codec_pkg.all; -use work.codec_builder_pkg.all; - package string_ptr_pkg is type string_ptr_t is record diff --git a/vunit/vhdl/data_types/src/string_ptr_pool_pkg.vhd b/vunit/vhdl/data_types/src/string_ptr_pool_pkg.vhd index 40a3e602c..832f648d2 100644 --- a/vunit/vhdl/data_types/src/string_ptr_pool_pkg.vhd +++ b/vunit/vhdl/data_types/src/string_ptr_pool_pkg.vhd @@ -8,7 +8,6 @@ library ieee; use ieee.std_logic_1164.all; use work.string_ptr_pkg.all; -use work.queue_pkg.all; use work.integer_vector_ptr_pkg.all; package string_ptr_pool_pkg is diff --git a/vunit/vhdl/dictionary/src/dictionary.vhd b/vunit/vhdl/dictionary/src/dictionary.vhd index 62479298b..8d3cf6f7b 100644 --- a/vunit/vhdl/dictionary/src/dictionary.vhd +++ b/vunit/vhdl/dictionary/src/dictionary.vhd @@ -6,9 +6,10 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com +use std.textio.all; + use work.string_ops.all; use work.logger_pkg.all; -use std.textio.all; package dictionary is subtype frozen_dictionary_t is string; diff --git a/vunit/vhdl/logging/src/common_log_pkg-body.vhd b/vunit/vhdl/logging/src/common_log_pkg-body.vhd index e03058d82..c4f26da82 100644 --- a/vunit/vhdl/logging/src/common_log_pkg-body.vhd +++ b/vunit/vhdl/logging/src/common_log_pkg-body.vhd @@ -4,10 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -use work.ansi_pkg.all; -use work.log_levels_pkg.all; -use work.string_ops.upper; - package body common_log_pkg is constant is_original_pkg : boolean := true; diff --git a/vunit/vhdl/logging/src/common_log_pkg.vhd b/vunit/vhdl/logging/src/common_log_pkg.vhd index a9731072b..6b02285ac 100644 --- a/vunit/vhdl/logging/src/common_log_pkg.vhd +++ b/vunit/vhdl/logging/src/common_log_pkg.vhd @@ -6,6 +6,10 @@ use std.textio.all; +use work.ansi_pkg.all; +use work.log_levels_pkg.all; +use work.string_ops.upper; + package common_log_pkg is -- Deferred constant set to true in the native implementation of the package. -- Must be set to false in alternative implementations. diff --git a/vunit/vhdl/logging/src/file_pkg.vhd b/vunit/vhdl/logging/src/file_pkg.vhd index 8bf2761d8..770425d78 100644 --- a/vunit/vhdl/logging/src/file_pkg.vhd +++ b/vunit/vhdl/logging/src/file_pkg.vhd @@ -5,6 +5,7 @@ -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com use std.textio.all; + use work.integer_vector_ptr_pkg.all; use work.string_ptr_pkg.all; use work.common_log_pkg.all; diff --git a/vunit/vhdl/logging/src/log_handler_pkg-body.vhd b/vunit/vhdl/logging/src/log_handler_pkg-body.vhd index 18f4c5971..9f6ec8b56 100644 --- a/vunit/vhdl/logging/src/log_handler_pkg-body.vhd +++ b/vunit/vhdl/logging/src/log_handler_pkg-body.vhd @@ -4,17 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -use std.textio.all; - -library vunit_lib; -use vunit_lib.string_ptr_pkg.all; -use vunit_lib.integer_vector_ptr_pkg.all; - -use work.ansi_pkg.all; -use work.string_ops.upper; -use work.file_pkg.all; -use work.common_log_pkg.all; - package body log_handler_pkg is constant display_handler_id_number : natural := 0; diff --git a/vunit/vhdl/logging/src/log_handler_pkg.vhd b/vunit/vhdl/logging/src/log_handler_pkg.vhd index 19d270d20..5fe4cffd3 100644 --- a/vunit/vhdl/logging/src/log_handler_pkg.vhd +++ b/vunit/vhdl/logging/src/log_handler_pkg.vhd @@ -4,8 +4,15 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com +use std.textio.all; + +use work.ansi_pkg.all; +use work.common_log_pkg.all; +use work.file_pkg.all; use work.integer_vector_ptr_pkg.all; use work.log_levels_pkg.all; +use work.string_ops.upper; +use work.string_ptr_pkg.all; package log_handler_pkg is type deprecated_log_format_t is ( diff --git a/vunit/vhdl/logging/src/log_levels_pkg-body.vhd b/vunit/vhdl/logging/src/log_levels_pkg-body.vhd index a4b636fd3..8ea6082d5 100644 --- a/vunit/vhdl/logging/src/log_levels_pkg-body.vhd +++ b/vunit/vhdl/logging/src/log_levels_pkg-body.vhd @@ -4,10 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -use work.string_ptr_pkg.all; -use work.integer_vector_ptr_pkg.all; -use work.core_pkg.all; - package body log_levels_pkg is type levels_t is record diff --git a/vunit/vhdl/logging/src/log_levels_pkg.vhd b/vunit/vhdl/logging/src/log_levels_pkg.vhd index c4df62a74..6cacf609d 100644 --- a/vunit/vhdl/logging/src/log_levels_pkg.vhd +++ b/vunit/vhdl/logging/src/log_levels_pkg.vhd @@ -4,8 +4,10 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -use work.string_ptr_pkg.all; use work.ansi_pkg.all; +use work.core_pkg.all; +use work.integer_vector_ptr_pkg.all; +use work.string_ptr_pkg.all; package log_levels_pkg is diff --git a/vunit/vhdl/logging/src/logger_pkg-body.vhd b/vunit/vhdl/logging/src/logger_pkg-body.vhd index 03c2804ea..91b762809 100644 --- a/vunit/vhdl/logging/src/logger_pkg-body.vhd +++ b/vunit/vhdl/logging/src/logger_pkg-body.vhd @@ -4,17 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -use work.string_ptr_pkg.all; -use work.integer_vector_ptr_pkg.all; -use work.queue_pkg.all; -use work.core_pkg.core_failure; -use std.textio.all; -use work.string_ops.all; -use work.print_pkg.print; -use work.ansi_pkg.all; -use work.location_pkg.all; -use work.id_pkg.all; - package body logger_pkg is constant global_log_count : integer_vector_ptr_t := new_integer_vector_ptr(1, value => 0); constant p_mock_queue_length : integer_vector_ptr_t := new_integer_vector_ptr(1, value => 0); diff --git a/vunit/vhdl/logging/src/logger_pkg.vhd b/vunit/vhdl/logging/src/logger_pkg.vhd index 52fe12696..44106ab72 100644 --- a/vunit/vhdl/logging/src/logger_pkg.vhd +++ b/vunit/vhdl/logging/src/logger_pkg.vhd @@ -4,10 +4,18 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -use work.log_levels_pkg.all; -use work.log_handler_pkg.all; -use work.integer_vector_ptr_pkg.all; +use std.textio.all; + +use work.ansi_pkg.all; +use work.core_pkg.core_failure; use work.id_pkg.all; +use work.integer_vector_ptr_pkg.all; +use work.location_pkg.all; +use work.log_handler_pkg.all; +use work.log_levels_pkg.all; +use work.print_pkg.print; +use work.queue_pkg.all; +use work.string_ops.all; package logger_pkg is diff --git a/vunit/vhdl/logging/src/print_pkg-body.vhd b/vunit/vhdl/logging/src/print_pkg-body.vhd index 8d63cb329..7310a55a0 100644 --- a/vunit/vhdl/logging/src/print_pkg-body.vhd +++ b/vunit/vhdl/logging/src/print_pkg-body.vhd @@ -4,8 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -use work.log_handler_pkg.stdout_file_name; - package body print_pkg is procedure print(constant str : in string; file f : text) is diff --git a/vunit/vhdl/logging/src/print_pkg.vhd b/vunit/vhdl/logging/src/print_pkg.vhd index 09a0c0753..220d17121 100644 --- a/vunit/vhdl/logging/src/print_pkg.vhd +++ b/vunit/vhdl/logging/src/print_pkg.vhd @@ -6,6 +6,8 @@ use std.textio.all; +use work.log_handler_pkg.stdout_file_name; + package print_pkg is -- Print to an open file object. No internal flushing. diff --git a/vunit/vhdl/random/src/random_pkg.vhd b/vunit/vhdl/random/src/random_pkg.vhd index c1dfdcd18..0559f2f14 100644 --- a/vunit/vhdl/random/src/random_pkg.vhd +++ b/vunit/vhdl/random/src/random_pkg.vhd @@ -7,13 +7,11 @@ -- Optional package that includes random functions for the data_types based on -- OSVVM -library vunit_lib; -context vunit_lib.vunit_context; -use vunit_lib.integer_vector_ptr_pkg.all; -use vunit_lib.integer_array_pkg.all; - library osvvm; -use osvvm.RandomPkg.all; +use osvvm.RandomPkg.RandomPType; + +use work.integer_vector_ptr_pkg.all; +use work.integer_array_pkg.all; package random_pkg is procedure random_integer_vector_ptr(variable rnd : inout RandomPType; diff --git a/vunit/vhdl/verification_components/src/avalon_master.vhd b/vunit/vhdl/verification_components/src/avalon_master.vhd index 03f0312a8..ca83260e9 100644 --- a/vunit/vhdl/verification_components/src/avalon_master.vhd +++ b/vunit/vhdl/verification_components/src/avalon_master.vhd @@ -7,21 +7,21 @@ -- Avalon Memory Mapped Master BFM -- TODO: -- - handle byteenable in bursts + library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; -use work.queue_pkg.all; +library osvvm; +use osvvm.RandomPkg.RandomPType; + use work.bus_master_pkg.all; -context work.com_context; -use work.com_types_pkg.all; -use work.logger_pkg.all; use work.check_pkg.all; +use work.com_pkg.all; +use work.com_types_pkg.all; +use work.queue_pkg.all; use work.sync_pkg.all; -library osvvm; -use osvvm.RandomPkg.all; - entity avalon_master is generic ( bus_handle : bus_master_t; diff --git a/vunit/vhdl/verification_components/src/avalon_pkg.vhd b/vunit/vhdl/verification_components/src/avalon_pkg.vhd index 605b887b1..7a99ff39d 100644 --- a/vunit/vhdl/verification_components/src/avalon_pkg.vhd +++ b/vunit/vhdl/verification_components/src/avalon_pkg.vhd @@ -4,13 +4,15 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -- Author Slawomir Siluk slaweksiluk@gazeta.pl + library ieee; use ieee.std_logic_1164.all; -use work.queue_pkg.all; +use work.com_pkg.new_actor; +use work.com_types_pkg.actor_t; use work.logger_pkg.all; -use work.memory_pkg.all; -context work.com_context; +use work.memory_pkg.memory_t; +use work.memory_pkg.to_vc_interface; package avalon_pkg is diff --git a/vunit/vhdl/verification_components/src/avalon_sink.vhd b/vunit/vhdl/verification_components/src/avalon_sink.vhd index b72677042..82ee78f46 100644 --- a/vunit/vhdl/verification_components/src/avalon_sink.vhd +++ b/vunit/vhdl/verification_components/src/avalon_sink.vhd @@ -11,13 +11,13 @@ library ieee; use ieee.std_logic_1164.all; -context work.vunit_context; -context work.com_context; -use work.stream_slave_pkg.all; -use work.avalon_stream_pkg.all; - library osvvm; -use osvvm.RandomPkg.all; +use osvvm.RandomPkg.RandomPType; + +use work.avalon_stream_pkg.all; +use work.com_pkg.all; +use work.com_types_pkg.all; +use work.stream_slave_pkg.stream_pop_msg; entity avalon_sink is generic ( diff --git a/vunit/vhdl/verification_components/src/avalon_slave.vhd b/vunit/vhdl/verification_components/src/avalon_slave.vhd index 26abf20c4..d1ee08ec8 100644 --- a/vunit/vhdl/verification_components/src/avalon_slave.vhd +++ b/vunit/vhdl/verification_components/src/avalon_slave.vhd @@ -11,13 +11,13 @@ library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; -context work.vunit_context; -context work.com_context; -use work.memory_pkg.all; -use work.avalon_pkg.all; - library osvvm; -use osvvm.RandomPkg.all; +use osvvm.RandomPkg.RandomPType; + +use work.avalon_pkg.avalon_slave_t; +use work.com_pkg.all; +use work.com_types_pkg.all; +use work.memory_pkg.all; entity avalon_slave is generic ( diff --git a/vunit/vhdl/verification_components/src/avalon_source.vhd b/vunit/vhdl/verification_components/src/avalon_source.vhd index 8b084f7bf..fb0126c02 100644 --- a/vunit/vhdl/verification_components/src/avalon_source.vhd +++ b/vunit/vhdl/verification_components/src/avalon_source.vhd @@ -5,18 +5,19 @@ -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -- Author Slawomir Siluk slaweksiluk@gazeta.pl -- Avalon-St Source Verification Component + library ieee; use ieee.std_logic_1164.all; -context work.vunit_context; -context work.com_context; -use work.stream_master_pkg.all; -use work.avalon_stream_pkg.all; -use work.queue_pkg.all; -use work.sync_pkg.all; - library osvvm; -use osvvm.RandomPkg.all; +use osvvm.RandomPkg.RandomPType; + +use work.avalon_stream_pkg.all; +use work.com_pkg.receive; +use work.com_pkg.net; +use work.com_types_pkg.all; +use work.stream_master_pkg.stream_push_msg; +use work.sync_pkg.handle_sync_message; entity avalon_source is generic ( diff --git a/vunit/vhdl/verification_components/src/avalon_stream_pkg.vhd b/vunit/vhdl/verification_components/src/avalon_stream_pkg.vhd index 7e7065327..a15e5245f 100644 --- a/vunit/vhdl/verification_components/src/avalon_stream_pkg.vhd +++ b/vunit/vhdl/verification_components/src/avalon_stream_pkg.vhd @@ -7,11 +7,11 @@ library ieee; use ieee.std_logic_1164.all; +use work.com_pkg.all; +use work.com_types_pkg.all; use work.logger_pkg.all; -use work.stream_master_pkg.all; -use work.stream_slave_pkg.all; -context work.com_context; -context work.data_types_context; +use work.stream_master_pkg.stream_master_t; +use work.stream_slave_pkg.stream_slave_t; package avalon_stream_pkg is diff --git a/vunit/vhdl/verification_components/src/axi_lite_master.vhd b/vunit/vhdl/verification_components/src/axi_lite_master.vhd index 761d733d8..e87e50601 100644 --- a/vunit/vhdl/verification_components/src/axi_lite_master.vhd +++ b/vunit/vhdl/verification_components/src/axi_lite_master.vhd @@ -8,15 +8,21 @@ library ieee; use ieee.std_logic_1164.all; +use work.axi_lite_master_pkg.all; +use work.axi_pkg.all; +use work.axi_slave_private_pkg.check_axi_resp; +use work.bus_master_pkg.address_length; +use work.bus_master_pkg.bus_master_t; +use work.bus_master_pkg.byte_enable_length; +use work.bus_master_pkg.data_length; +use work.com_pkg.net; +use work.com_pkg.receive; +use work.com_pkg.reply; +use work.com_types_pkg.all; +use work.log_levels_pkg.all; +use work.logger_pkg.all; use work.queue_pkg.all; -use work.bus_master_pkg.all; use work.sync_pkg.all; -use work.axi_pkg.all; -use work.axi_slave_pkg.all; -use work.axi_slave_private_pkg.all; -use work.axi_lite_master_pkg.all; -context work.com_context; -context work.vunit_context; entity axi_lite_master is generic( diff --git a/vunit/vhdl/verification_components/src/axi_lite_master_pkg.vhd b/vunit/vhdl/verification_components/src/axi_lite_master_pkg.vhd index 70807b0eb..f33e04dc8 100644 --- a/vunit/vhdl/verification_components/src/axi_lite_master_pkg.vhd +++ b/vunit/vhdl/verification_components/src/axi_lite_master_pkg.vhd @@ -11,8 +11,9 @@ use ieee.numeric_std.all; use work.axi_pkg.all; use work.bus_master_pkg.all; -context work.com_context; -context work.vunit_context; +use work.com_pkg.send; +use work.com_types_pkg.all; +use work.logger_pkg.all; package axi_lite_master_pkg is diff --git a/vunit/vhdl/verification_components/src/axi_read_slave.vhd b/vunit/vhdl/verification_components/src/axi_read_slave.vhd index 3358b2ff8..637c11a4f 100644 --- a/vunit/vhdl/verification_components/src/axi_read_slave.vhd +++ b/vunit/vhdl/verification_components/src/axi_read_slave.vhd @@ -9,10 +9,10 @@ use ieee.std_logic_1164.all; use ieee.numeric_std.all; use work.axi_pkg.all; +use work.axi_slave_pkg.axi_slave_t; use work.axi_slave_private_pkg.all; -use work.queue_pkg.all; -context work.com_context; -context work.vc_context; +use work.com_pkg.net; +use work.memory_pkg.read_byte; entity axi_read_slave is generic ( diff --git a/vunit/vhdl/verification_components/src/axi_slave_pkg.vhd b/vunit/vhdl/verification_components/src/axi_slave_pkg.vhd index dadb9e398..d8c2aaa4b 100644 --- a/vunit/vhdl/verification_components/src/axi_slave_pkg.vhd +++ b/vunit/vhdl/verification_components/src/axi_slave_pkg.vhd @@ -7,11 +7,13 @@ library ieee; use ieee.std_logic_1164.all; -use work.queue_pkg.all; +use work.axi_statistics_pkg.axi_statistics_t; +use work.axi_statistics_pkg.deallocate; +use work.com_pkg.all; +use work.com_types_pkg.all; use work.logger_pkg.all; -use work.memory_pkg.all; -context work.com_context; -use work.axi_statistics_pkg.all; +use work.memory_pkg.memory_t; +use work.memory_pkg.to_vc_interface; package axi_slave_pkg is subtype probability_t is real range 0.0 to 1.0; diff --git a/vunit/vhdl/verification_components/src/axi_slave_private_pkg.vhd b/vunit/vhdl/verification_components/src/axi_slave_private_pkg.vhd index cf25ee5c7..64ef4af9c 100644 --- a/vunit/vhdl/verification_components/src/axi_slave_private_pkg.vhd +++ b/vunit/vhdl/verification_components/src/axi_slave_private_pkg.vhd @@ -12,15 +12,21 @@ use ieee.numeric_std.all; use std.textio.all; +library osvvm; +use osvvm.RandomPkg.RandomPType; + use work.axi_pkg.all; -use work.queue_pkg.all; +use work.axi_slave_pkg.all; +use work.axi_statistics_pkg.all; +use work.bus_master_pkg.bus_master_t; +use work.com_pkg.receive; +use work.com_pkg.reply; +use work.com_pkg.acknowledge; +use work.com_types_pkg.all; use work.integer_vector_ptr_pkg.all; -context work.vunit_context; -context work.com_context; -context work.vc_context; - -library osvvm; -use osvvm.RandomPkg.all; +use work.log_levels_pkg.all; +use work.logger_pkg.all; +use work.queue_pkg.all; package axi_slave_private_pkg is diff --git a/vunit/vhdl/verification_components/src/axi_stream_master.vhd b/vunit/vhdl/verification_components/src/axi_stream_master.vhd index 867507da4..e51659a5c 100644 --- a/vunit/vhdl/verification_components/src/axi_stream_master.vhd +++ b/vunit/vhdl/verification_components/src/axi_stream_master.vhd @@ -7,17 +7,18 @@ library ieee; use ieee.std_logic_1164.all; -context work.vunit_context; -context work.com_context; -use work.stream_master_pkg.all; +library osvvm; +use osvvm.RandomPkg.RandomPType; + use work.axi_stream_pkg.all; -use work.axi_stream_private_pkg.all; +use work.axi_stream_private_pkg.probability_stall_axi_stream; +use work.com_pkg.net; +use work.com_pkg.receive; +use work.com_types_pkg.all; use work.queue_pkg.all; +use work.stream_master_pkg.stream_push_msg; use work.sync_pkg.all; -library osvvm; -use osvvm.RandomPkg.RandomPType; - entity axi_stream_master is generic ( master : axi_stream_master_t; diff --git a/vunit/vhdl/verification_components/src/axi_stream_monitor.vhd b/vunit/vhdl/verification_components/src/axi_stream_monitor.vhd index 358743703..06965f658 100644 --- a/vunit/vhdl/verification_components/src/axi_stream_monitor.vhd +++ b/vunit/vhdl/verification_components/src/axi_stream_monitor.vhd @@ -7,9 +7,13 @@ library ieee; use ieee.std_logic_1164.all; -context work.vunit_context; -context work.com_context; use work.axi_stream_pkg.all; +use work.com_pkg.net; +use work.com_pkg.publish; +use work.com_types_pkg.msg_t; +use work.log_levels_pkg.all; +use work.logger_pkg.all; +use work.string_ops.all; entity axi_stream_monitor is generic ( diff --git a/vunit/vhdl/verification_components/src/axi_stream_pkg.vhd b/vunit/vhdl/verification_components/src/axi_stream_pkg.vhd index 10efddf1c..5835fe8eb 100644 --- a/vunit/vhdl/verification_components/src/axi_stream_pkg.vhd +++ b/vunit/vhdl/verification_components/src/axi_stream_pkg.vhd @@ -10,12 +10,11 @@ use ieee.std_logic_1164.all; use work.logger_pkg.all; use work.checker_pkg.all; use work.check_pkg.all; -use work.stream_master_pkg.all; -use work.stream_slave_pkg.all; -use work.sync_pkg.all; -context work.vunit_context; -context work.com_context; -context work.data_types_context; +use work.stream_master_pkg.stream_master_t; +use work.stream_slave_pkg.stream_slave_t; +use work.sync_pkg.sync_handle_t; +use work.com_pkg.all; +use work.com_types_pkg.all; package axi_stream_pkg is diff --git a/vunit/vhdl/verification_components/src/axi_stream_protocol_checker.vhd b/vunit/vhdl/verification_components/src/axi_stream_protocol_checker.vhd index 8c7d658fe..00588c39f 100644 --- a/vunit/vhdl/verification_components/src/axi_stream_protocol_checker.vhd +++ b/vunit/vhdl/verification_components/src/axi_stream_protocol_checker.vhd @@ -10,9 +10,15 @@ use ieee.numeric_std_unsigned.all; use std.textio.all; -context work.vunit_context; -context work.com_context; use work.axi_stream_pkg.all; +use work.check_pkg.all; +use work.checker_pkg.all; +use work.event_common_pkg.is_active; +use work.integer_array_pkg.all; +use work.log_levels_pkg.all; +use work.logger_pkg.all; +use work.run_pkg.all; +use work.run_types_pkg.all; entity axi_stream_protocol_checker is generic ( diff --git a/vunit/vhdl/verification_components/src/axi_stream_slave.vhd b/vunit/vhdl/verification_components/src/axi_stream_slave.vhd index ba499e197..8d1de00a4 100644 --- a/vunit/vhdl/verification_components/src/axi_stream_slave.vhd +++ b/vunit/vhdl/verification_components/src/axi_stream_slave.vhd @@ -7,19 +7,23 @@ library ieee; use ieee.std_logic_1164.all; -context work.vunit_context; -context work.com_context; -use work.stream_slave_pkg.all; +library osvvm; +use osvvm.RandomPkg.RandomPType; + +use work.check_pkg.all; +use work.com_pkg.all; +use work.com_types_pkg.all; +use work.id_pkg.all; +use work.queue_pkg.all; +use work.stream_slave_pkg.stream_pop_msg; use work.axi_stream_pkg.all; -use work.axi_stream_private_pkg.all; +use work.axi_stream_private_pkg.probability_stall_axi_stream; use work.sync_pkg.all; use work.string_ptr_pkg.all; -use work.event_common_pkg.all; +use work.event_common_pkg.is_active; +use work.event_common_pkg.notify; use work.event_pkg.all; -library osvvm; -use osvvm.RandomPkg.RandomPType; - entity axi_stream_slave is generic ( slave : axi_stream_slave_t); diff --git a/vunit/vhdl/verification_components/src/axi_write_slave.vhd b/vunit/vhdl/verification_components/src/axi_write_slave.vhd index 1f0f3ca9f..badc3c9b8 100644 --- a/vunit/vhdl/verification_components/src/axi_write_slave.vhd +++ b/vunit/vhdl/verification_components/src/axi_write_slave.vhd @@ -11,11 +11,11 @@ use ieee.numeric_std.all; use work.axi_pkg.all; use work.axi_slave_pkg.all; use work.axi_slave_private_pkg.all; -use work.queue_pkg.all; -use work.memory_pkg.all; +use work.com_pkg.net; use work.integer_vector_ptr_pkg.all; use work.integer_vector_ptr_pool_pkg.all; -context work.com_context; +use work.memory_pkg.all; +use work.queue_pkg.all; entity axi_write_slave is generic ( diff --git a/vunit/vhdl/verification_components/src/bus2memory.vhd b/vunit/vhdl/verification_components/src/bus2memory.vhd index 16545f654..4d60e6bff 100644 --- a/vunit/vhdl/verification_components/src/bus2memory.vhd +++ b/vunit/vhdl/verification_components/src/bus2memory.vhd @@ -8,9 +8,11 @@ library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; -context work.com_context; -use work.queue_pkg.all; use work.bus_master_pkg.all; +use work.com_pkg.net; +use work.com_pkg.receive; +use work.com_pkg.reply; +use work.com_types_pkg.all; use work.memory_pkg.all; entity bus2memory is diff --git a/vunit/vhdl/verification_components/src/bus_master_pkg-body.vhd b/vunit/vhdl/verification_components/src/bus_master_pkg-body.vhd index 2a4a7e20a..e2300bbdf 100644 --- a/vunit/vhdl/verification_components/src/bus_master_pkg-body.vhd +++ b/vunit/vhdl/verification_components/src/bus_master_pkg-body.vhd @@ -4,15 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -library ieee; -use ieee.std_logic_1164.all; -use ieee.numeric_std.all; - -use work.queue_pkg.all; -use work.sync_pkg.all; -use work.queue_pkg.all; -use work.check_pkg.all; - package body bus_master_pkg is impure function new_bus(data_length : natural; diff --git a/vunit/vhdl/verification_components/src/bus_master_pkg.vhd b/vunit/vhdl/verification_components/src/bus_master_pkg.vhd index 4204b2d2c..64c236858 100644 --- a/vunit/vhdl/verification_components/src/bus_master_pkg.vhd +++ b/vunit/vhdl/verification_components/src/bus_master_pkg.vhd @@ -7,12 +7,14 @@ -- Defines bus master verification component interface library ieee; +use ieee.numeric_std.all; use ieee.std_logic_1164.all; +use work.com_pkg.all; +use work.com_types_pkg.all; use work.logger_pkg.all; -context work.com_context; -use work.sync_pkg.all; use work.queue_pkg.all; +use work.sync_pkg.all; package bus_master_pkg is diff --git a/vunit/vhdl/verification_components/src/memory_pkg-body.vhd b/vunit/vhdl/verification_components/src/memory_pkg-body.vhd index 6d19155f1..d28ad2502 100644 --- a/vunit/vhdl/verification_components/src/memory_pkg-body.vhd +++ b/vunit/vhdl/verification_components/src/memory_pkg-body.vhd @@ -4,9 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -library ieee; -use ieee.numeric_std.all; - package body memory_pkg is constant num_bytes_idx : natural := 0; diff --git a/vunit/vhdl/verification_components/src/memory_pkg.vhd b/vunit/vhdl/verification_components/src/memory_pkg.vhd index 52e0677ec..c51e1d8cd 100644 --- a/vunit/vhdl/verification_components/src/memory_pkg.vhd +++ b/vunit/vhdl/verification_components/src/memory_pkg.vhd @@ -7,12 +7,13 @@ -- Model of a memory address space library ieee; +use ieee.numeric_std.all; use ieee.std_logic_1164.all; -use work.types_pkg.all; -use work.string_ptr_pkg.all; use work.integer_vector_ptr_pkg.all; use work.logger_pkg.all; +use work.string_ptr_pkg.all; +use work.types_pkg.byte_t; package memory_pkg is diff --git a/vunit/vhdl/verification_components/src/ram_master.vhd b/vunit/vhdl/verification_components/src/ram_master.vhd index 971b61b5b..08f245990 100644 --- a/vunit/vhdl/verification_components/src/ram_master.vhd +++ b/vunit/vhdl/verification_components/src/ram_master.vhd @@ -9,10 +9,14 @@ library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; -use work.queue_pkg.all; use work.bus_master_pkg.all; -use work.sync_pkg.all; -context work.com_context; +use work.com_pkg.net; +use work.com_pkg.receive; +use work.com_pkg.reply; +use work.com_types_pkg.all; +use work.queue_pkg.all; +use work.sync_pkg.handle_wait_until_idle; +use work.sync_pkg.wait_until_idle_msg; entity ram_master is generic ( diff --git a/vunit/vhdl/verification_components/src/signal_checker_pkg.vhd b/vunit/vhdl/verification_components/src/signal_checker_pkg.vhd index ac81650ed..d4e389906 100644 --- a/vunit/vhdl/verification_components/src/signal_checker_pkg.vhd +++ b/vunit/vhdl/verification_components/src/signal_checker_pkg.vhd @@ -7,10 +7,11 @@ library ieee; use ieee.std_logic_1164.all; -context work.vunit_context; -context work.com_context; - -use work.sync_pkg.all; +use work.com_pkg.new_actor; +use work.com_pkg.send; +use work.com_types_pkg.all; +use work.logger_pkg.all; +use work.sync_pkg.wait_until_idle; package signal_checker_pkg is type signal_checker_t is record diff --git a/vunit/vhdl/verification_components/src/std_logic_checker.vhd b/vunit/vhdl/verification_components/src/std_logic_checker.vhd index f5b488515..f205860c5 100644 --- a/vunit/vhdl/verification_components/src/std_logic_checker.vhd +++ b/vunit/vhdl/verification_components/src/std_logic_checker.vhd @@ -7,11 +7,15 @@ library ieee; use ieee.std_logic_1164.all; -context work.vunit_context; -context work.data_types_context; -context work.com_context; +use work.com_pkg.net; +use work.com_pkg.receive; +use work.com_pkg.reply; +use work.com_types_pkg.all; +use work.logger_pkg.all; +use work.queue_pkg.all; use work.signal_checker_pkg.all; -use work.sync_pkg.all; +use work.sync_pkg.wait_until_idle_msg; +use work.sync_pkg.wait_until_idle_reply_msg; entity std_logic_checker is generic ( diff --git a/vunit/vhdl/verification_components/src/stream_master_pkg-body.vhd b/vunit/vhdl/verification_components/src/stream_master_pkg-body.vhd index b3adf1936..928245fbf 100644 --- a/vunit/vhdl/verification_components/src/stream_master_pkg-body.vhd +++ b/vunit/vhdl/verification_components/src/stream_master_pkg-body.vhd @@ -4,12 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -library ieee; -use ieee.std_logic_1164.all; - -context work.vunit_context; -context work.com_context; - package body stream_master_pkg is impure function new_stream_master return stream_master_t is begin diff --git a/vunit/vhdl/verification_components/src/stream_master_pkg.vhd b/vunit/vhdl/verification_components/src/stream_master_pkg.vhd index 8e837b4d6..3dedf1e65 100644 --- a/vunit/vhdl/verification_components/src/stream_master_pkg.vhd +++ b/vunit/vhdl/verification_components/src/stream_master_pkg.vhd @@ -9,8 +9,9 @@ library ieee; use ieee.std_logic_1164.all; -context work.vunit_context; -context work.com_context; +use work.com_pkg.new_actor; +use work.com_pkg.send; +use work.com_types_pkg.all; package stream_master_pkg is -- Stream master handle diff --git a/vunit/vhdl/verification_components/src/stream_slave_pkg.vhd b/vunit/vhdl/verification_components/src/stream_slave_pkg.vhd index f1ef3c883..af5637075 100644 --- a/vunit/vhdl/verification_components/src/stream_slave_pkg.vhd +++ b/vunit/vhdl/verification_components/src/stream_slave_pkg.vhd @@ -9,8 +9,9 @@ library ieee; use ieee.std_logic_1164.all; -context work.vunit_context; -context work.com_context; +use work.check_pkg.all; +use work.com_pkg.all; +use work.com_types_pkg.all; package stream_slave_pkg is -- Stream slave handle diff --git a/vunit/vhdl/verification_components/src/sync_pkg-body.vhd b/vunit/vhdl/verification_components/src/sync_pkg-body.vhd index cca7315ab..83a0caced 100644 --- a/vunit/vhdl/verification_components/src/sync_pkg-body.vhd +++ b/vunit/vhdl/verification_components/src/sync_pkg-body.vhd @@ -4,10 +4,6 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -context work.vunit_context; -use work.queue_pkg.all; -context work.com_context; - package body sync_pkg is procedure wait_until_idle(signal net : inout network_t; handle : sync_handle_t) is diff --git a/vunit/vhdl/verification_components/src/sync_pkg.vhd b/vunit/vhdl/verification_components/src/sync_pkg.vhd index 925a9a4f8..2ad63a80a 100644 --- a/vunit/vhdl/verification_components/src/sync_pkg.vhd +++ b/vunit/vhdl/verification_components/src/sync_pkg.vhd @@ -6,8 +6,10 @@ -- Defines synchronization verification component interface VCI -context work.vunit_context; -context work.com_context; +use work.com_pkg.request; +use work.com_pkg.send; +use work.com_pkg.reply; +use work.com_types_pkg.all; package sync_pkg is diff --git a/vunit/vhdl/verification_components/src/uart_master.vhd b/vunit/vhdl/verification_components/src/uart_master.vhd index dd96a55ff..30aedac51 100644 --- a/vunit/vhdl/verification_components/src/uart_master.vhd +++ b/vunit/vhdl/verification_components/src/uart_master.vhd @@ -7,13 +7,13 @@ library ieee; use ieee.std_logic_1164.all; -library vunit_lib; -context vunit_lib.vunit_context; -context vunit_lib.com_context; -use vunit_lib.stream_master_pkg.all; -use vunit_lib.uart_pkg.all; -use vunit_lib.queue_pkg.all; -use vunit_lib.sync_pkg.all; +use work.com_pkg.net; +use work.com_pkg.receive; +use work.com_types_pkg.all; +use work.logger_pkg.all; +use work.stream_master_pkg.stream_push_msg; +use work.sync_pkg.handle_sync_message; +use work.uart_pkg.all; entity uart_master is generic ( diff --git a/vunit/vhdl/verification_components/src/uart_pkg.vhd b/vunit/vhdl/verification_components/src/uart_pkg.vhd index b93bc180f..cff33dd78 100644 --- a/vunit/vhdl/verification_components/src/uart_pkg.vhd +++ b/vunit/vhdl/verification_components/src/uart_pkg.vhd @@ -7,12 +7,12 @@ library ieee; use ieee.std_logic_1164.all; -context work.com_context; -use work.stream_master_pkg.all; -use work.stream_slave_pkg.all; -use work.sync_pkg.all; -use work.integer_vector_ptr_pkg.all; -use work.queue_pkg.all; +use work.com_pkg.new_actor; +use work.com_pkg.send; +use work.com_types_pkg.all; +use work.stream_master_pkg.stream_master_t; +use work.stream_slave_pkg.stream_slave_t; +use work.sync_pkg.sync_handle_t; package uart_pkg is type uart_master_t is record diff --git a/vunit/vhdl/verification_components/src/uart_slave.vhd b/vunit/vhdl/verification_components/src/uart_slave.vhd index 773d4dc17..fc218624d 100644 --- a/vunit/vhdl/verification_components/src/uart_slave.vhd +++ b/vunit/vhdl/verification_components/src/uart_slave.vhd @@ -7,12 +7,13 @@ library ieee; use ieee.std_logic_1164.all; -library vunit_lib; -context vunit_lib.vunit_context; -context vunit_lib.com_context; -use vunit_lib.stream_slave_pkg.all; -use vunit_lib.uart_pkg.all; -use vunit_lib.queue_pkg.all; +use work.com_pkg.net; +use work.com_pkg.receive; +use work.com_pkg.reply; +use work.com_types_pkg.all; +use work.queue_pkg.all; +use work.stream_slave_pkg.stream_pop_msg; +use work.uart_pkg.all; entity uart_slave is generic ( diff --git a/vunit/vhdl/verification_components/src/wishbone_master.vhd b/vunit/vhdl/verification_components/src/wishbone_master.vhd index 36dabdf9f..6885ccadb 100644 --- a/vunit/vhdl/verification_components/src/wishbone_master.vhd +++ b/vunit/vhdl/verification_components/src/wishbone_master.vhd @@ -9,18 +9,17 @@ library ieee; use ieee.std_logic_1164.all; -use work.queue_pkg.all; +library osvvm; +use osvvm.RandomPkg.RandomPType; + use work.bus_master_pkg.all; -context work.com_context; +use work.com_pkg.all; +use work.queue_pkg.all; use work.com_types_pkg.all; -use work.logger_pkg.all; use work.check_pkg.all; use work.log_levels_pkg.all; use work.sync_pkg.all; -library osvvm; -use osvvm.RandomPkg.all; - entity wishbone_master is generic ( bus_handle : bus_master_t; diff --git a/vunit/vhdl/verification_components/src/wishbone_pkg.vhd b/vunit/vhdl/verification_components/src/wishbone_pkg.vhd index 8a6af27a1..466920ca9 100644 --- a/vunit/vhdl/verification_components/src/wishbone_pkg.vhd +++ b/vunit/vhdl/verification_components/src/wishbone_pkg.vhd @@ -4,13 +4,15 @@ -- -- Copyright (c) 2014-2024, Lars Asplund lars.anders.asplund@gmail.com -- Author Slawomir Siluk slaweksiluk@gazeta.pl + library ieee; use ieee.std_logic_1164.all; -use work.queue_pkg.all; +use work.com_pkg.new_actor; +use work.com_types_pkg.actor_t; use work.logger_pkg.all; -use work.memory_pkg.all; -context work.com_context; +use work.memory_pkg.memory_t; +use work.memory_pkg.to_vc_interface; package wishbone_pkg is diff --git a/vunit/vhdl/verification_components/src/wishbone_slave.vhd b/vunit/vhdl/verification_components/src/wishbone_slave.vhd index a98ad16ef..321dc39e1 100644 --- a/vunit/vhdl/verification_components/src/wishbone_slave.vhd +++ b/vunit/vhdl/verification_components/src/wishbone_slave.vhd @@ -13,13 +13,16 @@ library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; -context work.vunit_context; -context work.com_context; -use work.memory_pkg.all; -use work.wishbone_pkg.all; - library osvvm; -use osvvm.RandomPkg.all; +use osvvm.RandomPkg.RandomPType; + +use work.com_pkg.net; +use work.com_pkg.receive; +use work.com_pkg.send; +use work.com_types_pkg.all; +use work.memory_pkg.read_word; +use work.memory_pkg.write_word; +use work.wishbone_pkg.all; entity wishbone_slave is generic (