ARM Technical Support Knowledge Articles

Cortex-M3 example_tbench simulation (run_example) in Mentor Modelsim/Questasim (MTI) produces duplicate lines in tarmac.log

Applies to: Cortex-M3

Answer

RTL release bundles for Cortex-M3 r2p0 and r2p1 contain 'example' system including the 'run_example' script which compiles the 'example_tbench' design and one of the code examples in the 'Software' directory, and invokes the user's choice of standard simulator to simulate the example. The choice of simulators is Mentor Modelsim/Questasim ("-mti"), Cadence NC-Verilog ("-nc") or the default Synopsys VCS ("-vcs").

The simulation produces a listing file called 'tarmac.log' which contains a disassembly listing of all instructions executed by the processor, interleaved with corresponding bus activity and activity in the processor register bank.

In the "-mti" environment, this 'tarmac.log' mistakenly contains duplicates of every line.

This is caused by an inadvertent double instantiation of the 'tarmac' module; this module is explicitly instantiated in the 'example_tbench' module, but in the case of "-mti", is also invoked again on the simulator command line built by the 'run_example' script.

The duplication can most easily be removed by editing the 'run_example' script to comment out the extra invokation of 'tarmac' in the "setup_mti" section:

  #$TestBench  .= " tarmac";


Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential