A Systematic Software, Firmware, and Hardware Codesign Methodology for Digital Signal Processing

Abstract

Creating an embedded system that meets its functional, performance, cost, and schedule goals is a software-and-hardware codesign problem, since the design of the software and hardware components influence each other. The traditional design methodology is sequential, with hardware designed first and then software. The lack of a unified and unbiased approach can lead to suboptimal design and incompatibilities across the software and hardware boundary. To solve these problems, we propose a new software/firmware/hardware codesign methodology to systematically build correct designs efficiently. This codesign methodology includes requirements development, architecture forming, software/ firmware/hardware partitioning, design-pattern mapping, new-design pattern synthesis, integration, and testing. We tested our methods on three application areas. One was a digitizer-filter architecture for ultra-high frequency signals for which we synthesized design patterns in firmware to meet high-frequency requirements. Another was a digitizer-filter architecture for low-frequency signals. A third was a hidden Markov model using dynamic programming. We implemented and tested the first application on a Tektronix/Synopsys embedded system and the second on a Pentek embedded system based on the requirements provided by the stakeholders.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 2014
Accession Number
ADA607952

Entities

People

  • Daniel Y. Chang

Organizations

  • Naval Postgraduate School

Tags

Communities of Interest

  • Advanced Electronics
  • Biomedical
  • C4I
  • Electronic Warfare
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Agile Software Development
  • Aircrafts
  • Application-Specific Integrated Circuits
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Data Processing
  • Digital Signal Processing
  • Embedded Systems
  • Hidden Markov Models
  • Programming Languages
  • Radio Frequency
  • Software Design
  • Software Development
  • Systems Engineering
  • Two Dimensional

Fields of Study

  • Computer science
  • Engineering

Readers

  • Adaptive Control and Estimation with Uncertainty in Dynamic Systems.
  • Software Engineering.