diff --git a/libraries/technology/jesd204b/tb_tech_jesd204b.vhd b/libraries/technology/jesd204b/tb_tech_jesd204b.vhd
index 8653d132d75b96794ef2fd80f55b31f38b6bedcf..2b39695384240c29940daa267b2e798fb9c3d5c6 100644
--- a/libraries/technology/jesd204b/tb_tech_jesd204b.vhd
+++ b/libraries/technology/jesd204b/tb_tech_jesd204b.vhd
@@ -39,15 +39,18 @@ USE IEEE.numeric_std.ALL;
 USE common_lib.common_pkg.ALL;
 USE common_lib.common_mem_pkg.ALL;
 USE common_lib.tb_common_pkg.ALL;
+USE common_lib.tb_common_mem_pkg.ALL;
 USE dp_lib.dp_stream_pkg.ALL;
 USE work.tech_jesd204b_component_pkg.ALL;
+USE work.tech_jesd204b_pkg.ALL;
 
 ENTITY tb_tech_jesd204b IS
 END tb_tech_jesd204b;
 
 ARCHITECTURE tb OF tb_tech_jesd204b IS
 
-  CONSTANT c_sim                      : BOOLEAN := TRUE;
+  -- FALSE is use mm_clk in JESD IP, TRUE is use rxlink_clk as mm_clk in JESD IP
+  CONSTANT c_sim                      : BOOLEAN := FALSE;  -- use FALSE as on HW, to verify jesd204b_rddata
 
   CONSTANT c_jesd204b_sampclk_period  : TIME := 5 ns;
   CONSTANT c_bondingclk_period        : TIME := 10 ns;
@@ -108,7 +111,7 @@ ARCHITECTURE tb OF tb_tech_jesd204b IS
   SIGNAL bonding_clock_5     : STD_LOGIC := '0';
   SIGNAL pll_locked          : STD_LOGIC_VECTOR(0 downto 0);
 
-  CONSTANT c_mm_clk_period   : TIME := 20 ns;  
+  CONSTANT c_mm_clk_period   : TIME := 20 ns;
   SIGNAL mm_clk              : STD_LOGIC := '0';
 
   -- Tb
@@ -120,7 +123,8 @@ ARCHITECTURE tb OF tb_tech_jesd204b IS
   -- JESD 
   SIGNAL jesd204b_mosi               : t_mem_mosi := c_mem_mosi_rst;
   SIGNAL jesd204b_miso               : t_mem_miso := c_mem_miso_rst; 
-                
+  SIGNAL jesd204b_rddata             : STD_LOGIC_VECTOR(c_word_w-1 DOWNTO 0);
+
   -- serial transceivers
   SIGNAL serial_tx                   : STD_LOGIC_VECTOR(c_nof_jesd204b_tx-1 downto 0); 
   SIGNAL bck_rx                      : STD_LOGIC_VECTOR(c_nof_streams_jesd204b-1 downto 0) := (others => '0');
@@ -168,7 +172,6 @@ ARCHITECTURE tb OF tb_tech_jesd204b IS
 
 BEGIN
 
-
   ----------------------------------------------------------------------------
   -- System setup
   ----------------------------------------------------------------------------
@@ -178,7 +181,6 @@ BEGIN
 
   jesd204b_disable_arr <= (OTHERS => '0');
 
- 
   ------------------------------------------------------------------------------
   -- DUT
   ------------------------------------------------------------------------------
@@ -193,7 +195,6 @@ BEGIN
     jesd204b_sysref      => jesd204b_sysref_fpga,   
     jesd204b_sync_n_arr  => jesd204b_sync_n_fpga,   
   
-
     jesd204b_disable_arr => jesd204b_disable_arr,
 
     rx_sosi_arr          => rx_sosi_arr,          
@@ -213,7 +214,31 @@ BEGIN
     serial_rx_arr        => bck_rx(c_nof_streams_jesd204b-1 downto 0)
   );
 
+  p_monitor_jesd204b : PROCESS
+  BEGIN
+    WAIT UNTIL sim_done = '1';
+    proc_common_wait_some_cycles(mm_clk, 1);  -- align with mm_clk domain
+
+    proc_mem_mm_bus_rd(tech_jesd204b_field_rx_err_enable_adr, mm_clk, jesd204b_miso, jesd204b_mosi);
+    proc_common_wait_some_cycles(mm_clk, 1);
+    ASSERT UNSIGNED(jesd204b_rddata) = tech_jesd204b_field_rx_err_enable_reset
+        REPORT "Wrong rx_err_enable_reset: " & INTEGER'IMAGE(TO_SINT(jesd204b_rddata)) & " /= " & INTEGER'IMAGE(tech_jesd204b_field_rx_err_enable_reset) SEVERITY ERROR;
+
+    proc_mem_mm_bus_rd(tech_jesd204b_field_rx_err_link_reinit_adr, mm_clk, jesd204b_miso, jesd204b_mosi);
+    proc_common_wait_some_cycles(mm_clk, 1);
+    ASSERT UNSIGNED(jesd204b_rddata) = tech_jesd204b_field_rx_err_link_reinit_reset
+        REPORT "Wrong rx_err_link_reinit_reset: " & INTEGER'IMAGE(TO_SINT(jesd204b_rddata)) & " /= " & INTEGER'IMAGE(tech_jesd204b_field_rx_err_link_reinit_reset) SEVERITY ERROR;
+
+    proc_mem_mm_bus_rd(tech_jesd204b_field_rx_syncn_sysref_ctrl_adr, mm_clk, jesd204b_miso, jesd204b_mosi);
+
+    proc_mem_mm_bus_rd(tech_jesd204b_field_rx_err0_adr,              mm_clk, jesd204b_miso, jesd204b_mosi);
+    proc_mem_mm_bus_rd(tech_jesd204b_field_rx_err1_adr,              mm_clk, jesd204b_miso, jesd204b_mosi);
+    proc_mem_mm_bus_rd(tech_jesd204b_field_csr_rbd_count_adr,        mm_clk, jesd204b_miso, jesd204b_mosi);
+    proc_mem_mm_bus_rd(tech_jesd204b_field_csr_dev_syncn_adr,        mm_clk, jesd204b_miso, jesd204b_mosi);
+    WAIT;
+  END PROCESS;
 
+  jesd204b_rddata <= jesd204b_miso.rddata(c_word_w-1 DOWNTO 0);
 
   -----------------------------------------------------------------------------
   -- Transport