Results 1 - 10
of
13
An Optimal Memory Allocation Scheme for Scratch-Pad Based Embedded Systems
, 2002
"... This paper presents a technique for the efficient compiler management of software-exposed heterogeneous memory. In many lower-end embedded chips, often used in micro-controllers and DSP processors, heterogeneous memory units such as scratch-pad SRAM, internal DRAM, external DRAM and ROM are visible ..."
Abstract
-
Cited by 66 (5 self)
- Add to MetaCart
This paper presents a technique for the efficient compiler management of software-exposed heterogeneous memory. In many lower-end embedded chips, often used in micro-controllers and DSP processors, heterogeneous memory units such as scratch-pad SRAM, internal DRAM, external DRAM and ROM are visible directly to the software, without automatic management by a hardware caching mechanism. Instead the memory units are mapped to different portions of the address space. Caches are avoided because of their cost and power consumption, and because they make it difficult to guarantee real-time performance. For this important class of embedded chips, the allocation of data to different memory units to maximize performance is the responsibility of the software
SHIM: A Deterministic Model for Heterogeneous Embedded Systems
- EMSOFT
, 2005
"... Typical embedded hardware/software systems are implemented using a combination of C and an HDL such as Verilog. While each is well-behaved in isolation, combining the two gives a nondeterministic model whose ultimate behavior must be validated through expensive (cycle-accurate) simulation. We propos ..."
Abstract
-
Cited by 32 (10 self)
- Add to MetaCart
Typical embedded hardware/software systems are implemented using a combination of C and an HDL such as Verilog. While each is well-behaved in isolation, combining the two gives a nondeterministic model whose ultimate behavior must be validated through expensive (cycle-accurate) simulation. We propose an alternative for describing such systems. Our SHIM (software/hardware integration medium) model, effectively Kahn networks with rendezvous communication, provides deterministic concurrency. We present the Tiny-SHIM language for such systems and its semantics, demonstrate how to implement it in hardware and software, and discuss how it can be used to model a real-world system. By providing a powerful, deterministic formalism for expressing systems, designing systems and verifying their correctness will become easier.
Compiling Concurrent Languages for Sequential Processors
- ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS
, 2001
"... ... This paper surveys a variety of techniques for translating these concurrent specifications into sequential code. The techniques address compiling a wide variety of languages, ranging from dataflow to Petri nets. Each uses a different technique, to some degree chosen to match the semantics of co ..."
Abstract
-
Cited by 19 (2 self)
- Add to MetaCart
... This paper surveys a variety of techniques for translating these concurrent specifications into sequential code. The techniques address compiling a wide variety of languages, ranging from dataflow to Petri nets. Each uses a different technique, to some degree chosen to match the semantics of concurrent language. Each technique is considered to consist of a partial evaluator operating on an interpreter. This combination provides a clearer picture of how parts of each technique could be used in a different setting.
Dynamic Configuration of Dataflow Graph Topology for DSP System Design
- In Proc. of the Int. Conf. on Acoustics, Speech, and Signal Processing
, 2005
"... Dataflow is widely used for designing DSP applications. Despite its intrinsic advantages, one weak point is its difficulty in flexible expression of applications with data dependent change in execution structure. This paper suggests an approach to providing dynamically configured dataflow graph topo ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
Dataflow is widely used for designing DSP applications. Despite its intrinsic advantages, one weak point is its difficulty in flexible expression of applications with data dependent change in execution structure. This paper suggests an approach to providing dynamically configured dataflow graph topologies using a new modeling and synthesis technique called DGT (Dynamic Graph Topology). DGT builds on PSDF semantics [1]. All possible graph topologies for a given graph are obtained at a compile time and the corresponding graph based on parameters and data is dynamically set up in an efficient manner at runtime before the invocation of the associated graph. Systematic methods for reducing code and buffer size are applied based on characteristics of each configured graph. We have compared DGT against conventional modeling approaches through a detailed case study of an MPEG 2 video
Efficient Representation and Simulation of Model-Based Designs in SystemC
- In Proc. FDL’06, pages 129 – 134
, 2006
"... Actor-based design is based on composing a system of communicating processes called actors, which can only communicate with each other via channels. However, actor-based design does not constrain the communication behavior of its actors therefore making analyses of the system in general impossible. ..."
Abstract
-
Cited by 7 (7 self)
- Add to MetaCart
Actor-based design is based on composing a system of communicating processes called actors, which can only communicate with each other via channels. However, actor-based design does not constrain the communication behavior of its actors therefore making analyses of the system in general impossible. In a model-based design methodology the underlying Model of Computation (MoC) is known additionally which is given by a predefined type of communication behavior and a scheduling strategy for the actors. In this paper, we propose a library based on the design language SystemC called SysteMoC which provides a simulation environment for model-based designs. We will introduce the syntax and semantics supported by Syste-MoC as well as discuss the simulation environment and present first results of using SysteMoC for modeling and simulation of signal processing applications. The library-based approach unites the advantage of executability with analyzability of many expressive MoCs. Finally, we compare the simulative performance of SysteMoC with other executable languages such as C++, regular SystemC, and modelling environments such as Ptolemy II. 1
Verified Code Generation for Embedded Systems
, 2002
"... Digital signal processors provide specialized SIMD (single instruction multiple data) operations designed to dramatically increase performance in embedded systems. While these operations are simple to understand, their unusual functions and their parallelism make it di#cult for automatic code genera ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Digital signal processors provide specialized SIMD (single instruction multiple data) operations designed to dramatically increase performance in embedded systems. While these operations are simple to understand, their unusual functions and their parallelism make it di#cult for automatic code generation algorithms to use them e#ectively. In this paper, we present a new optimizing code generation method that can deploy these operations successfully while also verifying that the generated code is a correct translation of the input program.
Reactive types for dataflow-oriented software architectures
- In Proc. 4th IEEE/IFIP Conf. on Soft. Architecture (WICSA2004), volume P2172
, 2004
"... Digital signal–processing (DSP) tools, such as Ptolemy, LabView and iConnect, allow application developers to assemble reactive systems by connecting predefined components in generalised dataflow graphs and by hierarchically building new components by encapsulating sub–graphs. We follow the literatu ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Digital signal–processing (DSP) tools, such as Ptolemy, LabView and iConnect, allow application developers to assemble reactive systems by connecting predefined components in generalised dataflow graphs and by hierarchically building new components by encapsulating sub–graphs. We follow the literature in calling this approach dataflow-oriented development. Our previous work has shown how a new process calculus, uniting ideas from previous systems within a compositional theory, can be formally shown to capture the properties of such systems. This paper first re–casts the graphical dataflow-oriented style of design into an underlying textual architecture design language (ADL) and then shows how the previous modelling approach can be seen as a system of process–algebraic behavioural types for such a language, so that type–checking is the mechanism used to statically diagnose the reactivity of applications. We show how both the existing notion of behavioural equivalence and a new behavioural pre-order are involved in this judgement. 1.
An empirical evaluation of high level transformations for embedded processors
- in Proc. of CASES
, 2001
"... Efficient implementation of DSP applications are critical for many embedded systems. Optimising compilers for application programs written in C, largely focus on code generation and scheduling which, with their growing maturity, are providing diminishing returns. This paper empirically evaluates ano ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Efficient implementation of DSP applications are critical for many embedded systems. Optimising compilers for application programs written in C, largely focus on code generation and scheduling which, with their growing maturity, are providing diminishing returns. This paper empirically evaluates another approach, namely high level source to source transformations. High level techniques were applied to the
Classification of General Data Flow Actors into Known Models of Computation
- in Proc. MEMOCODE
, 2008
"... Applications in the signal processing domain are often modeled by data flow graphs which contain both dynamic and static data flow actors due to heterogeneous complexity requirements. Thus, the adopted notation to model the actors must be expressive enough to accommodate dynamic data flow actors. On ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Applications in the signal processing domain are often modeled by data flow graphs which contain both dynamic and static data flow actors due to heterogeneous complexity requirements. Thus, the adopted notation to model the actors must be expressive enough to accommodate dynamic data flow actors. On the other hand, treating static data flow actors like dynamic ones hinders design tools in applying domain-specific optimization methods to static parts of the model, e.g., static scheduling. In this paper, we present a general notation and a methodology to classify an actor expressed by means of this notation into the synchronous and cyclo-static data flow models of computation. This enables the use of a unified descriptive language to express the behavior of actors while still retaining the advantage to apply domain-specific optimization methods to parts of the system. In experiments we could improve both latency and throughput of a general data flow graph application using our proposed automatic classification in combination with a static single-processor scheduling approach by 57%. 1.

