AN 717: Nios II Gen2 Hardware Development Tutorial

ID 683615
Date 9/22/2014
Document Table of Contents

1.4.1. Analyzing System Requirements

The development flow begins with predesign activity which includes an analysis of the application requirements, such as the following questions:

  • What computational performance does the application require?
  • How much bandwidth or throughput does the application require?
  • What types of interfaces does the application require?
  • Does the application require multithreaded software?

Based on the answers to these questions, you can determine the concrete system requirements, such as:

  • Which processor core to use: smaller or faster.
  • What components the design requires and how many of each kind.
  • Which real-time operating system (RTOS) to use, if any.
  • Where hardware acceleration logic can dramatically improve system performance. For example:
    • Could adding a DMA component eliminate wasted processor cycles copying data?
    • Could a custom instruction replace the critical loop of a DSP algorithm?

Analyzing these topics involve both the hardware and software point of view.