Piparazzi's main focus is to generate tests that verify control aspects of the micro-architecture. As such, these tests generally involve events that require intricate timing.
The main mechanisms that Piparazzi features are:
- Fetch and decode mechanism: Timing, etc.
- Branch prediction: Static and dynamic prediction, etc.
- Dispatching: Dispatching grouping rules, stalls in dispatcher, etc.
- Issue: Issue queues, synchronization, dual issue, etc.
- Execution pipelines: Types of stalls, forwarding, different types of propagation, etc.
- Fixed point pipeline
- Floating point pipeline
- Load/Store unit: L1 cache, hit and miss queues, etc.
- Branch pipeline
- CR operations pipeline
- Completion unit: Rules of completion, etc.
- In order/out of order execution
- Exceptions and flushing: Timing, priorities, etc.
- Confirm and commit: rules, etc.
- Modeling of different types of ISAs (Instruction Set Architecture)
- Multi-threading execution
|
 |
|
 |