Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tapasco
tapasco
Commits
87f0de99
Commit
87f0de99
authored
May 11, 2017
by
Jens Korinth
Browse files
Add Terminology man page
parent
a02ac9e1
Changes
1
Hide whitespace changes
Inline
Side-by-side
man/man7/tapasco-concepts.7
0 → 100644
View file @
87f0de99
.TH tapasco-concepts 7 "May 11, 2017" "version 2017.1" "MISC"
.SH TAPASCO CONCEPTS / TERMINOLOGY
.TP
.B Compositions
.RS
TaPaSCo generates on-chip microarchitectures for
.I Compositions
consisting of a number of
.I Processing Elements (PEs).
It organizes the PEs according to an
.I Architecture
template, instantiates a
.I Platform
template to provide access to/from the host, memory and a signaling interface
(e.g., interrupts) and performs automatic wiring and pin constraining to
generate a full-system design. All designs generated by TaPaSCo can be
programmed using the
.I Tapasco API
(see tapasco-api.h(3)), i.e., the same software can be run on multiple FPGA
platforms.
.RE
.B TaPaSCo microarchitectures
.RS
The microarchitectures generated by TaPaSCo consist of two parts: The
.I Architecture
and the
.I Platform:
Architecture is resonsible for the organization and wiring of the processing
elements, as well as their control interface. Platform is responsible for
the rest of the design, e.g., the communication to the host, access to
memory, peripherals.
.RE
.B Platform
.RS
Hardware Platform template; each target board (usually) requires its own
Platform template. The Platform defines
.RS 2
.B * the exact part identifier of the FPGA
(e.g., xc7z020clg484-1),
.br
.B * the connection to the host
(e.g., PCIe bridge, AXI master),
.br
.B * the device memory/-ies
(e.g., MIG controller, shared main memory) and
.br
.B * all available optional peripherals (LEDs, sensors, ...)
.RE
.PP
The template is implemented by its main Tcl script (for example, see
$TAPASCO_HOME/platforms/zynq/zynq.tcl). To implement a new Platform, simply
start from an existing one; the \'zc706\' and \'zedboard\' Platforms may be a
good starting point, because they show the minimal interface that is required
(they "inherit" most of their functionality from a common Zynq Tcl).
Hardware generated by the Platform is controlled via the
.I loadable kernel module (LKM)
(or, in general: the device driver) of the Platform and the user space library
above that in libplatform(3).
.RE
.TP
.B Architecture
.RS
Hardware template for the PE organization. The Architecture defines
.RS 2
.B * the control register interface layout
(i.e., PE-local address maps and protocol),
.br
.B * the memory access interface(s) for PEs
(e.g., AXI4-MM masters for memory accesses from PEs),
.br
.B * the signaling interface(s) for PEs
(e.g., level-sensitive interrupt lines),
.B * the automatic wiring and
.br
.B * the interfaces toward the
.I Platform
.RE
.PP
The main Tcl script of the Architecture generates a pre-wired cell called the
\'thread pool\' in which all PEs are instantiated and all their interfaces are
wired to macro-cell inputs/outputs.
.PP
Example: The \'baseline\' Architecture uses AXI4Lite interfaces for the control
registers of the PEs, AXI4-MM master interfaces for memory accesses of the PEs
and single wire, level-sensitive interrupt lines for signaling. The PEs are
connected using AXI Interconnect hierarchies.
.RE
.TP
.B Composition
.RS
Main input to TaPaSCo, a sequence of PEs with their instantiation counts.
TaPaSCo will automatically construct a full-system design from this input.
.RE
.TP
.B Processing Element (PE)
.RS
A hardware IP core that performs a specific computational function. These
are the building blocks of your design in TPC. Each PE is an
.I instance
of a
.I Core.
.RE
.TP
.B Core
.RS
A custom IP core described by an IP-XACT [2] description. This is the
file format the Xilinx Vivado IP Integrator uses in its IP Catalog. It usually
consists of a single .zip file with a \'component.xml\' somewhere inside it,
which provides detailed description of all files, ports and modules of
the IP core. For TaPaSCo, a Core also contains a basic evaluation report,
i.e., an estimation of the area and the worst case data path delay /
maximal frequency the core can run at, which is device-dependent; therefore
the same
.I Kernel
may have many Cores, one for each
.I Platform
and
.I Architecture
combination.
.RE
.TP
.B Target
.RS
Most activities in TaPaSCo require a Target:
A Target is a pair (
.I Architecture
,
.I Platform
).
.RE
.TP
.B Kernel
.RS
Abstract description of a
.I Core.
More precisely, in TaPaSCo a Kernel is the description of a custom IP core that
can be built via
.I High-Level Synthesis (HLS).
The HLS step will generate a
.I Core
suitable for the selected
.I Target.
.RE
REFERENCES
.RS
[1] http://json.org
.br
[2] http://www.accellera.org/activities/working-groups/ip-xact
.br
[3] http://www.scala-lang.org
.RE
Jens Korinth
@jk
mentioned in commit
a831b501
·
Jul 14, 2017
mentioned in commit
a831b501
mentioned in commit a831b5015df6bd8f8d23ddd334a3b1159392de92
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment