Copyright © IFAC lnfonnation Control in Manufacturing, Nancy - Metz, France, 1998
MICROPROCESSOR-CONTROLLED EMBEDDED SYSTEMS
Tanya Vladimirova and Andrew Bartb •
School of Electronic Engineering, Information Technology and Mathematics University of Surrey, Guidford. Surrey. GU25XH. UK • EKB Design Centre. Motorola Ltd.. East Kilbride. Scotland. G75 OTG. UK
Abstract: The size, of today's microcontroller market is fostering intense competition that helps spur technical innovation, benefiting users and designers of microcontroller systems by forcing down prices and creating a wide range of choices. In this piper the evolution and trends in system development of embedded microprocessor-based systems are discussed. The Motorola's FlexCore program is summarised as an example of modem design methodology realising plrtnership between processor suppliers and embedded controllers manufacturers. Copyright © 1998 IF AC Keywords: Microcomputer-Based Control, Microprocessors, Embedded Systems
1.
I/O. Examples of these are a 68000- 80186- or 386EX-based embedded system (Ball, 1996).
INTRODUCTION
Companies have been striving to include more and more functions into the microprocessor chips to increase their performance in general-purpose systems. At the same time there is a big demand for microcomputer controllers for dedicated applications. Some applications do not require all the features available in the highly integrated modem microprocessors and some can be omitted to keep the costs down. In controller applications the . tasks are frequently limited and can be defined precisely. Thus it has been found desirable to of these provide cost-reduced versions top-of-the-line processors. The term "embedded controllers" has been created to describe the types of microcomputer systems that are built into industrial products or processes to provide tran5Jment control (Wray and Greenfield, 1994). Embedded microprocessors are all around us. Since the microprocessor was pioneered in the 1970s, engineers have been embedding microprocessors in their designs. Microcontrollers fall into two categories: single-chip embedded solutions with on-chip memory like 8031, and embedded systems using a microprocessor with external memory and
The rapidly growing embedded processor market consumes more than three quarters of tbe microprocessors shipped every day. The size of today's microcontroller market is fostering intense competition that helps spur technical innovation, benefiting users and designers of microcontroller systems by forcing down prices and creating a wide range of choices. In 1994 the top 10 microcontroller vendors (in descending order based on revenues) were Motorola, NEC, Mitsubishi, Hitachi, Intel, Matsushita, Pbillips, SGS-Thompson, Toshiba and Fujitsu. These familiar names have been joined by many third party suppliers that provide a large assortment of development tools, real-time operating systems, and other products used to develop and implement the many applications microcontrollers have spawned (Tumbull, 1997; Khan, 1996). Microcontrollers were the first specific function integrated processors to evolve. The distinction between an integrated processor and a microcontroller is that the latter is capable of operating as a standalone device using only on-chip program and data memory. Because the algorithms
313
of digital signal processing (DSP) are used in many embedded-control applications, digital signal processors are often regarded as a class of microcontrollers, further expanding the range of today's applications (Khan, 1996; Godfrey, 1996).
16-bit controllers are generally deployed in disk drives, automotive engine controls, and industrial applications (Khan, 1996). To bridge the gap between the performance of 16-bit processors and the ease of use of 8-bit microcontrollers, the 16-bit integrated processor was developed and it has now evolved to include full 32-bit cores. This class of devices includes a standard 16 bit or 32-bit microprocessor on the same chip as a number of standard peripherals and system integration features. The first Motorola device in this category, the MC6S02, has become an industry standard since introduction in 1989. Other processor vendors have introduced integrated versions of their standard processors, such as the i386EX from Intel and NEC's RISC cores (Godfrey, 1996).
The microprocessor-based products market has become intensely competitive. This has led to shrinking of product development cycles and reduced average life span of new products forcing companies to seek much more cost effective and complete solutions from their vendors for embedded control. The relationships between manufacturers and their semiconductor suppliers are turning into partnerships where the processor vendor plays a greater role in the product development process beyond simply supplying silicon (Motorola, 19%a). The paper is structured as follows. Section 2 discusses the evolution of embedded microprocessors. Section 3 presents some trends in the development of embedded microprocessor systems addressing software and hardware design issues. Section 4 briefly describes the Motorola microprocessor architecture ColdFire and its FlexCore design methodology.
2.
Intet's i960 leads the way in the 32-bit market that is as yet quite small but has been buoyed by a number of entrants. These include Hitachi's SH, Motorola's ColdFire, and a slew of upcoming embedded reduced-instruction-set-<:omputer (RISC) offerings from such vendors as· IDT, Toshiba, LSI Logic, Philips, and NEC, based on architectures from MIPS Technologies. The greatest opportunities exist for 32-bit embedded microprocessors in advanced applications. 32-bit devices are becoming more common in three principal areas: communication boards (such as network bridges and routers), laser and ink-jet printers, and x-terminals. Video games represent yet another opportunity for 32-bit embedded controllers, as well as for 64-bit ones (Khan, 19%).
EVOLUTION OF EMBEDDED MICROPROCESSORS
The first true microcontrollers grew out of the Intel 4004, a 4-bit microprocessor architecture developed in the early 1970s. Low-(;ost consumer products served by 4-bit controllers include microwave ovens, shavers, toasters, tape players, to name just a few (Khan, 1996).
PowerPC microprocessors are being integrated with peripherals for use in communications equipment and in the automotive arena. Ford's new powertrain transmission control system is based on an integrated PowerPC processor (Godfrey, 1996).
The 4-bit microcontrollers ruled the industry until the late '80s when 8-bit implementations dethroned them. Today the microcontroller realm is still dominated by the 8-bit segment that represents three-fifths of the total world-wide market. The 8-bit market includes such embedded-<:ontrol applications as television sets, disc drives, car radios, and autobody electronics, as well as personal computer peripheral systems (including printers, joysticks, modems and mice). Now they are even finding their way onto our credit cards in the form of bare chip die used in smartcards. The most popular 8-bit architecture is the Motorola 68xx. Next come the 80C51 originally developed by Intel but now offered by several vendors (Khan, 1996; Godfrey, 1996; Fancher, 1997).
The future for the integrated processor market looks very strong - more applications require increased processor power, new specific function devices are being designed and now custom integrated processors can be built for anyone with sufficient demand New products such as hardcopy imaging devices, interactive TV set-top boxes, personal digital assistants (PDAS) and communicators, digital office equipment, intelligent videophones, and mass storage will greatly expand the market for embedded processors, as well as challenge system designers when making their choice of a microprocessor architecture (Godfrey, 1996; Motorola, 19%a).
Designs employing 16-bit microcontrollers grew more common in the mid-to-late '80s, after the introduction of the architecture that still leads the 16-bit segment: the Intel SOC196. Motorola (the 68HI6), Pbilips (the XA), MEC (the K series) and other companies recently introduced new l6-bit architectures that are competing for market share.
3. TRENDS IN SYSTEM DEVELOPMENT The scale of integration is increasing. Manufacturing processes using 0.2 jJ.m design rules will be in commercial operation by year 2000 and
314
such processes will be capable of producing system chips with the equivalent of 20 million transistors. With 20 million transistor devices available in the future, all present day consumer products could be serviced with a single integrated circuit (Iq (Hermes, 1997). The capabilities of software and hardware in embedded systems are linked to the underlying performance of the foundry process, and will evolve to solve the fundamental challenges facing the manufacturers. To construct a system on a chip means more than the integration of millions of transistors. The design methodology for generating such complex ICs is changing rapidly having to address the software as well as hardware needs. Furthermore, as the size and complexity of chips has grown, so, too, has the task. of verification. Verifying the design of a chip containing a miUion gates of logic presents a formidable challenge of its own (Hunt and Rowson, 19%).
19%). System complexity and performance requirements have kept on growing. Meanwhile, product design cycles have shrivelled to 6 to 12 months, compelling system suppliers to improve time-to-market and exploit ever-dwindling windows of opportunity. As a result abstraction and code reusability have become crucial. But because these features are not adequately addressed by assembly language development methods, high-level languages, real-time kernels (RTK), and teal-time operating systems (RTOS) are proliferating (Khan, 19%). Today, embedded software is often highly complex and written in high-level languages such as C. Modem high-level language compilers generate code optimised for speed and minimal memory requirements and offer many advantages over the traditional assembly code. High-level languages simplify construction and test of immensely complex software tasks and algorithms and are much less hardware dependent than previous techniques. The object-oriented programming language C++ holds about 3 to 4% of the total embedded market. This share is expected to grow to 50% by the turn of the century (Godfrey, 19%; Klein, 1996).
As design complexity escalated and device functionality increased geometrically, the computer-aided-design (CAD) tools were asked to do more. The tool developers became specialists and focused on perhaps one part of the product creation process. The need to support all stages of the design cycle efficiently has forced the microprocessor vendors to create their own proprietary design methodologies based on tools from different developers as well as in-house developed ones. Some key issues must be dealt with by the CAD tools for next generation silicon - cross coupling, interconnect delay, subthreshold current etc. (Hermes, 1997; Warrilow, 1997).
3. 1. Software Development
The RTKs provide multitasking capabilities including mechanisms for starting and completing tasks, for switching between them in response to various priorities, and for facilitating communication among tasks for such purposes as synchronisation, resource sharing, and sequencing (Khan, 1996). Microcontroller operating systems are extension of RTKs, providing real-time control. They combine the task.-control, real-time driven facilities of an RTK with the standard features and services of an ordinary operating system, including the integration of languages, debugging environments, utilities and file management. Embedded RTOS are very robust and provide task. switching, message passing, interrupt processing, memory allocation and data 110 functions to the application software. Embedded 1386EX microprocessors can run a ROM-based version of MS-OOS to provide compatibility with desktop PCs. The M68000 family takes full advantage of embedded system software and the majority of RTOS suppliers use the MC68000 architecture as first choice for demonstrating the caJllbilities of their system software tool (Khan, 1996; Godfrey, 19%).
The software component of most electronic systems has been growing for several years and now often accounts for a major part of the final product and hence the design effort. Five years ago, the majority (perhaps as much as SOOIo) of project spend was on hardware, with only 20% being spent on software. Nowadays, the amOWIt spent on hardware is in the region of 40% (Hermes, 1997; Hunt and Rowson,
The development tools and environments that come along with silicon have become integral to today's microcontroller architectures. With various degrees of effectiveness, every advanced microcontroller today provides on-chip support for emulation and debugging. The more popular the architecture the broader the array of tools written to use with it. Usually these tools include an assembler, a
Usually, when choosing the ideal processor for em-
bedded applications, designers must first of aU examine issues such as memory subsystem costs, peripheral component cost power and bus-width requirements, backward compatibility, and the processor's future migration Jllth. However, nowadays, above and beyond these there are other ingredients, such as the processor's development environment that are taken into account (Motorola, 19%a). This is due to the fact that availability of reliable software tools, development hardware, and knowledgeable engineers as well as the quality of support and service provided by the processor supplier have a crucial effect on success in today's embedded systems market
315
simulator, a debugger, a compiler with a good library of routines, a linker and librarian, and a library of common embedded control routines (Khan, 1996).
implemented through layout. They have been optimised for performance, size, and power and mapped to a specific process technology. They exist as a fully placed and routed netlist, a custom physical layout or a combination of the two. The three types of blocks span a range of flexibility and predictability (Hunt and Rowson, 1996).
3.2. Hardware Development The shrinking of silicon geometries has had a significant impact on IC design methodologies. It is not always practical to just scale down. As wires and gates continue to become smaller and closer together the behaviour of silicon changes, and designers need new solutions and methodologies to account these changes. Accurate simulation is therefore more critical than ever before to ensure first time working silicon (Warrilow, 1997).
4. MOfOROLA'S NEWEST APPROACH TO EMBEDDED MICROPROCESSOR DESIGN 4. 1. The ColdFire Architecture
ColdFire is the latest addition to the Motorola's family of advanced microprocessors optimised for cost-sensitive embedded control applications. It occupies the space between complex instruction set computing (CISC) and fixed-length reduced instruction set computing (RISC), striking a balance between code density and transistor count. In designing ColdFire, Motorola focused on performance, code density, tools compatibility and time to market. Founded on a subset of the 68000 instruction set and using Motorola's variable length (VL) RISC technology, ColdFire combines the simplicity and optimal performance of a 32-bit RISC architecture with memory saving VL instruction set To attain high performance, ColdFire features single cycle instruction execution using hardwired control of processor's resources, eliminating the performance overhead associated with microcoded engines (furnbull, 1997).
In the mid-l 980s, a new approach to hardware design was pioneered - Field Programmable Gate Arrays (FPGAs). The FPGAs were immediately embraced by the makers of complex ICs for emulation of their designs. This represented several orders of magnitude increase in speed over software simulations. In the age of deep submicron design hardware emulation must play a key role. A massive multi-FPGA system can overcome the main obstacle to multimillion-gate emulation. The FPGAs permit hardware to be dynamically configured - a design could be improved and upgraded without having to replace existing hardware (Guccione, 1997; Selvidge, 1997). The complexity of large IC designs calls for a shift in the design paradigm to one based on reusable, high-level building blocks. To exploit the block-based design to the full a methodology and tools is needed with which to integrate the blocks efficiently, plus standards that support the creation of reusable blocks, their exchange and integration. Assembling and integrating blocks of this kind is analogous to designing printed-circuit boards, where standard, pre-existing components are assembled, simulated and verified and some custom components may have to be designed as well. Consequently, companies will need to increase their access to a variety of functional blocks from other companies as well in order to meet their time-to-market and business objectives. Blocks can be viewed as soft, firm or hard depending on their level of implementation Soft blocks are synthesizable register-transfer-level (RTL) descriptions or a netlist of generic library elements. The user is responsible for taking the implementation all the way through layout. Firm blocks, too, are in the form of synthesizable RTL code or a netlist of generic library elements, but they have been taken to the next level of implementation: they have been structurally and typologically optimised for performance and size through floorplanning or perhaps placement using a specific range of process technologies, but they do not include routing. Hard blocks have been
An overriding design goal for the ColdFire architecture was to minimise the silicon area. ColdFire's small core die size allows effective integration of on-chip memories, system modules and peripherals, which lowers overall system costs and minimises power consumption. The ColdFire core is modular and completely sinthesizable, meaning that it can be quickly customised to include other modules or can be adapted to other fabrication technologies with a minimum of effort. This synthesis-driven implementation approach enables fast design cycles, simplifies the integration of peripheral functions and allows a wide range of fabrication process technologies, operation frequencies, temperature, and voltages (Motorola, 19%a). ColdFire's sophisticated features, such as completely synthesizable core for flexibility and a robust debug module, shorten development cycles by speeding the transition from prototype to production. But Cold Fire's unique advantage is that it provides the industry's most streamlined migration path to highperformance RISC. Using an optimised subset of the 68000 instruction set, ColdFire-based systems leverage the immense body of development tools, software applications, and knowledge amassed over the 68000's 18-year legacy (Motorola, 1996a).
316
4.2. The F1erCore Design Methodology
The key aspects of the FlexCore system are: full hierarchical top-down design style for semicustom designs; full mixed-level, mixed-language (Verilog HDLNHDL) capabilities; synthesis-based approach; deep submicron delay calculation; strong floorplanner support; core support; multiple library and voltage support; power calculation; automated test pattern generation and virtual tester capabilities; fully integrated flow, minimaI user interaction; tight links to backend
The ColdFire microprocessor core is designed to be used as put of the Motorola' s FlexCore design program (Motorola, 1996b). Using the FlexCore program, manufacturers can create their own integrated microprocessor containing a core processor such as the ColdFire and their own proprietary on-chip circuitry. The FlexCore integrated processors are aimed at manufacturers of 8- 16- and 32-bit integrated solutions requiring higher system performance whose needs are not met by standard 68300 Family devices. By building on proven 680xO microprocessor architecture and manufacturing capabilities, FlexCore offers designers an effective path to higher system integration.
5. CONCLUSION New embedded applications represent an evolution in functionality from simple industrial control functions to today's radically innovative products that will form the infrastructure of the coming digital revolution. The microprocessor suppliers will play a greater role in enabling the success of the embedded system developers. The semiconductor product is no longer just silicon but instead silicon accompanied by development tools, design environments and services which can shorten the design cycle and provide a cost-effective migration path (Motorola, 1996b).
In a FlexCore integrated processor, the major functions and glue logic are all properly connected internally, timed with the same clock, and fully tested. Only essential signals are brought out to pins. The processor is then assembled and tested in a surfacemount package for the smallest possible footprint. In the future additional processing architectures will be included in the FlexCore program, including PowerPC and DSP. Custom logic, memory and peripheral modules can be added to a core processor to produce the most costeffective solution for a particular application Designers already familiar with 680xO family can easily migrate to FlexCore processors as the core processors use similar interfaces.
Only a few years ago, projects were handled by relatively small teams on one site. Today we see international projects, with teams located around the world, transferring design "parts" and working together via email, internet, video conferences and face to face contact (Hermes, 1997). The increased complexity of tomorrow's embedded systems will require even higher degree of communication and partnership on all levels and stages of the development process.
The FlexCore program is an example of a design methodology based on reusable building blocks. A FlexCore design consists of three type of functional building blocks: hard modules, soft modules and parameterizable modules. A hard module is not alterable. It is laid out, has a technology file, containing timing data, and has a defined test scheme. The processor core is available as a hard module only. A soft module is a netlist-based description implemented in standard cells. It is not alterable other than by clock tree insertion and is not laid out; has a defined test scheme; simulation test fixture is provided A parameterizable module is a behavioural model, alterable via insertion of predefined parameters. Definition of parameters defines test scheme. Customer selects parameter values and Motorola synthesises the design.
REFERENCES Ball, S.R (1996). Embedded Microprocessor Systems, Butterworth-Heinemman, London. Fancher, c.H. (1997). In Your Pocket - Smartcards. EEE Spectrum, 2, pp.47-53. Godfrey, K. (19%). The Ever-Changing Face of Integrated Microprocessors - An Evolutionary Story. lEE Computing and Control Engineering Journal, 3, pp. 153 - 160. Guccione, S.A (1997). Software for Reconfigurable Computing. Embedded Systems Programming Europe, 2, pp. 39 - 41. Hermes, B. (1997). Meeting Future Chip Challenges New Electronics on Campus, 2, pp. 16 - 17. Hunt, M., J.ARowson (19%). Blocking in a System on a Chip. IEEE Spectrum, 1, pp.35 - 4l. Khan, AR (1996) . Workhorses of the Electronic Era. IEEE Spectrum, 10, pp.36 - 42. Klein,RH.(1996).Object-Oriented - Any Objections New Electronics on Campus, 3, pp. 20 - 21.
The FlexCore program is a semicustom, standard-cell based design program. Motorola has developed a complete design system for the customer that includes both a broad cell-based library and effective CAD tools. Figure 1 (Motorola, 1996b) illustrates the standard cell design flow, the CAD tools required to complete each step and the split of the design job between the customer and the manufacturer.
317
Motorola, Ltd (1996a). Motorola ColdFire VL RISC Processors. Enabling the Next Generation ofAdvanced Consumer Electronics - White
Turnbull, A (1997). Meeting Fire with ColdFire. New Electronics on Campus, 2, pp 10 - 11 . Warrilow,R.(l997).Small Geometries Big Problems. New Electronics on Campus, 2, pp. 14 - 15. Wray, W.e. and 1.D.Creenfield (1994). Using Microprocessors and Microcomputers. The Motorola family, Prentice Hall, New Jersey.
paper. Motorola, Ltd (1996b). ColdFire2M ColdFire Core User's Manual. Selvidge, e. (1997). FPA Stitch Up. New Electronics on Campus, 2, pp. 18 -19 .
••. .•. .•\•.'•.•.. • .•...,.. I
GENE;;'~~~~~ERNS
l
FUNCllONALSlMULATION (VERILOO)
I
LOGIC SYNTHESIS (SYNOPSYS)
l
ELECTRICAL RULE CHECK (mdaERC)
I
CALCULATE NODE DELAYS (mdaDECAL)
I
j.
. ·.1
.....___-II L
I
I
MOOULECOMPILATlON (mdaCompier)
I
t
I
I - - - - - - - - - - - - -yt - -
- - -- -- --
--- -
SIMULATION (VERI LOO)
•• ••· •••• d •••••.•••
SCHEMATIC CAPTURE ON WORKSTATION
I
PERFORM REAL·TlME
ir=====lI I·.
Il
I
PACKAGE AND PINOUT DEFINITION
I
EXTRACT TEST VECTORS (SUMI.1IT·TOS)
t
I-
PATH DELAY ANALYSIS (vERITIMElSYNOPSYS)
- - - -
POSTTESTIOT VERIFIC",
-'--0
I I
t
I
1 1
_ _ _ _ __ 1
T
~
PERFORM FAULT GRADING (VEAIFAULT)
I
i
L:::==~,~,_~_~§I.111_11~~~~ =====, ~ t~ : 1 ,
'.
I
1
" I, I
-
_
I
____
RE·SlMULATE (VERILOO)
-
.,
POST TESll
POWER SIMULATION
--' ,
I I
IN·PLACE OPTIMIZATION (SYNOPSYS)
I
EXTRACT TEST VECTORS (SUMMIT·TOS)
I I
. :.: .:-::-: -:- :-.:.:-" ..
"
J
.
. · · · · · .· j l
- - - -~ OPTIONAL STEPS TO - - - -~ BE DONE IN PARALLEL
===:__
STEPS TO BE DONE -- IN PARALLEL
[ ] MOTOROLA
0
CUSTOMER
.. . .
Ilil··~·~·I·~~~·t · -~I
Fig. 1. FlexCore design system overview
318
FINAL TEST PROGRAM
I
1 I