|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
An Emerging Solution For Embedded System Design
By Chris Balough, Triscend Corporation ( chris@triscend.com)
General-purpose microprocessors and microcontrollers have long been mainstays in embedded system design. In order to meet the unique requirements of a given application, custom or semi-custom logic devices, such as programmable logic devices or gate arrays, are found alongside the processor in many embedded systems. Recent advances in IC architecture, process technology, and software tools have led to the integration of an industry-standard processor core, user-programmable logic, memory, and a system bus on a single device. The resulting Configurable Processors utilize the programmable logic portion of the device to implement custom peripherals, allowing designers to easily and quickly create a version of that processor customized for a given application. Such Configurable Processors are targeted for embedded system applications that demand fast time-to-market without sacrificing product differentiation.
Embedded System Design
Design considerations are shifting
Time-to-market is the time required to define, develop, test, manufacture, and deliver a product to the end customer. Technological advances, constantly evolving standards, and increasing numbers of competitors have combined to shorten product life cycles - in some cases, to just a few months. As a result, getting new products to market quickly has become a necessary ingredient for success. Leading system manufacturers continue to accelerate their product development cycles in response to this need. Laggards pay a high price; market research clearly shows a direct correlation between getting a product to market early and the revenue and profits derived from that product.
Shorter product lifetimes and the resultant need for rapid design cycles are changing the way embedded systems are designed. To minimize design time and risk, products tend to be evolutionary in nature; the next product is likely to be a derivative of a current design, as opposed to a whole new approach. Thus, technologies that provide a high degree of flexibility and tolerance to change, such as user-programmable logic, have become increasingly prevalent. Furthermore, designers are focusing on their specific areas of expertise - that is, the application-specific portions of their systems - and are more likely to import other portions of the system from a previous design or an outside source (for example, purchasing the design of a processor core or peripheral from an intellectual property [IP] provider).
However, just getting to the market earlier than competitors is not enough to guarantee success; having the right product, of course, is as important as having it at the right time. To gain attention in an increasingly crowded and fast-paced marketplace, system manufacturers need to distinguish their products from those of their competitors. While cost, performance, and time-to-market can all be significant distinguishing factors, product differentiation is best achieved by providing a mix of functionality and ease-of-use that addresses the needs of the target market better than competitive products. The choice of technology plays a major role; for example, the use of only industry-standard processors offers product differentiation through software alone.
Technology alternatives
Stand-alone processor:
Processor derivative:
Click to link to the full-sized table.
Processor with ASIC support logic:
Processor with PLD support logic:
Custom processor derivative:
Embedded array:
In summary, while a number of powerful technologies are available for embedded system design, each of these options can fall short of the growing need for both fast time-to-market and product differentiation.
The Configurable Processor Solution
In many ways, Configurable Processors are the next logical step in the evolution of highly-integrated embedded system component technology. Microcontrollers combine processor and peripheral functions on a single chip, but allow little product differentiation. A single gate array or large programmable logic device can hold multiple custom peripherals, but must be interfaced to a separate processor. Including the gate array or programmable logic on a single-chip with the processor represents the next integration step, allowing product differentiation in a single-chip solution. The programmable-logic-based Configurable Processor is more effective than the gate-array-based embedded array in applications where fast time-to-market is imperative or production volumes do not justify a gate array solution.
However, it would be a misconception to view the Configurable Processor as just 'a processor with some programmable logic around it'. The user-programmable portion of a Configurable Processor is optimized to facilitate the creation of custom peripherals that operate with the on-chip processor in a system-level environment. Thus, the Configurable Processor's logic cells are significantly different than the logic cell structures found in standard CPLD and FPGA devices. Dedicated structures within the matrix of programmable logic resources provide system-level functions such as interfaces to the processor bus, address decoders, bus arbitration controls, data pipelines, and debugging facilities. Hence, the Configurable Processor should be thought of as an adaptable single-chip processor whose peripheral functions can be customized in hardware by the user, facilitating the creation of custom processor derivatives. The Configurable Processor's development tools reflect this conceptual view of the device architecture.
Configurable Processors are highly-integrated devices capable of incorporating most, if not all, of an embedded system's logic. The basic functions included within a Configurable Processor are shown in Figure 2 and described below:
Figure 1. Basic Elements of a Configurable Processor
Configurable Processor benefits
Table 2: Configurable Processor Attributes
Configurable Processors offer much greater capabilities for product differentiation than commercially-available, stand-alone microprocessors or derivatives. User-defined functions can be implemented directly in hardware within the Configurable Processor, allowing the creation of a processor specifically customized for the given application. Furthermore, the Configurable Processor can circumvent many of the limitations of the native standard processor through features such as larger on-chip memory arrays, a multiplicity of programmable I/O pins, and expanded processor address spaces. Configurable Processors also offer several advantages over multi-chip solutions featuring a standard microprocessor and an ASIC or programmable logic device. The Configurable Processor's dedicated bus improves system performance by eliminating the I/O delays of the multi-chip solution. Design cycles are shorter and easier since the user does not need to duplicate the bus structure within a separate device (the gate array, CPLD, or FPGA); in fact, the user does not even need to consider the details of the Configurable Processor's internal architecture. Debugging aids incorporated into the Configurable Processor facilitate system-level verification; no such structures are provided in the two-chip solution. Furthermore, the single-chip solution delivers the well-understood benefits of higher integration levels, including lower overall component costs and reduced circuit board size, power consumption, and EMI emissions. With Configurable Processors, design time and effort and time-to-market are greatly reduced, especially when compared to semi-custom solutions such as the MCU/gate array combination or a processor-based embedded array. With the user-programmable Configurable Processor, design changes can be made easily, downloaded to the target device, and tested within the target system. The extensive simulation and verification tasks associated with gate array technology are avoided. Moreover, a Configurable Processor can have both its peripheral logic and processor code upgraded in the field.
Enabling technologies
Due to manufacturing process incompatibilities, early programmable logic technologies were poor candidates for integration with processors and similar control logic. In the early and mid-1980's, programmable logic devices were based on "floating gate" technologies such as EPROM and EEPROM; requiring extra processing steps, these processes were significantly more expensive than standard logic processes, and building significant amounts of standard logic with these processes was not economically feasible. With the advent of SRAM-based FPGAs in the late 1980s and 1990s, a programmable logic technology that was process-compatible with microprocessors and similar logic chips emerged. However, the relationship between die size and manufacturing costs is exponential. At IC geometries of about 0.5 microns or larger, no economic incentive existed for creating a chip large enough to hold a powerful processor, all the needed support logic, and a substantial amount of user-programmable logic. (In other words, two medium-sized die were still much less costly than one large one.) However, recent advances in deep sub-micron process technology has lowered this barrier, allowing for the creation of the cost-effective processor/programmable logic combination found in Configurable Processors. The industry's first Configurable Processors are based on a .35 micron, 4LM process technology. Process technology advancements have paved the way for progress in the state-of-the-art in IC device architectures. For example, as improving process technologies have enabled higher integration levels, microprocessor capabilities and performance levels have been enhanced by adding features such as wider address and data busses, instruction pipelines, cache memory controls, and on-chip peripherals. The architecture of Configurable Processors draws on these past advances in the architecture of microprocessors and microcontrollers, as well as those of programmable logic devices and component interconnect schemes. The maturation of SRAM-based programmable logic technology (including the vast array of EDA tools and intellectual property products that support programmable logic design) and its acceptance in the design community were a pre-cursor to the development of Configurable Processors. Another important contributor to the emergence of the Configurable Processor is the evolution of the intellectual property (IP) industry. As noted earlier, increasing system complexity, combined with time-to-market and product differentiation needs, have placed a high premium on design re-use; that is, the use of previously designed and verified portions of a system within new designs. One response to this need has been the growth and acceptance of the marketing of electronic designs as intellectual property, and the creation of an infrastructure to support this activity. A key component of that infrastructure has been the solidification of EDA interchange standards and design description languages such as EDIF, VERILOG, and VHDL, and the advances in logic synthesis technology that allow high-level descriptions to be transformed into working physical implementations. This continued development of the IP industry contributes to Configurable Processor technology in two ways: (1) an increasing number of popular microprocessors and microcontrollers available as IP cores enables the rapid expansion of Configurable Processors based on these cores, and (2) an infrastructure exists to support the third-party development and marketing of soft peripherals that support embedded system design using Configurable Processors.
Triscend Configurable Processor Technology Overview
Basing CPSUs on popular processor architectures leverages existing development tools and code libraries. In addition, upward-compatible improvements to the processor can be incorporated when developing the core processor for a CPSU (for example, adding wait state capability to the bus of an 8051-based microcontroller). Furthermore, to facilitate the implementation of an entire embedded system, vital control logic accompanies the processor on the CPSU, such as clock generation and power management circuitry. The matrix of programmable logic cells in a CPSU is referred to as the Configurable System Logic (CSL) matrix. The CSL matrix contains logic cells that can be configured to build almost any digital function. The CSL matrix is well-connected to the system bus, and is ideal for creating peripherals and other support circuitry for the microcontroller. The logic cell includes both combinatorial and sequential elements, and is capable of implementing a wide variety of logic, arithmetic, and memory functions. The configuration of the logic cells is controlled by SRAM memory; a configuration program is loaded into these SRAM cells during system initialization. Various configuration modes support different application requirements. There is no limitation to the number of times a device can be programmed, allowing for the rapid development and testing of design iterations. Dedicated logic associated with the CSL matrix provides needed system functionality such as system bus interfacing, data pipelining, and bus arbitration. Dedicated breakpoint management logic supports real-time, processor-synchronized debugging of the system.
Configurable System Interconnect Bus
Figure 2. Primary Subdivisions of the Configurable System Interconnect (CSI) Bus The control and monitoring signals and the information path are processor dependent, but the CSI Socket is processor independent. In other words, the CSI Socket is a processor-independent, open-system interface between the CSI bus and the programmable logic within a CPSU. It defines both the physical signaling interface between the CSI bus and the CSL matrix and the communication protocol between soft peripherals and the CSI bus. Once a peripheral function is created and implemented in the CSL matrix, it is portable across all Triscend CPSU product families (or other CSI Socket compliant devices), regardless of the architecture of the core processor. The CSI Socket is openly-documented, allowing both users and third-party IP providers to create additional libraries of "soft" peripherals that can be implemented within the CSL matrix of any Triscend CPSU. As illustrated in Figure 4, the CSI Socket specifies physical signaling for address and data paths, clock and control signals, and the address selectors. The address selectors are built-in programmable address decoders that provide "chip select" signals for the various peripherals implemented in the CSL matrix; the use of this dedicated circuitry increases performance, as well as eliminating the need to use CSL matrix resources to decode bus transactions. Furthermore, the Triscend CPSU development tools use the address mapping capabilities provided in the address selectors to map the symbolic name for an address or address range within a given address space, as defined in the application software, to the appropriate physical locations within the CPSU. The logical addresses are defined and specified in an automatically-generated header file, which is added to the user's application code. Thus, existing code written for a given processor can be easily ported to a CPSU containing that same processor core, and available third-party development tools can be used to generate, simulate, and debug CPSU program code.
Figure 3. The CSI Bus Socket
The E5 family of CPSUs
Figure 4. E5 Configurable Processor Block Diagram The E5 family is based on an enhanced version of the popular 8-bit 8032 microcontroller. (The 8032 microcontroller is an enhancement of the 8051 device.) E5 CPSUs are fully binary and source code compatible with other industry-standard 8032 and 8052 devices. However, the "turbo" 8032 microcontroller in the E5 CPSU offers several significant improvements over the standard 8032 device:
Configurable Processor Software - Creating a "Derivative-on-Demand"
Figure 5. "Derivative on Demand" Design Flow This Configurable Processor "Derivative-on-Demand" development flow, outlined in Figure 6, is almost identical to the development flow for a standard "catalog" processor derivative. In 4 steps, the designer progresses from idea to a production-ready solution
Step 1--"Drag and Drop" Configuration:
Figure 6. FastChip Development System's Configuration Interface After the modules are "dragged and dropped", graphical interfaces are then used to select the parameterized options for each function (for example, timer/counter options would include operating mode, clock source, and initial value). This graphical parameterization is also available for the dedicated functions, such as the 8032's native time/counters. After all the soft peripherals are designated and the parameterization is complete, the FastChip software automatically produces a "header file" that assigns logical addresses and symbolic names for the registers in the CPSU's soft peripherals. This header file will be included in the processor application code to assist with the application code development. The designer does have the option to override the automated header creation and assign specific symbolic names and memory map locations.
Step 2--Processor Code Development:
Step 3--Processor Code Simulation: After the designer has reached the point of satisfactory logic code simulation, FastChip software will now create a configuration file for the CSL matrix, then merge that with the processor's object code to create a single data image. This image is then downloaded to the CPSU's external memory through its JTAG interface, or the image can be programmed into a non-volatile memory using a standard memory programmer.
Step 4--System De-Bugging and Verification: In some situations, a designer may wish to perform more advanced debugging that interrogates the interior status of the CSL matrix. FastChip software provides a debugging utility for designers who desire to delve into this detail. Triscend's CPSU devices provide for the observability and control of each logical and combinatorial node in the CSL matrix, so designers can mix processor debugging techniques with logic debugging.
Key Observations:
CPSU extensibility and technology roadmap
While the CSI bus control structures and information paths can be modified to accommodate varying processor architectures, the CSI Socket interface will be identical throughout the entire range of Triscend CPSU devices. This guarantees that soft peripherals - from Triscend or created by users - will be forward-compatible with future CPSU families. Triscend will continue to expand the library of available modules for its CPSU devices; while the initial version of the FastChip system includes many common peripheral functions such as counter/timers, serial I/O ports, and interrupt controllers, future releases will include larger modules such as CAN interfaces, USB ports, Utopia interfaces, and DSP functions. Third-party IP providers can offer additional modules, and CPSU users also can create their own library entries. The FastChip development system provides for the creation of new library modules using industry-standard EDA tools such as the OrCAD schematic editor and Synopsys logic synthesis tools for programmable logic. Future releases of the development system will expand these capabilities and support additional EDA tools. Thus, users with demanding applications that cannot be addressed with the currently-available libraries will be able to implement any desired custom logic in the CSL matrix using standard ASIC-like design tools and methodologies. Since Triscend CPSU devices are fabricated on an industry-standard CMOS IC manufacturing process, dramatic cost reductions can be reliably predicted based on process improvements and shrinking process geometries. Planned migrations to .25 and .18 micron technologies over the next five years will result in cost reductions of up to 75% compared to current manufacturing costs. Process migration also will lead to higher performance and higher integration levels for CPSU devices.
Summary
Triscend Corp. has developed the industry's first Configurable Processors, the E5 family of Configurable System Processing Units. The Triscend CPSU architecture is designed for processor portability and the interoperability of soft peripherals across multiple CPSU families. The FastChip Configurable Processor Development System manages CPSU device configuration and provides for the easy creation of microcontroller derivatives-on-demand. It also provides seamless integration to third-party code development tools and supports the expansion of soft peripheral libraries. Thus, an embedded system designer can create a customized processor without needing detailed knowledge of the internal programmable logic technology, quickly complete design iterations with no limit on the number of iterations, and preserve existing processor development tools and software libraries throughout the development cycle. Home | Product of the Week | Tech Note | AppReview | Vendor Tools | Feedback
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
Copyright © 2003 ChipCenter-QuestLink About ChipCenter-Questlink |
||||||||||||||||||||||||||||||||||||||||||||||||