From 3b0118bc14507e6c3d249635dcf41ed60fe77663 Mon Sep 17 00:00:00 2001
From: Eric Kooistra <kooistra@astron.nl>
Date: Fri, 24 Feb 2023 07:32:50 +0100
Subject: [PATCH] Add proc_common_wait_until_clk_and_high().

---
 .../base/common/tb/vhdl/tb_common_pkg.vhd      | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/libraries/base/common/tb/vhdl/tb_common_pkg.vhd b/libraries/base/common/tb/vhdl/tb_common_pkg.vhd
index ab0bd1f18a..ee15dbe99c 100644
--- a/libraries/base/common/tb/vhdl/tb_common_pkg.vhd
+++ b/libraries/base/common/tb/vhdl/tb_common_pkg.vhd
@@ -81,6 +81,9 @@ PACKAGE tb_common_pkg IS
   PROCEDURE proc_common_wait_until_high(SIGNAL clk    : IN  STD_LOGIC;
                                         SIGNAL level  : IN  STD_LOGIC);
                                                 
+  PROCEDURE proc_common_wait_until_clk_and_high(SIGNAL clk    : IN  STD_LOGIC;
+                                                SIGNAL level  : IN  STD_LOGIC);
+
   PROCEDURE proc_common_wait_until_low(CONSTANT c_timeout : IN  NATURAL;
                                        SIGNAL   clk       : IN  STD_LOGIC;
                                        SIGNAL   level     : IN  STD_LOGIC);
@@ -88,6 +91,9 @@ PACKAGE tb_common_pkg IS
   PROCEDURE proc_common_wait_until_low(SIGNAL clk    : IN  STD_LOGIC;
                                        SIGNAL level  : IN  STD_LOGIC);
                                          
+  PROCEDURE proc_common_wait_until_clk_and_low(SIGNAL clk    : IN  STD_LOGIC;
+                                               SIGNAL level  : IN  STD_LOGIC);
+
   PROCEDURE proc_common_wait_until_hi_lo(CONSTANT c_timeout : IN  NATURAL;
                                          SIGNAL   clk       : IN  STD_LOGIC;
                                          SIGNAL   level     : IN  STD_LOGIC);
@@ -427,6 +433,12 @@ PACKAGE BODY tb_common_pkg IS
       WAIT UNTIL rising_edge(clk) AND level='1';
     END IF;
   END proc_common_wait_until_high;
+
+  PROCEDURE proc_common_wait_until_clk_and_high(SIGNAL clk    : IN  STD_LOGIC;
+                                                SIGNAL level  : IN  STD_LOGIC) IS
+  BEGIN
+    WAIT UNTIL rising_edge(clk) AND level='1';
+  END proc_common_wait_until_clk_and_high;
   
   PROCEDURE proc_common_wait_until_high(CONSTANT c_timeout : IN  NATURAL;
                                         SIGNAL   clk       : IN  STD_LOGIC;
@@ -452,6 +464,12 @@ PACKAGE BODY tb_common_pkg IS
     END IF;
   END proc_common_wait_until_low;
   
+  PROCEDURE proc_common_wait_until_clk_and_low(SIGNAL clk    : IN  STD_LOGIC;
+                                              SIGNAL level  : IN  STD_LOGIC) IS
+  BEGIN
+    WAIT UNTIL rising_edge(clk) AND level='0';
+  END proc_common_wait_until_clk_and_low;
+
   PROCEDURE proc_common_wait_until_low(CONSTANT c_timeout : IN  NATURAL;
                                        SIGNAL   clk       : IN  STD_LOGIC;
                                        SIGNAL   level     : IN  STD_LOGIC) IS
-- 
GitLab