A recent TechTalk at https://youtu.be/_csv53LlXp8 by Robert Juliano Ph.D., Sr. Director of Applications, Mirabilis Design covers a similar topic.
The instruction-mix table method of software emulation offers the most advantages for architecture exploration. Using this approach, the designer can view the depth of the pipeline, identify the cause of a stall, power management algorithm impact, memory hierarchy operation, performance slowdown of load/store requests, and cache coherency algorithm quality. The simulation reports provide significant visibility into the architecture operation and allow for great optimization of the system throughput.
A number of other approaches can also be used for architecture exploration. They are extremely hard to generate. This includes hand-annotating specific sections of the code; generating a bus trace with a list of instructions, and tapping the Operating System for cache accesses. These approaches are implementation-specific but can be targeted for a timing-intensive function. So, the next time you are doing architecture exploration, look at your options for the software emulation to test the architecture. Look beyond the ISS. Look at the instruction-mix table.
About the author:
Deepak Shankar is the Founder of Mirabilis Design, a systems engineering software solutions provider. Mr. Shankar has been involved with architecture exploration of embedded systems, semiconductors and real-time software for over 20 years. While at Mirabilis Design, he has developed new methodologies and solutions to streamline the validation of system specification, make architecture exploration extremely accurate and accelerate the systems engineering process. Prior to Mirabilis Design, Deepak Shankar has worked at Cadence, Spincircuit and Memcall in technical, marketing and executive management roles. Mr. Shankar has published over 30 articles in technical journals around the world and has