Page 1
CC2510 Introduction
Page 2
of power. Yet the design principles are all the same in that Boolean Algebra is used to specify the design equations. Computers are basically a collection of logic circuits. A program controls these logic circuits to perform certain logic operations or calculations. History 1940s
1950s 1960s
1970s 1980s
1990s
2000s
The first computers built using relays. The power consumption of these computers was equivalent to the power requirements of a small town. These computers were less powerful than modern pocket calculators. Vacuum tube valves used in logic circuits. IBM reckons only 4 computers are required to service the whole world. Transistors used in logic circuits. The designs are all done by hand, logic reduction is very important to minimise the costly hardware. Simple logic gates are produced in IC form (Resistor Transistor Logic, RTL). The ICs had two gates per package, or one Flip-flop per package. Transistor Transistor Logic (TTL) and Large Scale Integration (LSI) are used. Typical package, Dual in line, with 0.1 inch pin spacing. A significant portion of the cost of a printed circuit board is the cost of (plated through) holes in the board. VLSI and PLDs are used. 240 pin plastic packages with 0.5mm pin spacings are commonly available. Surface mounted components preferred, since firstly there are no holes and secondly the components are smaller. An IC with 192 FlipFlop and 6000 gates in one package costs $20 in small quantities. Programmable logic dominate the designs. There is a merging of CPLD and FPGA technologies, with both now being non-volatile. At present devices with more than 1.2 million gates and 9 million FlipFlops and 500 Hardware multipliers are available. With the fast increase in maximum device sizes, the future device capabilities are mind-boggling. To handle the number of connections required by these devices, new forms of connections, such as ball grid arrays, flip chip and bump bonding are becoming accepted. These ICs can contain a million gates, which can be programmed by the user to perform the switching function required at speeds of several Gbit/sec. It is obvious that suitable design tools are required to manage such large designs.
CC2510 Introduction
Page 3
CC2510 Introduction
Page 4
Design Considerations We have difficulty in etching or soldering pins with 0.5mm spacing, using our in-house facilities, so avoid those packages in your projects, unless the boards are made commercially. We can handle packages with 1mm pin spacings. Ball Grid Array packages require to be X rayed after placement to ensure that all the solder balls make proper contract without any shorts between pins. As part of the course we will use the standard 7400 series TTL/CMOS logic gates as well as CPLDs for more complex designs. Newer designs can be done more economically using CPLDs or FPGAs. It is often more economical to use programmable devices rather than application special (purpose) ICs. (ASIC) As the die size, required to perform a given logic function halves every few years, it wont be too long before ICs with tens of million gates are available. Most designs will be able to be completed with one IC. It may however be more economical to use a small number of lower cost ICs. As the cost of digital ICs is reducing faster than that of analogue ICs, many functions previously performed by analogue circuits will be done using digital circuits instead. The logic design is thus becoming more important and more sophisticated. Programming Languages The programmable logic devices can be configured and programmed using a programming language. A simple programming language called ABEL is used during this course. The third edition of Wakerley uses a more sophisticated programming language called VHDL extensively. VHDL is much more powerful and much more complex. As a consequence we teach VHDL in fourth year and ABEL in second year. Design Software The textbook Wakerley Digital Design comes with the Xilinx Student Edition Foundation Software. This allows Field Programmable Gate Arrays (FPGA) to be configured. The main CPLD manufacturers (Xilinx, Altera and Lattice) all have their own proprietary software, the starter versions of which can be either downloaded for free or purchased at a low cost. For our laboratory sessions we use simple Lattice Complex Programmable Logic Devices CPLDs. As a consequence we use the corresponding Lattice software. This software is used to produce and verify the logic designs. Lattice ispLever Starter software from the Lattice Web site is made available on a CD to students and is also available on the CC2510 web site. This material includes a 268 page ABEL users guide, which can be used as a textbook for ABEL programming. The LatticeMico32 System is used to implement the LatticeMico32 soft microprocessor and attached peripheral components in a Lattice FPGA. It is based on the Eclipse C/C++ Development Tools (CDT) environment, which is an industry open-source development and application framework for building software. The LatticeMico32 System contains two integrated tools (detailed below) that combine with ispLEVER to coordinate the building of an embedded processor system on an FPGA device and write the software to drive it. It is also possible to directly convert Matlab code into an FPGA implementation. This is advanced and expensive software available from many FPGA suppliers. These last two software applications allow existing designs to be easily converted to FPGA designs.
CC2510 Introduction
Page 5
The full design software versions of these packages are used in commercial industry and can cost hundreds of thousands of dollars. Logic Levels Digital logic devices use two levels to indicate the logic-state of the device. In the calculations these are called 0 and 1. Depending on the type of hardware used the Logic levels 0 and 1 can correspond to different operations. This logic level corresponds to a change of state of a device. For example for a lamp in a room, if it is ON, we call that logic level 1 and if it is OFF, we call that logic level 0.
Logic levels Relay logic Transistor CMOS TTL LowVoltageCMOS Light (LED) Fibre Optic Magnetic Tape CD
0 Open Off 0V (<1.5V) 0V (0.8V) 0V Light Off Light Off No Change of Flux No pit
Table I-1. Different Logic Levels for various devices. During the last few years there has been a trend to use lower voltage levels on CMOS logic. A few years ago 5Volt was universally used. Now 3.3V, 2,5V and 1.8V logic is used as this will give faster performance and lower dissipation. When using logic with mixed voltage levels, care should be taken that the inputs and outputs are compatible. For example much 3.3 V logic has inputs that are 5.5V tolerant. Most 2.5V logic is not 5V tolerant.