This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Using Fast Models to simulate data processing with timing output?

Hello, All,
I'm brand new to Fast Models as well as LISA+, so apologies off the bat. I've been working on getting Fast Models up and running, but now I'm starting to question whether it's even the tool I need and was wondering if anyone could confirm or point me in another direction.
I need to optimize different variations in a program to run on a Cortex-M3. I want to run large amounts of input test data through each variation of my program (10s of GB of output total) to assess how the different variations perform relative to each other. I have a PCB with a Cortex-M3 on it that I've used for smaller tests, but running all of the test data through that board would literally take weeks. So I'd like a tool for emulating what an actual Cortex-M3 does--same functional output, and if possible, same timing so I can assess execution speed--but that can churn out the output at orders of magnitude faster than the Cortex-M3 itself.
From what I've read, Fast Models is not cycle accurate. But I'm a little confused by that, because in tutorials I've found, execution time seems to be modeled, in a benchmarking simulation, for example. If that's the case, execution time is all I would need.
Also, with Fast Models, is there an effective/easy way of writing the output data from the modeled system to a file for further analysis? (Maybe by attaching a large block of RAM in Fast Models and saving it somehow? I saw a SignalLogger module in Fast Models...)
Before I invest further time in learning a new tool, I'd appreciate anyone's thoughts on whether Fast Models is what I'm looking for, or if there is a different option that would better suit my needs. Thanks in advance for any leads!
  • Hello pg5033

    Fast Models, as the name implies, do indeed run at very high speeds, typically in the 100s MHz, depending on the host machine. There will always be a trade off between this performance, and the information that it can generate.

    Fast models are 100% functionally accurate, meaning that they execute the same as real silicon, and can easily give broad performance benchmarking information, in terms of number of instructions executed, and other high level info (run with --stat to get an execution report upon completion).

    You can then apply cache functionality, and higher level timing annotation to the model to make it closer to the real life situation, though this will require more processing on the model, and hence will slow down the performance. For more information on this, see

    developer.arm.com/.../timing-annotation

    We can provide more context specific assistance to you if you can contact us directly, please can you send us an email to arm-tool-solutions(at)arm(dot)com

    Regards

    Ronan