System Design with Early System Exploration

System Design

                                         Defining the Right System Design with Early Exploration

System Design creates the right “look and feel” of the product for the target application. System design enables early architecture exploration using incomplete information to create accurate system requirements. Early system design creates the highest quality product with the required response time and throughput; optimized for power consumption; and has the lowest cost. The end product can be software, semiconductor, or integrated system.

Architecture exploration is conducted by the design team to refine and validate the requirements, size the system, make hardware selections, evaluate detailed SoC timing and partition software across the available hardware resources.   The exploration validates the traffic operation, timing and battery discharge with real operating scenarios.

System design can be divided into four main areas of exploration and analysis.

  1. Behavior and network exploration
  2. System sizing and project feasibility
  3. Early power optimization
  4. Software distribution and partitioning

System design is an emerging methodology space in most application areas. System design is about differentiating your products, reducing risk and improving profitability. This approach has been incorporated to great success in the design of processors and defense equipment. With the growing complexity of embedded systems and SoC, early architecture exploration is essential to accelerate product development cycle and meet the performance, power and cost challenge.

The biggest design challenge in today’s system is the access to memory, external or internal. Over 50% of the response time and throughput computation is constrained by the cache, memory, bus topology and interfaces. Memory hierarchy impact is felt in the hardware and software design, and constraints the system throughput, peak power consumption and task deadlines.

The migration of multi-core and multi-processor brings significant opportunity in improving performance and reducing. The addition of an ARM 9 or A8 to a SoC or using a two- socket versus single-socket board consumes very little incremental area and raises the bill of material by a small margin. At the same time, it can increase the performance by up to 1.8 times.

More features at the same price point require intelligent choices of software partitioning. Modifying the power and performance of existing architectures through software helps get to market quicker and at a lower product development cost. The adding of more features to existing resources and frugally adding new resources will create a competitive, better-priced product. Multi-core and multi-processor systems have 8-64 processing engines communicating with the memory via a network of caches. Similarly, application processors and multimedia SoC have 50-75 cores accessing an off-chip memory. System sizing can be fairly critical here to get maximum throughput while still keeping the latency to the lowest level. Also, task deadlines can cause a trade-off that reduces throughput.

Software written for these platforms has to be partitioned across multiple cores with the data transfer between the tasks accessed from the main or intermediate memories. If the software application consists of 20 tasks, 100 messages between the tasks and 200 associated sensors, the design space possibilities for task allocation across multiple cores/ processors, network topology, task priority, response time deadlines and task rates can run into millions.

Early architecture exploration ensures a highly optimized product for quality, reliability, performance, and cost. This provides direction for implementation plans, reduces the amount of tests you need to conduct, and has the ability to shrink the development cycle by almost 30%.

VisualSim libraries of standard hardware and software components, flow charts defining the behavior, traffic models, and pre-built analysis probes ensure that system design is no longer time consuming, difficult to perform, and providing questionable results. The reduction in system modeling time and availability of standard component models provides a single environment for designers to explore both hardware and software architectures.