How do we handle stimulus based on previous transcation

HI,

I want to understand how can we handle keep track of stimulus generation.
Example:: 1.I have had certain memory bank active state what is the best way to keep that info in the UVM for stimulus generation.
2. I have to have certain order of type of commands which need to follow a certain order , Should i create an array of stimulus packets and constraint the order or is there a better way to handle it in the sequence so that i can dynamically change the stimulus based on previous few transactions.

Thanks

In reply to madcow:

There are a couple of difference mechansims to achieve what you are looking for, but you would need to provide more specific details to get more specific answers.

Depending on what you mean by “Memory bank active state”, the UVM has a Register Abstraction Layer that keeps a local of memory registers that your sequence can access directly.

You sequence can certainly keep a history of previous transactions, or just enough information about the previous transactions to be used in constraints for generating the next transaction.

In reply to dave_59:

In reply to madcow:
There are a couple of difference mechansims to achieve what you are looking for, but you would need to provide more specific details to get more specific answers.
Depending on what you mean by “Memory bank active state”, the UVM has a Register Abstraction Layer that keeps a local of memory registers that your sequence can access directly.
You sequence can certainly keep a history of previous transactions, or just enough information about the previous transactions to be used in constraints for generating the next transaction.

Hi Dave,
I have to generate sequence items based on previous transactions. How do i keep a memory of all transaction in sequence. If the thread has died how do we pass list of previous transaction to the new sequence thread.
2. How do we control delay between two transactions in sequence if you dont want to do it driver. Like pre/post cmd delays based change in design clock period.

In reply to madcow:

You can control a delay between the processing of 2 transactions only in the driver. The sequence does not know anything about clock cycles.
What do you mean with ‘I have to generate sequence items based on previous transactions’. Is this unique transactions or is there an algorithm to calcilate data members of the actual transaction depending on the content of the previous one or is it something different?