Running two asynchronous sequences

I’m fairly new to UVM and running a UVM verification based on Easier UVM. I defined two agents with their respective drivers and sequences. Each agent alone performs its job as expected, but as soon as I enable both of them, the faster sequence is synchronized to the slower one: There is one sequence that needs to wait for 10 clock cycles for the driver to perform its task and one that completes in one clock cycle. What I observe is that the faster sequence performs its one-cycle job then sits idle for nine cycles before the next randomization is performed.
From the code, I cannot figure out where this synchronization is happening.

The structure of the project is like this:

uvm_test_top                          top_test                  -     @2092     
  m_env                               top_env                   -     @2158     
    m_IO_env                          IO_env                    -     @2216     
      m_IO_agent                      IO_agent                  -     @2300     
        analysis_port                 uvm_analysis_port         -     @2351     
        m_driver                      IO_driver                 -     @2550     
          m_8b10b                     endec_8b10b_encoder       -     @3337     
            m_cov_data_analysis_port  uvm_analysis_port         -     @3387     
            m_coverage_h              endec_8b10b_coverage      -     @3419     
              m_cov_data_ap           uvm_analysis_imp          -     @3471     
          rsp_port                    uvm_analysis_port         -     @2652     
          seq_item_port               uvm_seq_item_pull_port    -     @2600     
        m_monitor                     IO_monitor                -     @2414     
          analysis_port               uvm_analysis_port         -     @2518     
          m_8b10b                     endec_8b10b_decoder       -     @3524     
            m_cov_data_analysis_port  uvm_analysis_port         -     @3574     
            m_coverage_h              endec_8b10b_coverage      -     @3607     
              m_cov_data_ap           uvm_analysis_imp          -     @3656     
        m_sequencer                   uvm_sequencer             -     @2683     
          rsp_export                  uvm_analysis_export       -     @2744     
          seq_item_export             uvm_seq_item_pull_imp     -     @3304     
          arbitration_queue           array                     0     -....     
          lock_queue                  array                     0     -....     
          num_last_reqs               integral                  32    'd1..     
          num_last_rsps               integral                  32    'd1..     
      m_IO_coverage                   IO_coverage               -     @2384     
        analysis_imp                  uvm_analysis_imp          -     @2434     
    m_analog_env                      analog_env                -     @2247     
      m_analog_agent                  analog_agent              -     @3750     
        analysis_port                 uvm_analysis_port         -     @3800     
        m_driver                      analog_driver             -     @3999     
          rsp_port                    uvm_analysis_port         -     @4101     
          seq_item_port               uvm_seq_item_pull_port    -     @4049     
        m_monitor                     analog_monitor            -     @3863     
          analysis_port               uvm_analysis_port         -     @3967     
        m_sequencer                   uvm_sequencer             -     @4132     
          rsp_export                  uvm_analysis_export       -     @4192     
          seq_item_export             uvm_seq_item_pull_imp     -     @4752     
          arbitration_queue           array                     0     -....     
          lock_queue                  array                     0     -....     
          num_last_reqs               integral                  32    'd1..     
          num_last_rsps               integral                  32    'd1..     
      m_analog_coverage               analog_coverage           -     @3833     
        analysis_imp                  uvm_analysis_imp          -     @3883

I.e. the two sequencers (IO and analog) only meet at the top level environment. Do I need to separate them even more?

Thanks,
digitalo

In reply to digitalo:

You need to show how your sequence is coded. I’m going to guess that you use a fork/join around both sequences. This will require both sequences to finish before restarting them again.