In reply to aarelovich:
You shouldn’t stop your simulation while there are still transactions in flight. Your monitor should delay the end of the test whenever it starts collecting a transaction and allow it only after a transaction was collected. This can be done in multiple ways:
- raise an objection whenever you start collecting and drop it once that transaction has been collected and sent out an analysis port
- override phase_ready_to_end() to block the end of the run_phase while you’re collecting a transaction