Browsing by Author "Shen, Chung-Ching"
Now showing 1 - 6 of 6
Results Per Page
Sort Options
Item Dataflow-based Design and Implementation of Image Processing Applications(2011-06-13) Shen, Chung-Ching; Plishker, William; Bhattacharyya, Shuvra S.Dataflow is a well known computational model and is widely used for expressing the functionality of digital signal processing (DSP) applications, such as audio and video data stream processing, digital communications, and image processing. These applications usually require real-time processing capabilities and have critical performance constraints. Dataflow provides a formal mechanism for describing specifications of DSP applications, imposes minimal data-dependency constraints in specifications, and is effective in exposing and exploiting task or data level parallelism for achieving high performance implementations. To demonstrate dataflow-based design methods in a manner that is concrete and easily adapted to different platforms and back-end design tools, we present in this report a number of case studies based on the lightweight dataflow (LWDF) programming methodology. LWDF is designed as a "minimalistic" approach for integrating coarse grain dataflow programming structures into arbitrary simulation- or platform-oriented languages, such as C, C++, CUDA, MATLAB, SystemC, Verilog, and VHDL. In particular, LWDF requires minimal dependence on specialized tools or libraries. This feature --- together with the rigorous adherence to dataflow principles throughout the LWDF design framework --- allows designers to integrate and experiment with dataflow modeling approaches relatively quickly and flexibly into existing design methodologies and processes.Item The DSPCAD Integrative Command Line Environment: Introduction to DICE Version 1(2009-11-23) Bhattacharyya, Shuvra S.; Kedilaya, Soujanya; Plishker, William; Sane, Nimish; Shen, Chung-Ching; Zaki, GeorgeDICE (the DSPCAD Integrative Command Line Environment) is a package of utilities that facilitates efficient management of software projects. Key areas of emphasis in DICE are cross-platform operation, support for projects that integrate heterogeneous programming languages, and support for applying and integrating different kinds of design and testing methodologies. The package is being developed at the University of Maryland to facilitate the research and teaching of methods for implementation, testing, evolution, and revision of engineering software. The package is also being developed as a foundation for developing experimental research software for techniques and tools in the area of computer-aided design (CAD) of digital signal processing (DSP) systems. The package is intended for cross-platform operation, and is currently being developed and used actively on the Windows (equipped with Cygwin), Solaris, and Linux platforms. This report provides an introduction to DICE, and provides background on some of the key features in DICE. This report also gives a brief introduction to dicelang, which is a plug-in package for DICE that provides additional utilities, libraries, and tools for managing software projects in specific programming languages.Item The DSPCAD Integrative Command Line Environment: Introduction to DICE Version 1.1(2011-06-13) Bhattacharyya, Shuvra S.; Plishker, William; Shen, Chung-Ching; Sane, Nimish; Zaki, GeorgeDICE (the DSPCAD Integrative Command Line Environment) is a package of utilities that facilitates efficient management of software projects. Key areas of emphasis in DICE are cross-platform operation, support for projects that integrate heterogeneous programming languages, and support for applying and integrating different kinds of design and testing methodologies. The package is being developed at the University of Maryland to facilitate the research and teaching of methods for implementation, testing, evolution, and revision of engineering software. The package is also being developed as a foundation for developing experimental research software for techniques and tools in the area of computeraided design (CAD) of digital signal processing (DSP) systems. The package is intended for cross-platform operation, and is currently being developed and used actively on the Linux, Mac OS, Solaris, and Windows (equipped with Cygwin) platforms. This report provides an introduction to DICE, and provides background on some of the key features in DICE Version 1.1. This report also gives a brief introduction to dicelang, which is a plug-in package for DICE that provides additional utilities, libraries, and tools for managing software projects in specific programming languages.Item The DSPCAD Lightweight Dataflow Environment: Introduction to LIDE Version 0.1(2011-10-21) Shen, Chung-Ching; Wang, Lai-Huei; Cho, Inkeun; Kim, Scott; Won, Stephen; Plishker, William; Bhattacharyya, Shuvra S.LIDE (the DSPCAD Lightweight Dataflow Environment) is a flexible, lightweight design environment that allows designers to experiment with dataflow-based approaches for design and implementation of digital signal processing (DSP) systems. LIDE contains libraries of dataflow graph elements (primitive actors, hierarchical actors, and edges) and utilities that assist designers in modeling, simulating, and implementing DSP systems using formal dataflow techniques. The libraries of dataflow graph elements (mainly actors) contained in LIDE provide useful building blocks that can be used to construct signal processing applications, and that can be used as examples that designers can adapt to create their own, customized LIDE actors. Furthermore, by using LIDE along with the DSPCAD Integrative Command Line Environment (DICE), designers can efficiently create and execute unit tests for user-designed actors. This report provides an introduction to LIDE. The report includes details on the process for setting up the LIDE environment, and covers methods for using pre-designed libraries of graph elements, as well as creating user-designed libraries and associated utilities using the C language. The report also gives an introduction to the C language plug-in for dicelang. This plug-in, called dicelang-C, provides features for efficient C-based project development and maintenance that are useful to apply when working with LIDE.Item Energy-driven Optimization of Hardware and Software for Distributed Embedded Systems(2008-11-24) Shen, Chung-Ching; Bhattacharyya, Shuvra S; Electrical Engineering; Digital Repository at the University of Maryland; University of Maryland (College Park, Md.)Distributed embedded computing systems are special-purpose computer systems designed for particular applications and set up in a networked or distributed manner. A practical application domain for such a distributed system setup is the domain of wireless sensor network (WSN) applications. In this thesis, studies of architectures, applications, and methodologies for distributed embedded systems will be covered by addressing a number of important energy and performance optimization problems for translating high-level representations of distributed embedded applications into system implementations. This thesis is also concerned about systematic design methodologies and optimization problems for both software and hardware implementations. With advances in integrated circuit technology, distributed embedded platforms such as wireless sensor nodes can be equipped with increasing amounts of computational resources, such as digital signal processing (DSP) subsystems that can handle intensive computational tasks. By incorporating such dedicated DSP processing, a distributed embedded platform can enhance its functional capabilities for processing data before transmitting the data to other parts of the network or to an associated base station (central node). Therefore, this thesis presents a design methodology for distributing DSP applications across wireless sensor networks and optimizing associate trade-offs between computation and communication. A low-power, application-specific sensor node platform for distributed WSN systems is designed and demonstrated in this thesis. This platform provides mixed-signal integration of streamlined digital circuits for protocol control and data processing, along with required analog subsystems, such as transceiver circuitry. Building on this optimized platform, this thesis demonstrates a complete system design of an application-specific WSN system with compact size and low power features. This system design is the result of an integrated effort across design space exploration, algorithm development, cross-layer protocol design, and most importantly, the completion of various hardware prototype implementations for validating and demonstrating proposed design techniques. This thesis also presents a system-level synthesis methodology for finding the most suitable resource configurations for distributed, embedded systems. System-level synthesis is attractive because the carefully designed system-level models can be analyzed and evaluated rapidly, and the complex, inter-related design decisions can be explored and evaluated at a high level before mapping into low level implementations. We demonstrate the accuracy and efficiency of our system-level synthesis approach, and its ability to capture an important range of high level interactions that are relevant to the design of distributed, embedded systems.Item Using the DSPCAD Integrative Command-Line Environment: User's Guide for DICE Version 1.1(2011-06-23) Bhattacharyya, Shuvra S.; Shen, Chung-Ching; Plishker, William; Sane, Nimish; Zaki, GeorgeThis document provides instructions on setting up, starting up, and building DICE and its key companion packages, dicemin and dicelang. This installation process is based on a general set of conventions, which we refer to as the DICE organizational conventions, for software packages. The DICE organizational conventions are specified in this report. These conventions are applied in DICE, dicemin, and dicelang, and also to other software packages that are developed in the Maryland DSPCAD Research Group.