Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Embedded Systems

Fit the Hardware to the Algorithm with SystemC Models


The algorithm-to-platform design flow can be subdivided into the following four flow phases.

Partitioning
The term "partitioning" describes the process of subdividing a complete system (called a "System View" in SPD) into smaller sub-systems (called "Detail Views" in SPD). Additionally, decisions are made about the upcoming mapping of the algorithm to hardware and software. SPD's Detail Views are the basis for generating DSP hardware peripheral models from SPD models. An example is shown in Figure 3.


(Click to enlarge)

3. Example of an SPD Detail View

Platform Component Generation
A prepared Detail View can be easily exported as a SystemC module and used as a platform component in Platform Architect. During the export, a number of configurable parameters are available, including:

  • Export Parameters: These are used to configure the export session itself, e.g. the type of SystemC wrapper that will be generated.
  • Design Parameters: These are used to select parameters that will be accessible after the export. Depending on the generated SystemC wrapper, they are provided as constructor arguments and/or as a part of a possible register interface of the wrapper.
  • Design Probes: Probes can be attached to any port of a block in a Detail View. They can be used for debugging and verification purposes.

The generated DSP hardware peripheral model contains the highly optimized SPD data flow simulation executable, wrapped into a SystemC transaction level model, compliant with the SystemC Modeling Library (SCML) modelling standard. SPD simulation executables are designed to be used for simulating large DSP systems. As a result, the DSP peripheral model is efficient, even if the designer encapsulates large hierarchical designs.

The "Programmers View Transaction Level Modeling (PV TLM) Bus Wrapper" represents a Programmer's View target peripheral as shown in Figure 4. It offers a memory-mapped register interface. This register interface is based on a SCML memory model. Through this interface, data can be easily read and written. It also allows the designer to control the platform component.


(Click to enlarge)

4. Transaction-level bus wrapper

The automatically generated transaction-level bus wrapper owns two ports:

  • A PV Target Port, which is connected to the platform's bus (if necessary, via a transactor) and linked to the wrapper's register interface
  • An Interrupt Port, which can be directly connected to an interrupt controller

The automatically generated transaction-level bus wrapper's register interface consists of a set of 32-bit registers. These registers may be subdivided into three categories:

  • Control Registers: They provide control of the wrapper. Through these registers, the embedded software developer can configure and control the wrapper and read out information on the module.
  • Port Registers: These can be subdivided again into two types for each port of the original SPD model. There are registers for accessing a port's internal data buffer and registers providing information on a port's data type.
  • Parameter Registers: These can be used to specify exported design parameters.

Besides the transaction-level bus wrapper, a SystemC FIFO wrapper can be generated separately or mixed with the transaction-level bus wrapper.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.