Performance Counter
A counter which resets on read? Sounds cool.
You are working on the next generation Processor unit and are responsible for designing the CPU performance monitor extension. The performance monitors usually contains a fixed number of counters which can be programmed to be triggered on an event from different CPU units.
Design the base counter module which can be instantiated depending on the implemented number of such counter in the CPU. The counter should be triggered on a single-bit event received from the CPU pipeline. The counter output should only be accessible to software reads and thus has a software read request as an input.
Loading the interactive workspace...