CC2510 LN1 Introduction

download CC2510 LN1 Introduction

of 5

Transcript of CC2510 LN1 Introduction

  • 7/27/2019 CC2510 LN1 Introduction

    1/5

    CC2510 Introduction Page 1

    1999 - 2007, C. J. Kikkert, James Cook University

    CC2510 Digital Logic and Computing Methods

    Introduction

    Introduction

    Logic circuits take certain inputs and process them to produce an output. For example theoperation of a washing machine motor is controlled by:

    The position of the washing selector dial. (Wash, Rinse, Spin, Off)The position of the lid (no spin when the lid is open)The level of the water (no agitation if not enough water)Motor thermal overload

    All these inputs are used to control the motor operation using a logic circuit.

    George Boole (1815-1864) developed the principles of Boolean Algebra in 1854. BooleanAlgebra is used to formulate and manipulate statements describing logic operations. We will thususe Boolean Algebra to work out what the control for our washing machine motor should be.

    There are two types of LogicCombinational Logic, where the logic circuit output is dependent only on the present state of theinput values.

    Sequential Logic, where the logic circuit output is dependent on the present as well as the pastinput values. The circuit has a memory.

    Since Combinational logic is simpler and is required as part of Sequential Logic, we will look atthat first.

    Hardware

    The logic circuit may involve electronic circuits or simply switches and cams. Boolean Algebrawas initially used for relay logic, ie to control relays. There are still many, very large relay logiccomputers in operation. Older style telephone exchanges are a good example. The telephoneconversations are switched using relays, controlled by a computer which acts on the number

    being called. Parts of such a computer may be located in several different towns. If I ringMelbourne, parts of the switching circuit are located in Townsville, Rockhampton, Brisbane,Sydney and Melbourne (plus a few more places in between).

    Switching of power stations and power lines use high power switches, controlled by differenttypes of computers. Such computers may be current or voltage sensing relays, operatorcontrol etc. The logic circuit in this application can switch whole towns ON or OFF.

    Telephone messages are transmitted by switching a Laser diode ON and OFF. The switching rateis typically 550 to 2500 Mbit/sec.

    An electronic watch uses an oscillator, or clock at 32768 Hz. A Logic Integrated Circuit dividesthis 32.768 KHz signal down to produce pulses at a one-second interval. These pulses move thehands of the watch. A tiny battery powers the watch for several years.

    Logic circuits can thus be very small, operate at low power, operate very slowly, they can belarge (covering many towns as in linked telephone exchanges), and they can switch Mega Watt

  • 7/27/2019 CC2510 LN1 Introduction

    2/5

    CC2510 Introduction Page 2

    1999 - 2007, C. J. Kikkert, James Cook University

    of power. Yet the design principles are all the same in that Boolean Algebra is used to specifythe design equations.

    Computers are basically a collection of logic circuits. A program controls these logic circuitsto perform certain logic operations or calculations.

    History1940s The first computers built using relays. The power consumption of these

    computers was equivalent to the power requirements of a small town. Thesecomputers were less powerful than modern pocket calculators.

    1950s Vacuum tube valves used in logic circuits. IBM reckons only 4 computers arerequired to service the whole world.

    1960s Transistors used in logic circuits.The designs are all done by hand, logic reduction is very important to minimisethe costly hardware.

    1970s Simple logic gates are produced in IC form (Resistor Transistor Logic, RTL). TheICs had two gates per package, or one Flip-flop per package.

    1980s 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 ofthe cost of a printed circuit board is the cost of (plated through) holes in the board.

    1990s VLSI and PLDs are used. 240 pin plastic packages with 0.5mm pin spacings arecommonly available. Surface mounted components preferred, since firstly thereare no holes and secondly the components are smaller. An IC with 192 FlipFlopand 6000 gates in one package costs $20 in small quantities.

    2000s Programmable logic dominate the designs. There is a merging of CPLD andFPGA technologies, with both now being non-volatile. At present devices withmore than 1.2 million gates and 9 million FlipFlops and 500 Hardware multipliersare available. With the fast increase in maximum device sizes, the future devicecapabilities are mind-boggling. To handle the number of connections required bythese 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 requiredat speeds of several Gbit/sec. It is obvious that suitable design tools are requiredto manage such large designs.

    Figure 1. Devices used in this course.

  • 7/27/2019 CC2510 LN1 Introduction

    3/5

    CC2510 Introduction Page 3

    1999 - 2007, C. J. Kikkert, James Cook University

    Figure 2. FPGA devices.

  • 7/27/2019 CC2510 LN1 Introduction

    4/5

    CC2510 Introduction Page 4

    1999 - 2007, C. J. Kikkert, James Cook University

    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 canhandle 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 betweenpins. 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 usingCPLDs or FPGAs. It is often more economical to use programmable devices rather thanapplication special (purpose) ICs. (ASIC)

    As the die size, required to perform a given logic function halves every few years, it wont be toolong before ICs with tens of million gates are available. Most designs will be able to becompleted with one IC. It may however be more economical to use a small number of lower costICs. 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 logicdesign is thus becoming more important and more sophisticated.

    Programming Languages

    The programmable logic devices can be configured and programmed using a programminglanguage. A simple programming language called ABEL is used during this course. The thirdedition of Wakerley uses a more sophisticated programming language called VHDLextensively. VHDL is much more powerful and much more complex. As a consequence weteach VHDL in fourth year and ABEL in second year.

    Design Software

    The textbook Wakerley Digital Design comes with the Xilinx Student Edition FoundationSoftware. This allows Field Programmable Gate Arrays (FPGA) to be configured. The mainCPLD manufacturers (Xilinx, Altera and Lattice) all have their own proprietary software, thestarter versions of which can be either downloaded for free or purchased at a low cost. For ourlaboratory sessions we use simple Lattice Complex Programmable Logic Devices CPLDs. As aconsequence we use the corresponding Lattice software. This software is used to produce andverify the logic designs.

    Lattice ispLever Starter software from the Lattice Web site is made available on a CD to studentsand is also available on the CC2510 web site. This material includes a 268 page ABEL usersguide, which can be used as a textbook for ABEL programming.

    The LatticeMico32 System is used to implement the LatticeMico32 soft microprocessor andattached 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 andapplication framework for building software. The LatticeMico32 System contains two integrated

    tools (detailed below) that combine with ispLEVER to coordinate the building of an embeddedprocessor 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 isadvanced and expensive software available from many FPGA suppliers.

    These last two software applications allow existing designs to be easily converted to FPGAdesigns.

  • 7/27/2019 CC2510 LN1 Introduction

    5/5

    CC2510 Introduction Page 5

    1999 - 2007, C. J. Kikkert, James Cook University

    The full design software versions of these packages are used in commercial industry and can costhundreds of thousands of dollars.

    Logic Levels

    Digital logic devices use two levels to indicate the logic-state of the device. In the calculationsthese 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 callthat logic level 0.

    Logic levels 0 1Relay logic Open ClosedTransistor Off OnCMOS 0V (3.5VTTL 0V (0.8V) 5V >2VLowVoltageCMOS 0V 1.8VLight (LED) Light Off Light On

    Fibre Optic Light Off Light OnMagnetic Tape No Change of Flux Change of FluxCD No pit 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. Afew years ago 5Volt was universally used. Now 3.3V, 2,5V and 1.8V logic is used as this willgive faster performance and lower dissipation. When using logic with mixed voltage levels, careshould be taken that the inputs and outputs are compatible. For example much 3.3 V logic hasinputs that are 5.5V tolerant. Most 2.5V logic is not 5V tolerant.