You copied the Doc URL to your clipboard.

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

Article ID: 103489573

Published date: 31 Jan 2018

Last updated: -

Applies to: Cortex-M3

Question

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

Answer

RTL release bundles for Cortex-M3 r2p0 and r2p1 contain an '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 that the processor executes, along with 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";

Related information

N/A

Was this page helpful? Yes No