|
|||||
SoC-based configurable systems replace the microcontroller
SoC-based configurable systems replace the microcontroller Many products once designed using 8-bit microcontrollers with external digital and analog circuitry are being re-designed using SoC devices. The term "System-on-Chip" encompasses a broad range of products that include both custom devices, as well as a new class of SoCs that are field programmable, and have their functionality determined by the user. In addition to a substantial decrease in part count and product cost, these new SoC devices offer significant design flexibility. But, migrating a design to one of these low-cost SoC architectures does not come for free, nor does it present a cure-all for design issues that may be plaguing an existing product. Engineers must take into account many design considerations to determine whether their product warrants testing the waters with a SoC device. The latest SoC technologies not only include programmable digital resources, but programmable analog resources as well. Static SoC technologies often include dedicated resources such as A/Ds, D/As, timers, counters and UARTs. In addition to this standard set of resources, the more advanced SoC technologies can provide configurable analog capability - enabling active filters, amplifiers, D/As, A/Ds and many other system level design elements. These elements can in turn be combined into higher order functions such as dithering, DTMF generation, multiplying D/A's, pseudo-random number generation, and frequency-shift-keying (FSK). Because cost is an issue, most of the low-cost SoC technologies have limited processing capability. Most, if not all, utilize an 8-bit processor running one to six MIPS supported by an assembler, linker and C compiler. Since portability of existing designs is key to adoption of any new SoC technologies, floating-point and math libraries are usually included to provide for complex algorithms. Memory is often limited to less than one thousand byes of RAM and program storage is limited to under 32 Kbyte s of flash memory. When does the SoC device assume its identity and function? Some one-time-programmable technologies must be configured at manufacturing time. Others can be programmed at boot time from an external ROM device. Better yet, more flexible and robust register-based SoCs allow for dynamic, "on-the-fly" configuration. Register based SoCs with on-the-fly capability will run application software to configure and reconfigure the device. Dynamic configuration allows the architecture to establish static and dynamic elements such that resources can be shared, which effectively allows for greater than 100% resource usage. Subsets of configurations can be designed into a product and activated by an external input or command or when an internal algorithm determines that it is time for a configuration change. When establishing multiple configurations, active hardware used in one configuration will remain active and unaffected by the subset of resources that are being modified to form a new configuration. Because the new class of SoC technologies include programmable digital and analog resources, integration effects - such as noise, offset, gain-error and cross talk must be considered during the design. Integration expertise For one thing, firmware engineers must expand their knowledge base to encompass digital and analog design disciplines. Since firmware no longer runs in a vacuum, real-time system design techniques must be incorporated to ensure that the whole system remains fault-tolerant. Issues to contend with include interrupt latency, setup time, clocking and sampling theory. Testing also poses an interesting challenge, due to the inabilit y to observe and measure the internal design components running inside the device. White-box testing and debugging must now be replaced with black-box testing techniques. Critical to a successful project is the design workflow. To make the most efficient use of the SoC device and its many intricacies, you can rely on the design envrionemnt to provide the required design flow. More important than simplifying the design of an SoC device, the design environment must provide the ability to abstract the intricacies of the chip. Abstracting the chip's capabilities to a set of functional blocks in line with every engineer's thought process is the key to simplification. The component set should consist of elements that most resemble functional elements such as timers, counters, A/Ds, D/As, filters, communications elements and amplifiers, as well as any other customized circuitry that the user can conjure. One possible extension to this paradigm is to include software-only IP elements, and have them appear to the user exactly the same as the hardware-software abstract modules. Engineers need not be concerned how the abstract component is implemented, as long as the functionality and timing meet the architecture of the design. To borrow from the object oriented model of software, components found in new SoCs are truly classes. They have an implied function, encapsulation of data and methods, and even a temporal notion of construction and destruction within the confines of dynamic configuration.
|
Home | Feedback | Register | Site Map |
All material on this site Copyright © 2017 Design And Reuse S.A. All rights reserved. |