Hardware and Software 1
Hardware and Software: A complete design Hardware and software support each other Sometimes it is necessary to shift functions from software to hardware or the other way around Cost, speed,overall system complexity, development time and skills, etc. all affect design choices 2
Limitations of the software approach processors are more capable but: power consumption cost programming the solution must fit the application 3
Tradeoffs depend on appliction SOFTWARE Cons:constraints: power budget cost security? Pros: can be modified easier to develop HARDWARE Pros: lower power (sometimes) lower cost in volume less vulnerable to tampering Cons: no modifications 4
Circuits A little electronics can go a long way Design choices Very few people are experts in everything - so work with other experts to achieve more It is still good to know what is possible using other methods 5
Logic circuits discrete logic (74xx series components) AND, OR, NOR, NAND, XOR, and their combinations... Programmable logic is one way to consolidate digital logic circuits into fewer chips. Can be very fast, 250MHz 6
State machines/lookup tables Source: http://www.caa.lcs.mit.edu/~devadas/6.004/lectures/lect6/ 7
State machines/lookup tables Simple state machines can be implemented as lookup charts For a fixed set of inputs, a fixed set of outputs Quick and easy to do with a PLD Use logic design and logical algebra to reduce instructions to a minimum 8
PLD Programmable Logic Device One-time or reprogrammable Contain macrocells which consist of basic logic, a 1-bit memory, and multiplexers Macrocells are linked by a configurable array of logic. A good example is the 22V10 Gate Array Logic device http://www.latticesemi.com/templates/_download.cfm?cfid=265847&cftoken=66 178828&AMID=120 9
Complex PLD Complex PLDs borrow capabilities from FPGAs (next) but need to be preprogrammed High-speed digital logic Example: Cypress top-of-the-line Delta39K CPLD http://www.cypress.com/cypress/prodgate/cpld/delta39k.html 10
Verilog/VHDL Verilog and VHDL are hardware description languages With them, one can create hardware implementations through programming Can be used to program all programmable devices and even design ASICs Cypress Technical Article on VHDL http://www.cypress.com/design/techarticles/skahill1.html 11
FPGA Field Programmable Gate Array Recofigurable logic device Can be reprogrammed in a short time incircuit Xilinx FPGA brochure http://www.xilinx.com/partinfo/ds031-1.pdf Xilinx FPGA details http://www.xilinx.com/partinfo/ds031-2.pdf 12
DES/3DES En/Decryption A complex algorithm in a 25MHz AVR microcontroller with FPGA at 4.2 MByte/Sec throughput http://www.atmel.com/journal/documents/issue4/pg29_30_des3des.pdf 13
ASIC Application Specific Integrated Circuit Multiple analog and/or digital components incorporated in a single chip www.fincitec.com 14
System On Chip A combination of a System On Chip and programmable logic Source: http://www.altera.com/products/devices/excalibur/exc-arm_index.html 15
System On Chip pt2 A basic PC on a chip, just add memory and connectors Source: www.zflinux.com 16
Programmable System on Chip Triscend www.triscend.com A fixed core (uproc) configurable logic configurable peripherals Can reduce system cost significantly for low and medium volumes 17