In reply to chrisspear:
- The CPU transaction class could be called “cpu_item”, and stored in “cpu_item.svh”
- Someday you might want to randomize the transaction properties, assuming these are inputs into the design. So declare them as rand.
- The transaction class has 3 clock variables and reset. Those are really low-level RTL signals, not high-level properties. For example, are you going to generate a random clock or reset value? Is your scoreboard going to compare the clock value?
OK, enough avoiding my day job :-)