Include
From NaplesPU Documentation
Nu+ Defines
User Defines
Furthermore, DISPLAY variables are defined, all commented by default. When a DISPLAY variable is active, it generates a file, under a folder named after the selected kernel. Each DISPLAY variable logs a defined kind of transaction, namely:
* DISPLAY_MEMORY: logs on file the memory state at the end of the kernel execution. * DISPLAY_MEMORY_TRANS: logs on file all requests to the main memory. * DISPLAY_INT: logs every integer operation in the integer pipeline, and their results. * DISPLAY_CORE: enables log from the core (file display_core.txt). * DISPLAY_ISSUE: logs all scheduled instructions, and tracks the scheduled PC and the issued Thread, when DISPLAY_CORE is defined. * DISPLAY_INT: logs all results from the integer module, when DISPLAY_CORE is defined. * DISPLAY_WB: logs all results from the writeback module, when DISPLAY_CORE is defined. * DISPLAY_LDST: enables logging into the load/store unit (file display_ldst.txt). * DISPLAY_CACHE_CONTROLLER: logs memory transactions between Load/Store unit and the main memory. * DISPLAY_SYNCH_CORE: logs synchronization requests within the core. * DISPLAY_BARRIER_CORE: logs synchronization releases from the Synchronization master. * DISPLAY_COHERENCE: logs all coherence transactions among CCs, DCs and MC. * DISPLAY_THREAD_STATUS: displays all active threads status and trap reason.
These variables selectively enable the logging of a specific feature. For each define, a log file is typically created in nuplus/simulationlog/<name_of_the_kernel>/display_<name>. DISPLAY_SIMULATION_LOG variable has to be always defined in the simulation flow, this also displays architectural information on the tcl shell.