The flow consists of many separate tools and information is exchanged with files. This chapter gives an overview of 8 file and database types manipulated by TCE applications and accessible to users of the toolset, architecture definition .adf and SW binary .tpef being the most important ones. Many files are XML so user can easily access them, if needed.
There a 3 kind of files:
Filename extension: .adf
Architecture Definition File (ADF) is a file format for defining target processor architectures, e.g. which function units are used and how they are connected [CSJ04]. ADF can be created with ProDe manually or, e.g., by automated design space exploration tools. ADF is a specification of the target ``processor architecture'', meaning that only the information needed to generate valid programs for the processor is stored, but nothing else. This file is needed by many tools, such as tcecc, ttasim, and ProGe.
The XML snippet below gives an idea of ADF.
<adf version="1.7"> <bus name="B1"> <width>32</width> <guard> <always-true/> ... <socket name="alu_comp_i1"> <reads-from> <bus>B1</bus> ... <function-unit name="alu_comp"> <port name="in1t"> <connects-to>alu_comp_i1</connects-to> <width>32</width> <triggers/> ... <operation> <name>add</name> <bind name="1">in1t</bind> ... <register-file name="RF"> <type>normal</type> ... <address-space name="data"> <width>8</width> ...
Filename extension: .tpef
TTA Program Exchange Format (TPEF) is a file format for storing compiled TTA programs which can be either unscheduled, partially scheduled, or scheduled [Cil04]. TPEF supports auxiliary sections for storing additional information related to the program, such as execution profiles, machine resource data, and target address space definitions. This file is needed, e.g. by ttasim and Pig.
Hardware Database (HDB) is the main SQLite database used by the Processor Generator and the Cost Estimator. The data stored in HDB consist of hardware description language definitions (HDL) of TTA components (function units, register files, buses and sockets) and metadata that describe certain parameters used in implementations. In addition, HDB may include data of each implementation needed by the cost estimation algorithms.
TCE ships with an example HDB that includes implementations for several function units and register files in VHDL, and cost data for the default interpolating cost estimation plugin.
Filename extension: .idf
Describes which implementations to use for each component in the architecture. Hence, this links architectural components described in ADF files to implementation alternatives stored in HDB. Using this information it is possible to fetch correct hardware description language (HDL) files from the hardware block library for cost estimation and processor generation. This file is needed, by ProGe and PIG.
The XML snippet below gives an idea of IDF.
<adf-implementation> ... <fu name="LSU"> <hdb-file>asic_130nm_1.5V.hdb</hdb-file> <fu-id>62</fu-id> </fu> ...
Filename extension: .bem
Provides enough information to produce an executable uncompressed bit image from TPEF program data.
OSAL stores the simulation behavior and static properties of operations that can be added to the function units in the designed processors.
Simulation behavior of function unit operations is described by implementing simulation functions which can be plugged in to the simulator run time.
The .opp file is an XML file for defining the static properties of operations (for example, how many inputs and outputs an operation has). The .cc is the C++ source file that defines the behavior model for a set of operations. The .opb is the plugin module compiled from the .cc. OSAL is quite complex and further details are presented in Section 4.3.
Filename extension: .tracedb
Stores data collected from simulations and used by instruction scheduler (profiling data) and cost estimator (utilization statistics, etc.).
Filename extension: .dsdb
Exploration Result Database (ExpResDB) contains the configurations that have been evaluated during exploration (manual or automatic) and a summary of their characteristics. Files that define each tested configuration (ADF and IDF) are stored in the database as well.
Table 2.2 summarizes briefly the most common TCE file types.
Postfix | Purpose | Format |
adf | Architecture description | XML |
idf | Implementation/microarchitecture description | XML |
hdb | HW database | SQLite |
tpef | TTA program exchange format | bin |
bem | Binary encoding map | XML |
opp | Operation properties | XML |
cc | Simulation behavior of an operation | C++ |
opb | Compiled operation behavior | bin |
tracedb | Database of simulation and cost estimation results | SQLite |
dsdb | Database of exploration results and TTA configurations | SQLite |
Pekka Jääskeläinen 2018-03-12