Programmable Logic. Module: EE2C2 Digital Design. Lecturer: James Grimbleby. j.b.grimbleby reading.ac.uk. Number of Lectures: 6
|
|
- Sabina Payne
- 5 years ago
- Views:
Transcription
1 Programmable Logic Module: EE2C2 Digital Design Lecturer: URL: personal rdg ac stsgrimb/ j.b.grimbleby reading.ac.uk Number of Lectures: 6 Recommended course text: J. F. Wakerley Digital Design: Principles and Practices (4th ed) Prentice-Hall 2005 ISBN: School of Systems Engineering - Electronic Engineering Slide 1
2 Programmable Logic Course text: J. F. Wakerley Digital Design: Principles and Practices (4th ed) Prentice-Hall 2005 ISBN: Price: 45 (approx) School of Systems Engineering - Electronic Engineering Slide 2
3 Programmable Logic Syllabus This course of lectures deals with the technology and programming of programmable logic devices The topics that will be covered include: Technologies: fuse, anti-fuse, MOSFET, RAM Programmable ROM, EPROM Combinational and sequential logic using PROMs Programmable array logic (PAL) Programming PALs - hardware definition language Versatile PALs Generic Array Logic (GAL) Combinational and sequential logic using PALs/GALs Field-programmable gate arrays (FPGA) School of Systems Engineering - Electronic Engineering Slide 3
4 Programmable Logic Prerequities You should be familiar with the following topics: SE1EB5: Computer and Internet Technologies Boolean algebra Karnaugh maps and Boolean simplification Logic gates Implementation of combinational systems Hazards Flip-flops Implementation of sequential systems SE1EC5: Engineering g Mathematics EE2C2: Digital Design Finite-state machines School of Systems Engineering - Electronic Engineering Slide 4
5 Programmable Logic Reference text books: Digital Systems Design with Programmable Logic, Martin Bolton, Addison-Wesley, ISBN Programmable logic PLDs and FPGAs R.C. Seals and G.F. Whapshott Macmillan 1997 ISBN School of Systems Engineering - Electronic Engineering Slide 5
6 Programmable Logic Programmable logic devices (PLDs) are increasingly being used instead of standard TTL or CMOS gates Types of PLD include: PROMs, PLAs, PALs, GALs and FPGAs The logic function of PLDs is determined by the state of a number of internal links A hardware definition language (HDL) such as VHDL is used to specify the function of PLDs The HDL is compiled on a computer and downloaded to the device by a special-purpose programmer. School of Systems Engineering - Electronic Engineering Slide 6
7 Programmable Logic A single PLD can replace a number of standard logic gates with the following advantages: reduced area on circuit board higher h speed lower power consumption reduced cost increased reliability design changes without PCB modification Typically re-programmable devices are used during the development phase One-time-programmable devices are used during production School of Systems Engineering - Electronic Engineering Slide 7
8 Programmable AND A A B B +V s A A B B +V s X = A. B School of Systems Engineering - Electronic Engineering Slide 8
9 Programmable OR P Q R S 0V P Q R S 0V X = Q + S School of Systems Engineering - Electronic Engineering Slide 9
10 Programmable Logic Devices are programmed by making, or breaking, connections within the device. There are 6 main technologies: 1. Mask programmed 2. Fuse 3. Anti-fuse 4. Floating-gate: UV erasable 5. Floating-gate: gate: electrically erasable 6. RAM-based School of Systems Engineering - Electronic Engineering Slide 10
11 Mask Programmed Logic Mask-programming must be performed by the manufacturer The process is identical for all devices except for the final metallisation The final metallisation is controlled by a mask specified by the user Turn-round time is long Cost of mask is very high making this method only suitable for very large number of identical devices Mask-programmed logic is non-volatile and radiation-hard School of Systems Engineering - Electronic Engineering Slide 11
12 Fuse Programmed Logic Fuse logic is one-time-programmable Fuse is a two-terminalterminal device that is normally a low resistive element and may be blown resulting in an open circuit Typical materials are nichrome and polysilicon There may be reliability problems - the evaporated fuse material settles elsewhere on the surface of the device Fuse element is non-volatile and radiation-hard School of Systems Engineering - Electronic Engineering Slide 12
13 Anti-Fuse Programmed Logic Anti-fuse logic is one-time-programmable Anti-fuse is a two-terminal device that is normally an open circuit and may be programmed to a low resistance This is done by destructively breaking down an insulating layer Typical programmed resistances range from 25 to 500 Ω Anti-fuse is non-volatile and radiation-tolerant; tolerant; certain versions can be made radiation-hard. School of Systems Engineering - Electronic Engineering Slide 13
14 Metal-Metal Anti-Fuse Metal layers (tungsten, titanium) are separated by SiO 2 insulator and amorphous silicon Link m 1 m 2 SiO 2 m 1 m 2 SiO 2 Amorphous Si School of Systems Engineering - Electronic Engineering Slide 14
15 Floating-Gate MOSFET: UV Erasable Floating-gate MOSFET devices which can be reprogrammed UV erasable, electrically programmable Data retention > 20 years at 125 C Ceramic package incorporates a quartz window (to allow uv exposure) which is expensive Not radiation-hard School of Systems Engineering - Electronic Engineering Slide 15
16 Floating-Gate MOSFET Control gate Floating gate Drain Gate Source Insulator Si0 2 Substrate Erase using short-wavelength th ultra-violet l t light: photoelectric t emission gives floating gate a +ve charge Program by breaking down the drain-substrate diode: hot electrons cross insulator giving g floating gate a -ve charge School of Systems Engineering - Electronic Engineering Slide 16
17 Floating-Gate MOSFET Erased : gate has positive charge which lowers threshold voltage Transistor operates normally Programmed : gate has negative charge which raises threshold voltage Transistor is always OFF School of Systems Engineering - Electronic Engineering Slide 17
18 Floating-Gate MOSFET: Electrically Erasable Floating-gate MOSFET devices which can be reprogrammed Electrically erasable, electrically programmable Data retention > 20 years at 125 C Inexpensive plastic packaging Not radiation-hard School of Systems Engineering - Electronic Engineering Slide 18
19 Floating-Gate MOSFET: Electrically Erasable Control gate Floating gate Drain Gate Source Insulator Si0 2 Substrate Erase is by Fowler-Nordheim tunnelling which establishes a positive charge on the floating gate Program by breaking down the drain-substrate diode: hot electrons cross insulator giving floating gate a -ve charge School of Systems Engineering - Electronic Engineering Slide 19
20 RAM-Based PLDs A flip-flop stores the state of each link RAM-based PLDs are re-programmable and volatile RAM-based PLDs allow fast in-circuit reconfiguration The link map must be downloaded from an external source on power-up Several transistors per link leads to large chip size RAM-based PLDs are radiation-hard, but device storing the link map may be radiation-sensitive School of Systems Engineering - Electronic Engineering Slide 20
21 RAM-Based PLDs Each link consists of a flip-flop together with a transistor switch: +Vcc Flip-flop p Link School of Systems Engineering - Electronic Engineering Slide 21
22 Programmable ROM The most familiar programmable logic device is the programmable read-only memory (PROM, EPROM, EEPROM or FlashRAM) PROM typically has 10 to 19 inputs (address lines) and 8 outputs (data lines) n address lines specify 2 n locations; each location contains an 8-bit data word Each of the 8 outputs t is therefore a completely l general combinational function of the inputs School of Systems Engineering - Electronic Engineering Slide 22
23 Programmable ROM Inputs: Fixed AND matrix A B C Programmable OR matrix A. BC. A. BC. A. B. C A. BC. A. BC. A. BC. A. BC. A. BC. Outputs: W X Y Z School of Systems Engineering - Electronic Engineering Slide 23
24 EPROM: ST M27C Outputs 17 Inputs 1Mbit EPROM Organised as 128 Kwords of 8 bits (bytes) Access time: 35 ns Cost: 4 School of Systems Engineering - Electronic Engineering Slide 24
25 EPROM: ST M27C1001 Quartz window Ceramic package School of Systems Engineering - Electronic Engineering Slide 25
26 Combinational Logic Using PROMs Consider the completely-specified function F of the 4 variables A, B, C and D: F = A.( B + C + BC. ) + A. B.( C + D ) "Multiplying out" the brackets gives: F = A. B + AC. + A. BC. + A. BC.. D There is no point in simplifying the function any further since the PROM generates all the minterms A truth table is used to generate the PROM data School of Systems Engineering - Electronic Engineering Slide 26
27 Combinational Logic Using PROMs F = A. B + AC. + A. BC. + A. BC.. D A B C D F A B C D F School of Systems Engineering - Electronic Engineering Slide 27
28 Combinational Logic Using PROMs Assign: A A 3, B A 2, C A 1, D A 0 F D 0 A B C D F A B C D F 3 A 2 A 1 A 0 D 0 Addr Data A 3 A 2 A 1 A 0 D 0 Addr Data x00 0x x08 0x x01 0x x09 0x x02 0x x0A 0x x03 0x x0B 0x x04 0x x0C 0x x05 0x x0D 0x x06 0x x0E 0x x07 0x x0F 0x00 A 3 School of Systems Engineering - Electronic Engineering Slide 28
29 Combinational Logic Using PROMs Data to be programmed into a PROM is normally specified in data file which h is uploaded d to a PROM programmer A common format for specifying PROM data is Motorola S- records Unfortunately software is not available for automatically generating PROM data files from logic functions In most cases the data must be entered manually into the PROM programmer This can be time-consuming and error-prone School of Systems Engineering - Electronic Engineering Slide 29
30 Combinational Logic Using PROMs The process of defining the PROM data can be automated by writing a computer program Example: the 8-bit square root of a 16-bit integer number: #include <iostream.h> #include <math.h> h> const unsigned int address_lines = 16; const unsigned int rom_size = 1 << address_lines; unsigned int data(unsigned int address) { return (unsigned int) sqrt((double) address); } School of Systems Engineering - Electronic Engineering Slide 30
31 Combinational Logic Using PROMs Function dump_rom() will call data() with all possible address values, and print out the result: void dump_rom() { unsigned int a; cout.setf(ios::hex); } cout.fill('0'); ') for (a = 0; a < rom_size; ++a) { cout << "rom["; cout.width(4); } cout << a << "] = "; cout.width(2); cout << data(a) << "\n"; School of Systems Engineering - Electronic Engineering Slide 31
32 Combinational Logic Using PROMs In practice the program would need to be modified to output the data in S-record (or similar) form PROM A 0 D 0 A 1 D 1 Inputp : Q A 2 D 2 Output : A 14 D 6 A 15 D 7 Q School of Systems Engineering - Electronic Engineering Slide 32
33 Combinational Logic Using PROMs PROMs tend to be large and expensive compared with other types of PLD They are also slow and generate both static and dynamic hazards at the outputs PROMs can generate completely general logic functions In practice required logic functions contain a limited number of "product terms": F = A + BC.. D 2 product terms School of Systems Engineering - Electronic Engineering Slide 33
34 Sequential logic systems are usually formalised as finite- state machines (FSMs) Sequential Logic Using PROMs The elements of synchronous FSMs are: 1. A state memory consisting of D-type flip-flops 2. Combinational logic to generate the next state variables from the present state variables and the inputs 3. Combinational logic to generate the outputs from the present state variables and the inputs The combinational logic can be implemented using PROMs School of Systems Engineering - Electronic Engineering Slide 34
35 Sequential Logic Using PROMs Inputs State memory Synchronised inputs Outputs D 0 Q 0 A 0 D 0 D 1 Q 1 A 1... PROM D 3 D 2 Q 2 A 2 D 4 D 3 Q 3 A 3 D 5 D 4 Q 4 A 4 D 6 Present Next Clock state state School of Systems Engineering - Electronic Engineering Slide 35
36 Sequential Logic Using PROMs Sequence detector: X FSM Z Clock A string of 0s and 1s is assumed to be applied to the input X synchronously with the clock The output Z should become 1 for a single clock period if the sequence 1001 appears on the input School of Systems Engineering - Electronic Engineering Slide 36
37 Sequential Logic Using PROMs State diagram of sequence detector: 1/0 X/Z 0/0 1/0 0/0 0/0 S0 S1 S2 S3 1/0 0/0 1/1 4 states 2 state variables School of Systems Engineering - Electronic Engineering Slide 37
38 Sequential Logic Using PROMs 4 states 2 state variables X X s D 0 Q 0 A 0 D 0 Z Y 1 y 1 D 1 Q 1 D 2 Q 2 Y 2 y 2 PROM Y A 1 D 1 1 A 2 D 2 Y 2 Clock School of Systems Engineering - Electronic Engineering Slide 38
39 Sequential Logic Using PROMs Y-map y 1 y 2 X s =0 X s =1 00 S S S S Y 1 Y 2 Output y 1 y 2 X s =0 X s =1 00 S S S S3 0 1 Z School of Systems Engineering - Electronic Engineering Slide 39
40 Sequential Logic Using PROMs Assign: X s A 0, y 1 A 1, y 2 A 2, Z D 0, Y 1 D 1, Y 2 D 2 y 2 y 1 X s Y 2 Y 1 Z A 2 A 1 A 0 D 2 D 1 D 0 Addr Data x00 0x x01 0x x02 0x x03 0x x04 0x x05 0x x06 0x x07 0x04 School of Systems Engineering - Electronic Engineering Slide 40
41 Sequential Logic Using PROMs There are some drawbacks to PROM-based FSMs: 1. The clock frequency is limited by the response time of the PROM 2. Following a clock transition the outputs will exhibit static and dynamic hazards 3. PROMs are larger, more expensive and power hungry than alternative PLDs 4. Software is not available for programming PROM-based FSMs School of Systems Engineering - Electronic Engineering Slide 41
42 Programmable Array Logic Programmable Array Logic devices (PALs) typically generate 8 output logic functions of 10 inputs and 6 of the outputs themselves The logic functions are not completely general as in PROMs but typically allow 8 product terms The feedback means that PALs can be programmed to act as asynchronous FSMs Some PALs contain D-type flip-flops flops on their outputs and so can be used as synchronous counters and FSMs. School of Systems Engineering - Electronic Engineering Slide 42
43 Programmable Array Logic Inputs: A B C Fixed OR matrix Program- mable AND matrix Outputs: W X Y Z School of Systems Engineering - Electronic Engineering Slide 43
44 Programmable Array Logic: MMI PAL16L8 Technology: bipolar, one-time programmable Outputs: 8, inputs: 10, feedback: 6 Number of product terms: 7 Package: 20-pin DIL or surface mount Delay time input change to output: 25 ns Power supply: 120 ma at 5 V Cost: N/A (replaced by V series PALs and GALs) School of Systems Engineering - Electronic Engineering Slide 44
45 Programmable Logic: PAL16L8 School of Systems Engineering - Electronic Engineering Slide 45
46 Programmable Logic: PAL16L8 1 product term 7 product terms Tri-state control Output Feedback School of Systems Engineering - Electronic Engineering Slide 46
47 Combinational Logic Using PALs The logic function of a PAL is defined by making/breaking appropriate links in the AND matrix The link data could in principle be entered into the PAL programmer manually In practice the logic function is specified either by schematic entry or by hardware description language (HDL) The most popular HDLs for small programmable logic devices are ABEL, CUPL, OPAL and PALASM School of Systems Engineering - Electronic Engineering Slide 47
48 Combinational Logic Using PALs The specification written in a HDL is compiled on a PC to produce a JEDEC fuse map file Most HDL compilers incorporate a simulator which allows the design to be tested before programming a device The JEDEC file is uploaded to the PAL programmer This device is then programmed A security link on the device can be set to prevent the link data from being read (to prevent reverse engineering) School of Systems Engineering - Electronic Engineering Slide 48
49 Combinational Logic Using PALs Design Write HDL spec Create JEDEC Compile Upload Yes Errors? No Simulate Program PAL In-circuit test Yes No Yes Errors? Errors? No School of Systems Engineering - Electronic Engineering Slide 49
50 CUPL Definition File: Boolean Expression Name EX1; Partno EX0000; Date 6/10/98; Rev 01; Designer J.B.Grimbleby; Company University of Reading; Assembly None; Location None; Device p16l8; /* input pins */ PIN 1 = A; PIN 2 = B; PIN 3 = C; PIN 4 = D; /* output t pins */ PIN 19 = F; F = A.( B + C + BC. ) + A. B.( C + D) Boolean Operator Symbols:! NOT & AND # OR /* equations */ F =!A & (B # C #!B &!C) # A & B &!(C # D); School of Systems Engineering - Electronic Engineering Slide 50
51 CUPL Documentation File Expanded Product Terms:!F => A &!B # A & C # A & D F.oe => 1 Symbol Table: Pin Variable Pterms Max Min Pol Name Ext Pin Type Used Pterms Level A 1 V B 2 V C 3 V D 4 V F 19 V F oe 19 D School of Systems Engineering - Electronic Engineering Slide 51
52 CUPL Documentation File Fuse Plot: xx x-x x-----x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Chip Diagram: EX1 A x x Vcc B x x F C x x D x x x x x x x x x x x x GND x x School of Systems Engineering - Electronic Engineering Slide 52
53 JEDEC Output File CUPL(WM) 4.9a Serial# MW Device p16l8 Library DLIB-h-39-8 Created Mon Oct 05 19:23: Name EX1 Partno EX0000 Revision 01 Date 6/10/98 Designer J.B.Grimbleby Company University of Reading Assembly None Location None *QP20 *QF2048 *G0 *F0 *L *L *L *L *C0FD1 *76D1 School of Systems Engineering - Electronic Engineering Slide 53
54 PAL16L8 Implementation B B A A A. B A. A. B. BC.. C... = 0 A.C A.D F B A C D School of Systems Engineering - Electronic Engineering Slide 54
55 CUPL Definition File: Truth Table /* input pins */ PIN 1 = p; PIN 2 = q; PIN 3 = r; /* output pins */ PIN 19 = aa; PIN 18 = a; PIN 17 = bb; PIN 16 = b; /* truth table */ table p, q, r => a, b, aa, bb { 'b'000 => 'b'1000; 'b'001 => 'b'1100; 'b'010 => 'b'0100; 'b'011 => 'b'0110; 'b'100 => 'b'0010; 'b'101 => 'b'0011; 'b'110 => 'b'0001; 'b'111 => 'b'1001; } School of Systems Engineering - Electronic Engineering Slide 55
56 CUPL Documentation File Expanded Product Terms: a =>!p &!q # p & q & r aa => p &!q #!p & q & r b =>!p & q #!p & r bb => p & q # p & r School of Systems Engineering - Electronic Engineering Slide 56
57 CUPL Simulation ORDER: p, q, r, %2, a, aa, b, bb; VECTORS: 000**** 001**** 010**** 011**** 100**** 101**** 110**** 111**** 000**** 001**** 010**** 011**** 100**** 101**** 110**** 111**** Input file ================== a b pqr aabb ================== 0001: 000 HLLL 0002: 001 HLHL 0003: 010 LLHL 0004: 011 LHHL 0005: 100 LHLL 0006: 101 LHLH 0007: 110 LLLH 0008: 111 HLLH 0009: 000 HLLL 0010: 001 HLHL 0011: 010 LLHL 0012: 011 LHHL 0013: 100 LHLL 0014: 101 LHLH 0015: 110 LLLH 0016: 111 HLLH Output File School of Systems Engineering - Electronic Engineering Slide 57
58 CUPL Simulation School of Systems Engineering - Electronic Engineering Slide 58
59 CUPL Definition File: From Schematic A B C D s t F p q r p = BC. s = C + D q = B + C + p t = A. B. s r = A. q F = r + t School of Systems Engineering - Electronic Engineering Slide 59
60 CUPL Definition File: From Schematic /* input pins */ PIN 1 = A; PIN 2 = B; PIN 3 = C; PIN 4 = D; p = BC. ; q = B + C + p r = A. q s = C + D t = A. B. s F = r + t /* output pins */ PIN 19 = F; /* intermediate variables */ p =!B &!C; q = B # C # p; r =!A & q; s =!(C # D); t = A & B & s; /* equations */ F = r # t; School of Systems Engineering - Electronic Engineering Slide 60
61 CUPL Definition File: From Schematic F =>!A!A # B &!C &!D p =>!B &!C q => B # C #!B &!C r =>!A & B #!A &!B &!C #!A & C s =>!C &!D t => A & B &!C &!D School of Systems Engineering - Electronic Engineering Slide 61
62 CUPL Definition File: From Schematic Pin Variable Pterms Max Min Pol Name Ext Pin Type Used Pterms Level A 1 V B 2 V C 3 V D 4 V F 19 V p 0 I q 0 I r 0 I s 0 I t 0 I School of Systems Engineering - Electronic Engineering Slide 62
63 CUPL Definition File: From Schematic Fuse Plot: x x----x---x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Chip Diagram: Schematic A x x Vcc B x x F C x x D x x x x x x x x x x x x GND x x School of Systems Engineering - Electronic Engineering Slide 63
64 Registered PALs: PAL16R8 School of Systems Engineering - Electronic Engineering Slide 64
65 Registered PALs: PAL16R8 Clock 8 product terms Output Feedback Tri-state control School of Systems Engineering - Electronic Engineering Slide 65
66 Versatile PALs Versatile PALs have a macrocell on each output Each macrocell can be programmed to be combinational or registered, and active-low or active-high The macrocell on each output allows a versatile PAL to emulate a range of simple PALs For example a PAL16V8 can replace any 20-pin PAL such as: PAL16L8, PAL18R8, PAL16R4, PAL16R6, PAL16H8 Consequently simple PALs are now effectively obsolete School of Systems Engineering - Electronic Engineering Slide 66
67 Versatile PALs: PAL16V AR D Q 00 Q SP 01 MPX 0 MPX 1 S 1 S 0 Versatile PAL macrocell School of Systems Engineering - Electronic Engineering Slide 67
68 Versatile PALs: PAL16V8 AR Q D SP Q S 1 =0, S 0 =0: Registered active-low School of Systems Engineering - Electronic Engineering Slide 68
69 Versatile PALs: PAL16V8 AR Q D SP Q S 1 =0, S 0 =1: Registered active-high School of Systems Engineering - Electronic Engineering Slide 69
70 Versatile PALs: PAL16V8 S 1 =1, S 0 =0: Combinational active-low School of Systems Engineering - Electronic Engineering Slide 70
71 Versatile PALs: PAL16V8 S 1 =1, S 0 =1: Combinational active-high School of Systems Engineering - Electronic Engineering Slide 71
72 Generic Array Logic GALs are similar to versatile PALs except that they use floating-gate/electrical erase technology GALs can therefore be reprogrammed GALs use CMOS technology resulting in a lower power consumption than bipolar technology PALs GALs are as fast, or faster, than bipolar technology PALs Being reprogrammable GALs can be fully tested t by the manufacturer School of Systems Engineering - Electronic Engineering Slide 72
73 Generic Array Logic: Lattice GAL16V8 Technology: cmos, re-programmable Outputs: 8, inputs: 10, feedback: 6 Number of product terms: 8 Package: 20-pin DIL or surface mount Delay time input change to output: 3.5 ns Power supply: 75 ma at 5 V Cost: 2 School of Systems Engineering - Electronic Engineering Slide 73
74 Sequential Logic Using PALs Three-stage Johnson-code counter C B A D Q D Q D Q Input Q Q Q /* input pins */ /* output pins */ /* equations */ PIN 1 = clock; PIN 19 = A; PIN 18 = B; PIN 17 = C; A.d = B; B.d = C; C.d =!A; School of Systems Engineering - Electronic Engineering Slide 74
75 Sequential Logic Using PALs ORDER: clock, %2, A, B, C; VECTORS: P000 C*** C*** C*** C*** C*** C*** C*** C*** C*** C*** C*** Simulation input =============== c k ABC =============== 0001: P : C LLH 0003: C LHH 0004: C HHH 0005: C HHL 0006: C HLL 0007: C LLL 0008: C LLH 0009: C LHH 0010: C HHH 0011: C HHL 0012: C HLL 0013: C LLL Simulation output School of Systems Engineering - Electronic Engineering Slide 75
76 Sequential Logic Using PALs School of Systems Engineering - Electronic Engineering Slide 76
77 Sequential Logic Using PALs School of Systems Engineering - Electronic Engineering Slide 77
78 Sequential Logic Using PALs Johnson-code counter works correctly provided that it starts in one of the states of the counting sequence However, the unused states (010, 101) cycle To prevent this the equations must be changed to force one of the unused states back to the correct sequence Force state 101 to go to state 011: /* equations */ A.d = B; B.d = C; C.d =!A #!B & C; School of Systems Engineering - Electronic Engineering Slide 78
79 Sequential Logic Using PALs School of Systems Engineering - Electronic Engineering Slide 79
80 Finite State Machines Using PALs C1 0/0 0/0 x/z 1/1 1/0 C0 1/0 0/1 C2 Modulo-3 up/down counter (Moore machine) School of Systems Engineering - Electronic Engineering Slide 80
81 FSM (Moore) Definition File /* input pins */ PIN 1 = clock; PIN 2 = x; 3 states t 2 state t variables /* output pins */ PIN 16 = z; /* feedback pins */ PIN 15 = xs; /* state variables */ PIN 17 = u; PIN 18 = v; $DEFINE C0 'b'00 $DEFINE C1 'b'01 $DEFINE C2 'b'10 $DEFINE C3 'b'11 Synchronised input x State variables must be assigned to output pins States must be assigned representations (including unused states) School of Systems Engineering - Electronic Engineering Slide 81
82 FSM (Moore) Definition File xs.d = x; sequence u,v { present C0 if xs next C1; default next C2; Synchronised input x Output z set for this state (independent of input) } out z; present C1 if xs next C2; default next C0; present C2 if xs next C0; default next C1; present C3 default next C0; Output z not set for these states School of Systems Engineering - Electronic Engineering Slide 82
83 FSM (Moore) Documentation Expanded Product Terms: u.d =>!u & v & xs #!u &!v &!xs v.d =>!u &!v & xs # u &!v &!xs xs.d => x 2 product terms 2 product terms 1 product term z =>!u &!v School of Systems Engineering - Electronic Engineering Slide 83
84 FSM (Moore) Simulation ORDER: clock, x, %2, =================== xs, u, v, %2, z; c x kx suv z =================== VECTORS: 0001: P P : C0 LHL L C0**** 0003: C0 LLH L C0**** 0004: C0 LLL H C0**** C0**** C0**** C0**** C1**** C1**** C1**** C1**** C1**** C1**** Input file 0005: C0 LHL L 0006: C0 LLH L 0007: C0 LLL H 0008: C1 HHL L 0009: C1 HLL H 0010: C1 HLH L 0011: C1 HHL L 0012: C1 HLL H 0013: C1 HLH L Output file School of Systems Engineering - Electronic Engineering Slide 84
85 FSM (Moore) Simulation School of Systems Engineering - Electronic Engineering Slide 85
86 FSM (Mealy) State Diagram x/z 1/0 0/0 0/0 0/0 S0 1/0 S1 S2 S3 0/0 1/0 1/1 Sequence detector: Detects sequence 1001 on input x School of Systems Engineering - Electronic Engineering Slide 86
87 FSM (Mealy) State Definition File /* input pins */ PIN 1 = clock; PIN 2 = x; /* output pins */ PIN 16 = z; /* feedback pins */ PIN 15 = xs; /* state variables */ PIN 17 = u; PIN 18 = v; $DEFINE s0 'b'00 $DEFINE s1 'b'01 $DEFINE s2 'b'11 $DEFINE s3 'b'10 xs.d = x; sequence u,v { present s0 if xs next s1; default next s0; present s1 if xs next s1; default next s2; present s2 if xs next s1; default next s3; present s3 next s0; if xs out z; } School of Systems Engineering - Electronic Engineering Slide 87
88 FSM (Mealy) Documentation Expanded d Product Terms: u.d => v &!xs v.d =>!u & v #!u & xs # v & xs xs.d => x z => u &!v & xs z.oe => 1 School of Systems Engineering - Electronic Engineering Slide 88
89 FSM (Mealy) Simulation ORDER: clock, x, %2, xs, u, v, %2, z; =================== c x kx suv z VECTORS: =================== P : P C0**** 0002: C0 LLL L C1**** 0003: C1 HLL L C0**** 0004: C0 LLH L C0**** 0005: C0 LHH L C0**** C1**** C0**** C1**** C0**** C0**** C1**** C0**** C0**** Input file 0006: C0 LHL L 0007: C1 HLL L 0008: C0 LLH L 0009: C1 HHH L 0010: C0 LLH L 0011: C0 LHH L 0012: C1 HHL H 0013: C0 LLL L 0014: C0 LLL L Output file School of Systems Engineering - Electronic Engineering Slide 89
90 FSM (Mealy) Simulation S2 S1 S2 S1 S2 S1 S2 S3 S0 S1 S2 School of Systems Engineering - Electronic Engineering Slide 90
91 Bus Systems A common requirement in digital electronics is to connect a number of devices to a common data path This arrangement is used in microprocessor systems Such a common data path is called a bus Device Device Device Device #1 #2 #3 #4 A bus consists of a number of wires, each wire carrying one bit of a complete word School of Systems Engineering - Electronic Engineering Slide 91
92 Bus Systems Such a data bus cannot be implemented with normal logic gates This is because each of the devices connected to the bus would independently try to establish a binary value on the lines Connecting gate outputs in parallel lead to contention This can be avoided by using tri-state or open-collector logic School of Systems Engineering - Electronic Engineering Slide 92
93 Tri-State Logic This is also sometimes called "three-state logic Tri-state logic devices have three possible output states: logic 0 logic 1 undefined (high impedance) X Such devices have, in addition to the normal inputs, a tri-state control input This is usually called "output enable or OE School of Systems Engineering - Electronic Engineering Slide 93
94 Tri-State Logic A tri-state inverting buffer has a symbol: A B OE Truth table for this inverting buffer: A OE B 0 0 X 1 0 X School of Systems Engineering - Electronic Engineering Slide 94
95 Tri-State Logic The outputs of tri-state devices can be connected together One, and only one, device connected to the bus can have OE=1, all other devices must have OE=0 A combinational logic circuit should prevent more than one device having OE=1 Each of the outputs on a GAL has tri-state capability The tri-state t t control is a logic function of the inputs, but is limited to one product term School of Systems Engineering - Electronic Engineering Slide 95
96 Open-Collector Logic Open-collector logic devices have output circuits that can pull down to logical 0, but cannot pull up to logical 1 Such devices can be represented by a logic block followed by a bipolar junction transistor: Output t Inputs logic In other words, the output can be considered to be a switch to zero volts School of Systems Engineering - Electronic Engineering Slide 96
97 Open-Collector Logic Any number of open-collector outputs can be connected, together with a single "pull-up" up resistor to give a bus system: R +5V Connection of open-collector devices in this way gives "wired AND" School of Systems Engineering - Electronic Engineering Slide 97
98 Open-Collector Logic Some bus systems employing open-collector logic use an active-low representation When active-low logic is used the connection of open-collector gates gives "wired-or" The speed at which open-collector bus systems can operate is determined by the bus capacitance and the value of the pull-up resistor If the total bus capacitance is 200 pf and the pull-up up resistor is 500 Ω then the time constant is 100 ns School of Systems Engineering - Electronic Engineering Slide 98
99 Open-Collector Logic Active-low, open-collector logic can be emulated using a tri- state inverting logic gate: 1 Output B Input A A B 0 X 1 0 This can be used to allows GALs (which have tri-state outputs) to interface to wired-or systems School of Systems Engineering - Electronic Engineering Slide 99
100 Address Decoding using GALs School of Systems Engineering - Electronic Engineering Slide 100
101 Address Decoding using GALs This address decoder can be implemented entirely in a single GAL: The advantages of using a GAL are PCB space, power consumption, o reliability and re-programmability poga ab School of Systems Engineering - Electronic Engineering Slide 101
102 Address Decoding using GALs CUPL definition file: /* input pins */ /* feedback pins */ PIN 1 = clock; PIN 13 = u0; PIN 2 = a20; PIN 14 = u1; PIN 3 = a21; PIN 4 = a22; /* equations */ PIN 5 = a23;!cs.d =!dav & a23 & a22 &!a21 &!a20; PIN 6 = dav; u0.d =!cs; /* output pins */ u1.d = u0; PIN 19 = cs; PIN 18 = dta; dta = 'b'0; dta.oe = u1; School of Systems Engineering - Electronic Engineering Slide 102
103 Address Decoding using GALs ORDER: clock, a23, a22, a21, a20, dav, %2, cs, u0, u1, dta; VECTORS: CXXXX1**** CXXXX1**** CXXXX1**** C11001**** C11000**** C11000**** C11000**** C11001**** CXXXX1**** CXXXX1**** CXXXX1**** CXXXX1**** ===================== caaaad d l2222a cuut k3210v s01a ===================== 0001: CXXXX1 HLHL 0002: CXXXX1 HLLZ 0003: CXXXX1 HLLZ 0004: C11001 HLLZ 0005: C11000 LLLZ 0006: C11000 LHLZ 0007: C11000 LHHL 0008: C11001 HHHL 0009: CXXXX1 HLHL 0010: CXXXX1 HLLZ 0011: CXXXX1 HLLZ 0012: CXXXX1 HLLZ School of Systems Engineering - Electronic Engineering Slide 103
104 Address Decoding using GALs School of Systems Engineering - Electronic Engineering Slide 104
105 Asynchronous FSM using PALs Pulse gate state diagram Pulses on input p are gated by q pq 0X 1X B A D 1X 0X 0X School of Systems Engineering - Electronic Engineering Slide 105
106 Asynchronous FSM using PALs Pulse gate state table Next state Present Output state p=0 p=0 p=1 p=1 z q=0 q=1 q=1 q=0 A (A) (A) D B 0 B A A (B) (B) 0 D A A (D) (D) 1 4 state 2 state variables Assignments for A and D, and A and B must be unit distant School of Systems Engineering - Electronic Engineering Slide 106
107 Asynchronous FSM using PALs /* input pins */ PIN 1 = p; table p, q, u, v => u, v { PIN 2 = q; 'b'00a => 'b'a; 'b'01a => 'b'a; /* output pins */ 'b'11a => 'b'd; PIN 19 = z; 'b'10a => 'b'b; PIN 18 = u; 'b'00b => 'b'a; PIN 17 = v; 'b'01b => 'b'a; 'b'11b => 'b'b; $DEFINE A 00 $DEFINE B 01 $DEFINE D 10 $DEFINE X 11 table u, v => z { 'b'a => 'b'0; 'b'b => 'b'0; 'b'd => 'b'1; 'b'x => 'b'0; } } 'b'10b => 'b'b; 'b'00d => 'b'a; 'b'01d => 'b'a; 'b'11d => 'b'd; 'b'10d => 'b'd; 'b'00x => 'b'a; 'b'01x => 'b'a; 'b'11x => 'b'a; 'b'10x => 'b'a; School of Systems Engineering - Electronic Engineering Slide 107
108 Asynchronous FSM using PALs Expanded Product Terms: u => p & q &!v # p & u &!v v => p &!q &!u # p &!u & v z => u &!v u.oe => 1 v.oe => 1 z.oe => 1 School of Systems Engineering - Electronic Engineering Slide 108
109 Asynchronous FSM using PALs ORDER: p, q, %2, u, v, %2, z; ================== pq uv z VECTORS: ================== 00*** 0001: 00 LL L 00*** 0002: 00 LL L 10*** 0003: 10 LH L 10*** 0004: 10 LH L 00*** 0005: 00 LL L 01*** 0006: 01 LL L 11*** 0007: 11 HL H 11*** 0008: 11 HL H 01*** 0009: 01 LL L 00*** 0010: 00 LL L 10*** 0011: 10 LH L 11*** 0012: 11 LH L 01*** 0013: 01 LL L 01*** 0014: 01 LL L 11*** 0015: 11 HL H 10*** 0016: 10 HL H 00*** 0017: 00 LL L 00*** 0018: 00 LL L 00*** 0019: 00 LL L School of Systems Engineering - Electronic Engineering Slide 109
110 Asynchronous FSM using PALs S2 S1 S2 S1 S2 S1 S2 S3 S0 S1 S2 School of Systems Engineering - Electronic Engineering Slide 110
111 Complex PLDs and FPGAs The devices discussed so far (PALs and GALs) are simple PLDs (SPLDs) These are suitable for implementing simple combinational and sequential logic functions For more complex functions it is necessary to use: Programmable Logic Arrays (PLAs), or Field-Programmable Gate ARRAYs (FPGAs) School of Systems Engineering - Electronic Engineering Slide 111
112 Programmable Logic Array Inputs: A B C Programmable OR matrix Program- mable AND matrix Outputs: W X Y Z School of Systems Engineering - Electronic Engineering Slide 112
113 Field-Programmable Gate Array Logic blocks Programmable links Input/output blocks School of Systems Engineering - Electronic Engineering Slide 113
114 Field-Programmable Gate Array Logic blocks Programmable links School of Systems Engineering - Electronic Engineering Slide 114
115 Field-Programmable Gate Array Typical FPGA: QuickLogic pasic3 Technology: CMOS 4-layer metal Programming: Antifuse Usable logic gates: Logic cells: Flip-flops (max): I/O (max) Cell speed: 2 ns Routability: 100% Operating voltage: 3.33 V (5 V tolerant) Packages: PLCC, TQFP, PQFP, PBGA School of Systems Engineering - Electronic Engineering Slide 115
116 pasic3 Logic Cell Mux Inputs Outputs t D-type flip-flop flop School of Systems Engineering - Electronic Engineering Slide 116
117 pasic3 Logic Cell A pasic3 logic cell can be configured to be: one 16-input AND gate two 6-input AND gates + two 4-input AND gates two 6-input AND gates + two 2:1 multiplexers two 6-input AND gates + one 4:1 multiplexer one 5-input XOR gate one 3-input XOR gate + one 2-input XOR gate one D-type flip-flop with async preset and clear one RS-type flip-flop with async preset and clear one JK-type flip-flopflop with async preset and clear one T-type flip-flop with async preset and clear etc... School of Systems Engineering - Electronic Engineering Slide 117
118 FPGA Development Tools There are two approaches to FPGA design: Schematic entry: The design is entered as a hierarchical schematic using gates and flip-flopsflops This is typically used for small to medium size systems Schematics are easy to understand and modify HDL entry: The design is specified using a HDL (VHDL or Verilog) Large systems are almost always specified using a HDL Difficult to get an overview of a design specified using a HDL School of Systems Engineering - Electronic Engineering Slide 118
119 Hardware Definition Languages g VHDL: Very High speed integrated circuit Description Language Initiated by American DoD as a specification language Standardised by IEEE Verilog First real commercial HDL language Industry standard for many years Standardised by IEEE School of Systems Engineering - Electronic Engineering Slide 119
120 Functional Simulation Functional simulation can be done after the schematic has been entered or a HDL file has been created Functional simulation gives information about the logical operation of the system It does not provide any information about timing delays The functional simulation uses a stimulus file which h defines the input signals to predict the outputs The simulation examples given for the PAL/GAL designs are functional simulations School of Systems Engineering - Electronic Engineering Slide 120
121 Place and Route If the results of functional simulation are satisfactory then the design is compiled to produce an EDIF netlist EDIF files can be exchanged between different design tools A place and route tool is used to fit the design to a specific FPGA device This process can be very time-consuming, particularly if the device usage approaches 100% The result is a fuse map file that can be used to program the FPGA School of Systems Engineering - Electronic Engineering Slide 121
122 Post-Layout Simulation Once the place and route operation is complete the circuit delays can be back-annotated to the netlist These delays are estimated from the track resistance and parasitic capacitance This allows a timing simulation to be performed which incorporates realistic delays It is at this stage that hazards and races may become apparent (that would not appear in the functional simulation) If the post-layout simulation is satisfactory then the device can be programmed School of Systems Engineering - Electronic Engineering Slide 122
123 Programmable Logic J. B. Grimbleby, 20 October 2008 School of Systems Engineering - Electronic Engineering Slide 123
PALs, GALs & CUPL. What is Programmable Logic?
PALs, GALs & CUPL A lesson on Programmable Logic Devices and programming them using CUPL What is Programmable Logic? Digital integrated circuits where the Boolean function can be determined by the user.
More informationProgrammable Logic Devices I. EECE143 Lecture 4. PALs, GALs & CUPL. A lesson on Programmable Logic Devices and programming them using CUPL
PALs, GALs & CUPL A lesson on Programmable Logic Devices and programming them using CUPL What is Programmable Logic? Digital integrated circuits where the Boolean function can be determined by the user.
More informationPROGRAMMABLE LOGIC DEVICES
PROGRAMMABLE LOGIC DEVICES Programmable logic devices (PLDs) are used for designing logic circuits. PLDs can be configured by the user to perform specific functions. The different types of PLDs available
More informationMemory and Programmable Logic
Digital Circuit Design and Language Memory and Programmable Logic Chang, Ik Joon Kyunghee University Memory Classification based on functionality ROM : Read-Only Memory RWM : Read-Write Memory RWM NVRWM
More informationFYSE420 DIGITAL ELECTRONICS. Lecture 7
FYSE420 DIGITAL ELECTRONICS Lecture 7 1 [1] [2] [3] DIGITAL LOGIC CIRCUIT ANALYSIS & DESIGN Nelson, Nagle, Irvin, Carrol ISBN 0-13-463894-8 DIGITAL DESIGN Morris Mano Fourth edition ISBN 0-13-198924-3
More informationEvolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic
ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:
More informationUnit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic
EE 200: Digital Logic Circuit Design Dr Radwan E Abdel-Aal, COE Unit 6.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2. Logic Logic and Computer Design Fundamentals Part Implementation
More information(ii) Simplify and implement the following SOP function using NOR gates:
DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EE6301 DIGITAL LOGIC CIRCUITS UNIT I NUMBER SYSTEMS AND DIGITAL LOGIC FAMILIES PART A 1. How can an OR gate be
More informationKINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS
KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS YEAR / SEM: II / IV UNIT I BOOLEAN ALGEBRA AND COMBINATIONAL
More informationMemory and Programmable Logic
Memory and Programmable Logic Memory units allow us to store and/or retrieve information Essentially look-up tables Good for storing data, not for function implementation Programmable logic device (PLD),
More informationPLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs
PLAs & PALs Programmable Logic Devices (PLDs) PLAs and PALs PLAs&PALs By the late 1970s, standard logic devices were all the rage, and printed circuit boards were loaded with them. To offer the ultimate
More informationCOMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)
COMP3221: Microprocessors and Embedded Systems Lecture 23: Memory Systems (I) Overview Memory System Hierarchy RAM, ROM, EPROM, EEPROM and FLASH http://www.cse.unsw.edu.au/~cs3221 Lecturer: Hui Wu Session
More informationLSN 6 Programmable Logic Devices
LSN 6 Programmable Logic Devices Department of Engineering Technology LSN 6 What Are PLDs? Functionless devices in base form Require programming to operate The logic function of the device is programmed
More informationProgrammable Logic Devices UNIT II DIGITAL SYSTEM DESIGN
Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 2 Implementation in Sequential Logic 2 PAL Logic Implementation Design Example: BCD to Gray Code Converter A B
More informationOutline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective
Outline Field Programmable Gate Arrays Historical perspective Programming Technologies Architectures PALs, PLDs,, and CPLDs FPGAs Programmable logic Interconnect network I/O buffers Specialized cores Programming
More informationProgrammable Logic Devices
Programmable Logic Devices Programmable Logic Devices Fig. (1) General structure of PLDs Programmable Logic Device (PLD): is an integrated circuit with internal logic gates and/or connections that can
More informationUNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT
UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) contents Memory: Introduction, Random-Access memory, Memory decoding, ROM, Programmable Logic Array, Programmable Array Logic, Sequential programmable
More informationPresentation 4: Programmable Combinational Devices
Presentation 4: Programmable Combinational Devices Asst. Prof Dr. Ahmet ÖZKURT DEUEEE Based on the Presentation by Prof. Kim, Young Ho Dept. of Information Computer Engineering E-mail : yhkim@hyowon.cs.pusan.ac.kr
More informationRead-only memory Implementing logic with ROM Programmable logic devices Implementing logic with PLDs Static hazards
Points Addressed in this Lecture Lecture 7: ROM Programmable Logic Devices Professor Peter Cheung Department of EEE, Imperial College London Read-only memory Implementing logic with ROM Programmable logic
More informationVALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS
VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603 203 DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS YEAR / SEMESTER: II / III ACADEMIC YEAR: 2015-2016 (ODD
More informationLecture 13: Memory and Programmable Logic
Lecture 13: Memory and Programmable Logic Syed M. Mahmud, Ph.D ECE Department Wayne State University Aby K George, ECE Department, Wayne State University Contents Introduction Random Access Memory Memory
More informationEmbedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1
CompE 270 Digital Systems - 5 Programmable Logic Ken Arnold Objective Application Specific ICs Introduce User Programmable Logic Common Architectures Programmable Array Logic Address Decoding Example Development
More informationProgrammable Logic Devices (PLDs)
Programmable Logic Devices (PLDs) 212: Digital Design I, week 13 PLDs basically store binary information in a volatile/nonvolatile device. Data is specified by designer and physically inserted (Programmed)
More informationFPGA Programming Technology
FPGA Programming Technology Static RAM: This Xilinx SRAM configuration cell is constructed from two cross-coupled inverters and uses a standard CMOS process. The configuration cell drives the gates of
More informationCHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS
Contents i SYLLABUS osmania university UNIT - I CHAPTER - 1 : BASIC VERILOG HDL Introduction to HDLs, Overview of Digital Design With Verilog HDL, Basic Concepts, Data Types, System Tasks and Compiler
More informationProgrammable Logic Devices
Programmable Logic Devices INTRODUCTION A programmable logic device or PLD is an electronic component used to build reconfigurable digital circuits. Unlike a logic gate, which has a fixed function, a PLD
More informationEND-TERM EXAMINATION
(Please Write your Exam Roll No. immediately) END-TERM EXAMINATION DECEMBER 2006 Exam. Roll No... Exam Series code: 100919DEC06200963 Paper Code: MCA-103 Subject: Digital Electronics Time: 3 Hours Maximum
More informationProgrammable Logic Devices Introduction CMPE 415. Programmable Logic Devices
Instructor: Professor Jim Plusquellic Programmable Logic Devices Text: The Design Warrior s Guide to FPGAs, Devices, Tools and Flows, Clive "Max" Maxfield, ISBN: 0-7506-7604-3 Modeling, Synthesis and Rapid
More informationInjntu.com Injntu.com Injntu.com R16
1. a) What are the three methods of obtaining the 2 s complement of a given binary (3M) number? b) What do you mean by K-map? Name it advantages and disadvantages. (3M) c) Distinguish between a half-adder
More informationDigital Systems Design with PLDs and FPGAs Kuruvilla Varghese Department of Electronic Systems Engineering Indian Institute of Science Bangalore
Digital Systems Design with PLDs and FPGAs Kuruvilla Varghese Department of Electronic Systems Engineering Indian Institute of Science Bangalore Lecture-32 Simple PLDs So welcome to just lecture on programmable
More informationCMPE 415 Programmable Logic Devices FPGA Technology I
Department of Computer Science and Electrical Engineering CMPE 415 Programmable Logic Devices FPGA Technology I Prof. Ryan Robucci Some slides (blue-frame) developed by Jim Plusquellic Some images credited
More informationFPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.
FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different
More informationCONTENTS CHAPTER 1: NUMBER SYSTEM. Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii)
CONTENTS Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii) CHAPTER 1: NUMBER SYSTEM 1.1 Digital Electronics... 1 1.1.1 Introduction... 1 1.1.2 Advantages of Digital Systems...
More informationRead and Write Cycles
Read and Write Cycles The read cycle is shown. Figure 41.1a. The RAS and CAS signals are activated one after the other to latch the multiplexed row and column addresses respectively applied at the multiplexed
More informationELCT 912: Advanced Embedded Systems
Advanced Embedded Systems Lecture 2: Memory and Programmable Logic Dr. Mohamed Abd El Ghany, Memory Random Access Memory (RAM) Can be read and written Static Random Access Memory (SRAM) Data stored so
More informationUNIT V (PROGRAMMABLE LOGIC DEVICES)
UNIT V (PROGRAMMABLE LOGIC DEVICES) Introduction There are two types of memories that are used in digital systems: Random-access memory(ram): perform both the write and read operations. Read-only memory(rom):
More information8051 INTERFACING TO EXTERNAL MEMORY
8051 INTERFACING TO EXTERNAL MEMORY Memory Capacity The number of bits that a semiconductor memory chip can store Called chip capacity It can be in units of Kbits (kilobits), Mbits (megabits), and so on
More informationMemory and Programmable Logic
Memory and Programmable Logic Mano & Ciletti Chapter 7 By Suleyman TOSUN Ankara University Outline RAM Memory decoding Error detection and correction ROM Programmable Logic Array (PLA) Programmable Array
More informationVery Large Scale Integration (VLSI)
Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA
More informationHardware Design with VHDL PLDs I ECE 443. FPGAs can be configured at least once, many are reprogrammable.
PLDs, ASICs and FPGAs FPGA definition: Digital integrated circuit that contains configurable blocks of logic and configurable interconnects between these blocks. Key points: Manufacturer does NOT determine
More informationSemiconductor Memories: RAMs and ROMs
Semiconductor Memories: RAMs and ROMs Lesson Objectives: In this lesson you will be introduced to: Different memory devices like, RAM, ROM, PROM, EPROM, EEPROM, etc. Different terms like: read, write,
More informationPEEL 18CV8-5/-7/-10/-15/-25 CMOS Programmable Electrically Erasable Logic Device Features
PEEL 18CV8-5/-7/-10/-15/-25 CMOS Programmable Electrically Erasable Logic Device Features Multiple Speed Power, Temperature Options - VCC = 5 Volts ±10% - Speeds ranging from 5ns to 25 ns - Power as low
More informationPEEL 16V8-15/-25 CMOS Programmable Electrically Erasable Logic
-5/-25 CMOS Programmable Electrically Erasable Logic Compatible with Popular 6V8 Devices 6V8 socket and function compatible Programs with standard 6V8 JEDEC file 20-pin DP and PLCC packages CMOS Electrically
More informationDigital Systems. Semiconductor memories. Departamentul de Bazele Electronicii
Digital Systems Semiconductor memories Departamentul de Bazele Electronicii Outline ROM memories ROM memories PROM memories EPROM memories EEPROM, Flash, MLC memories Applications with ROM memories extending
More informationFPGA Implementations
FPGA Implementations Smith Text: Chapters 4-8 Online version at: http://www10.edacafe.com/book/asic/asics.php Topic outline Chapter 4 Programmable ASIC technologies Chapter 5 Programmable logic cells Chapter
More informationPEEL 20V8-15/-25 CMOS Programmable Electrically Erasable Logic Device
Preliminary Commercial -15/-25 CMOS Programmable Electrically Erasable Logic Device Compatible with Popular 20V8 Devices 20V8 socket and function compatible Programs with standard 20V8 JEDEC file 24-pin
More informationProgrammable Logic Devices. PAL & Jedec Programming
Programmable Logic Devices PAL & Jedec Programming PAL Devices: PAL = Programmable Array Logic The PAL naming is trademark of the AMD Firm, but Lattice also use these circuits. The PAL device is a PLD
More informationCOLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK SUBJECT CODE & NAME: EC 1312 DIGITAL LOGIC CIRCUITS UNIT I
KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK SUBJECT CODE & NAME: EC 1312 DIGITAL LOGIC CIRCUITS YEAR / SEM: III / V UNIT I NUMBER SYSTEM & BOOLEAN ALGEBRA
More informationTopics. Midterm Finish Chapter 7
Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory
More informationMemory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM
ECEN454 Digital Integrated Circuit Design Memory ECEN 454 Memory Arrays SRAM Architecture SRAM Cell Decoders Column Circuitry Multiple Ports DRAM Outline Serial Access Memories ROM ECEN 454 12.2 1 Memory
More informationMicrocomputers. Outline. Number Systems and Digital Logic Review
Microcomputers Number Systems and Digital Logic Review Lecture 1-1 Outline Number systems and formats Common number systems Base Conversion Integer representation Signed integer representation Binary coded
More informationUNIT I BOOLEAN ALGEBRA AND COMBINATIONAL CIRCUITS PART-A (2 MARKS)
SUBJECT NAME: DIGITAL LOGIC CIRCUITS YEAR / SEM : II / III DEPARTMENT : EEE UNIT I BOOLEAN ALGEBRA AND COMBINATIONAL CIRCUITS 1. What is variable mapping? 2. Name the two canonical forms for Boolean algebra.
More informationDigital Integrated Circuits
Digital Integrated Circuits Lecture 9 Jaeyong Chung Robust Systems Laboratory Incheon National University DIGITAL DESIGN FLOW Chung EPC6055 2 FPGA vs. ASIC FPGA (A programmable Logic Device) Faster time-to-market
More informationIntroduction to GAL Device Architectures
ntroduction to GAL evice Architectures Overview n 195, Lattice Semiconductor introduced a new type of programmable logic device (PL) that transformed the PL market: the Generic Array Logic (GAL) device.
More informationCHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES
CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES This chapter in the book includes: Objectives Study Guide 9.1 Introduction 9.2 Multiplexers 9.3 Three-State Buffers 9.4 Decoders and Encoders
More informationFPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011
FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level
More informationDigital Systems Design with PLDs and FPGAs Kuruvilla Varghese Department of Electronic Systems Engineering Indian Institute of Science Bangalore
Digital Systems Design with PLDs and FPGAs Kuruvilla Varghese Department of Electronic Systems Engineering Indian Institute of Science Bangalore Lecture-31 Evolution of PLDs So welcome to this lecture
More informationUsable gates 600 1,250 2,500 5,000 10,000 Macrocells Logic array blocks Maximum user I/O
MAX 3000A Programmable Logic Device Family June 2006, ver. 3.5 Data Sheet Features... High performance, low cost CMOS EEPROM based programmable logic devices (PLDs) built on a MAX architecture (see Table
More informationR07. Code No: V0423. II B. Tech II Semester, Supplementary Examinations, April
SET - 1 II B. Tech II Semester, Supplementary Examinations, April - 2012 SWITCHING THEORY AND LOGIC DESIGN (Electronics and Communications Engineering) Time: 3 hours Max Marks: 80 Answer any FIVE Questions
More informationToday. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses
Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single
More informationPROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES
PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES. psa. rom. fpga THE WAY THE MODULES ARE PROGRAMMED NETWORKS OF PROGRAMMABLE MODULES EXAMPLES OF USES Programmable
More informationMEMORY AND PROGRAMMABLE LOGIC
MEMORY AND PROGRAMMABLE LOGIC Memory is a device where we can store and retrieve information It can execute a read and a write Programmable Logic is a device where we can store and retrieve information
More informationFig. 6-1 Conventional and Array Logic Symbols for OR Gate
6- (a) Conventional symbol (b) Array logic symbol Fig. 6- Conventional and Array Logic Symbols for OR Gate 2 Prentice Hall, Inc. 6-2 k address lines Read n data input lines emory unit 2 k words n bits
More informationMemory Expansion. Lecture Embedded Systems
Memory Expansion Lecture 22 22-1 In These Notes... Memory Types Memory Expansion Interfacing Parallel Serial Direct Memory Access controllers 22-2 Memory Characteristics and Issues Volatility - Does it
More informationMenu. word size # of words byte = 8 bits
Menu LSI Components >Random Access Memory (RAM) Static RAM (SRAM) Dynamic RAM (DRAM) Read-Only Memory (ROM) Look into my... See figures from Lam text on web: RAM_ROM_ch6.pdf 1 It can be thought of as 1
More informationELCT 501: Digital System Design
ELCT 501: Digital System Lecture 3: Memory and Programmable Logic (continue) Dr. Mohamed Abd El Ghany, Memory Model 32-bit address space can address up to 4 GB (2 32 ) different memory locations 0x00000000
More informationPrinciples of Digital Techniques PDT (17320) Assignment No State advantages of digital system over analog system.
Assignment No. 1 1. State advantages of digital system over analog system. 2. Convert following numbers a. (138.56) 10 = (?) 2 = (?) 8 = (?) 16 b. (1110011.011) 2 = (?) 10 = (?) 8 = (?) 16 c. (3004.06)
More informationSummer 2003 Lecture 18 07/09/03
Summer 2003 Lecture 18 07/09/03 NEW HOMEWORK Instruction Execution Times: The 8088 CPU is a synchronous machine that operates at a particular clock frequency. In the case of the original IBM PC, that clock
More informationCHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI
CHAPTER 2 ARRAY SUBSYSTEMS [2.4-2.9] MANJARI S. KULKARNI OVERVIEW Array classification Non volatile memory Design and Layout Read-Only Memory (ROM) Pseudo nmos and NAND ROMs Programmable ROMS PROMS, EPROMs,
More informationHardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University
Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis
More informationDIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE4220. PROGRAMMABLE LOGIC DEVICES (PLDs)
COURSE / CODE DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE4220 PROGRAMMABLE LOGIC DEVICES (PLDs) A PLD, or programmable logic device, is an electronic component that is used
More informationChapter 13 Programmable Logic Device Architectures
Chapter 13 Programmable Logic Device Architectures Chapter 13 Objectives Selected areas covered in this chapter: Describing different categories of digital system devices. Describing different types of
More informationReview: Chip Design Styles
MPT-50 Introduction to omputer Design SFU, Harbour entre, Spring 007 Lecture 9: Feb. 6, 007 Programmable Logic Devices (PLDs) - Read Only Memory (ROM) - Programmable Array Logic (PAL) - Programmable Logic
More informationChapter 5 Internal Memory
Chapter 5 Internal Memory Memory Type Category Erasure Write Mechanism Volatility Random-access memory (RAM) Read-write memory Electrically, byte-level Electrically Volatile Read-only memory (ROM) Read-only
More informationModel EXAM Question Bank
VELAMMAL COLLEGE OF ENGINEERING AND TECHNOLOGY, MADURAI Department of Information Technology Model Exam -1 1. List the main difference between PLA and PAL. PLA: Both AND and OR arrays are programmable
More informationR07
www..com www..com SET - 1 II B. Tech I Semester Supplementary Examinations May 2013 SWITCHING THEORY AND LOGIC DESIGN (Com. to EEE, EIE, BME, ECC) Time: 3 hours Max. Marks: 80 Answer any FIVE Questions
More informationPurdue IMPACT 2015 Edition by D. G. Meyer. Introduction to Digital System Design. Module 2 Combinational Logic Circuits
Purdue IMPACT 25 Edition by D. G. Meyer Introduction to Digital System Design Module 2 Combinational Logic Circuits Glossary of Common Terms DISCRETE LOGIC a circuit constructed using small-scale integrated
More informationBHARATHIDASAN ENGINEERING COLLEGE Degree / Branch : B.E./ECE Year / Sem : II/ III Sub.Code / Name : EC6302/DIGITAL ELECTRONICS
BHARATHIDASAN ENGINEERING COLLEGE Degree / Branch : B.E./ECE Year / Sem : II/ III Sub.Code / Name : EC6302/DIGITAL ELECTRONICS FREQUENTLY ASKED QUESTIONS UNIT I MINIMIZATION TECHNIQUES AND LOGIC GATES
More informationCode No: R Set No. 1
Code No: R059210504 Set No. 1 II B.Tech I Semester Regular Examinations, November 2006 DIGITAL LOGIC DESIGN ( Common to Computer Science & Engineering, Information Technology and Computer Science & Systems
More informationB.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN
B.Tech II Year I Semester () Regular Examinations December 2014 (Common to IT and CSE) (a) If 1010 2 + 10 2 = X 10, then X is ----- Write the first 9 decimal digits in base 3. (c) What is meant by don
More informationHANSABA COLLEGE OF ENGINEERING & TECHNOLOGY (098) SUBJECT: DIGITAL ELECTRONICS ( ) Assignment
Assignment 1. What is multiplexer? With logic circuit and function table explain the working of 4 to 1 line multiplexer. 2. Implement following Boolean function using 8: 1 multiplexer. F(A,B,C,D) = (2,3,5,7,8,9,12,13,14,15)
More informationComputer Structure. Unit 2: Memory and programmable devices
Computer Structure Unit 2: Memory and programmable devices Translated from Francisco Pérez García (fperez at us.es) by Mª Carmen Romero (mcromerot at us.es, Office G1.51, 954554324) Electronic Technology
More informationEmbedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts
Hardware/Software Introduction Chapter 5 Memory Outline Memory Write Ability and Storage Permanence Common Memory Types Composing Memory Memory Hierarchy and Cache Advanced RAM 1 2 Introduction Memory:
More informationEmbedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction
Hardware/Software Introduction Chapter 5 Memory 1 Outline Memory Write Ability and Storage Permanence Common Memory Types Composing Memory Memory Hierarchy and Cache Advanced RAM 2 Introduction Embedded
More informationIntroduction to SRAM. Jasur Hanbaba
Introduction to SRAM Jasur Hanbaba Outline Memory Arrays SRAM Architecture SRAM Cell Decoders Column Circuitry Non-volatile Memory Manufacturing Flow Memory Arrays Memory Arrays Random Access Memory Serial
More informationCOPYRIGHTED MATERIAL INDEX
INDEX Absorption law, 31, 38 Acyclic graph, 35 tree, 36 Addition operators, in VHDL (VHSIC hardware description language), 192 Algebraic division, 105 AND gate, 48 49 Antisymmetric, 34 Applicable input
More informationMODULE 12 APPLICATIONS OF MEMORY DEVICES:
Introduction to Digital Electronic Design, Module 12 Application of Memory Devices 1 MODULE 12 APPLICATIONS OF MEMORY DEVICES: CONCEPT 12-1: REVIEW OF HOW MEMORY DEVICES WORK Memory consists of two parts.
More informationEECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:
Problem 1: CLD2 Problems. (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: C 0 = A + BD + C + BD C 1 = A + CD + CD + B C 2 = A + B + C + D C 3 = BD + CD + BCD + BC C 4
More informationDHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY
DHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY Dept/Sem: II CSE/03 DEPARTMENT OF ECE CS8351 DIGITAL PRINCIPLES AND SYSTEM DESIGN UNIT I BOOLEAN ALGEBRA AND LOGIC GATES PART A 1. How many
More informationCode No: R Set No. 1
Code No: R059210504 Set No. 1 II B.Tech I Semester Supplementary Examinations, February 2007 DIGITAL LOGIC DESIGN ( Common to Computer Science & Engineering, Information Technology and Computer Science
More informationCS310 Embedded Computer Systems. Maeng
1 INTRODUCTION (PART II) Maeng Three key embedded system technologies 2 Technology A manner of accomplishing a task, especially using technical processes, methods, or knowledge Three key technologies for
More informationATF20V8B. High Performance Flash PLD. Features. Block Diagram. Pin Configurations
Features Industry Standard Architecture Emulates Many 24-Pin PALs Low Cost Easy-to-Use Software Tools High Speed Electrically Erasable Programmable Logic Devices 7.5 ns Maximum Pin-to-Pin Delay Several
More informationDesign Methodologies and Tools. Full-Custom Design
Design Methodologies and Tools Design styles Full-custom design Standard-cell design Programmable logic Gate arrays and field-programmable gate arrays (FPGAs) Sea of gates System-on-a-chip (embedded cores)
More informationDigital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition
Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition Table of Contents 1. Introduction to Digital Logic 1 1.1 Background 1 1.2 Digital Logic 5 1.3 Verilog 8 2. Basic Logic Gates 9
More information+1 (479)
Memory Courtesy of Dr. Daehyun Lim@WSU, Dr. Harris@HMC, Dr. Shmuel Wimer@BIU and Dr. Choi@PSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Memory Arrays Memory Arrays Random Access Memory Serial
More informationRTL Design (2) Memory Components (RAMs & ROMs)
RTL Design (2) Memory Components (RAMs & ROMs) Memory Components All sequential circuit have a form of memory Register, latches, etc However, the term memory is generally reserved for bits that are stored
More informationLecture (1) Introduction to FPGA. 1. The History of Programmable Logic
Lecture (1) Introduction to FPGA 1. The History of Programmable Logic By the late 1970s, standard logic devices were all the rage, and printed circuit boards were loaded with them. Then someone asked,
More information3. The high voltage level of a digital signal in positive logic is : a) 1 b) 0 c) either 1 or 0
1. The number of level in a digital signal is: a) one b) two c) four d) ten 2. A pure sine wave is : a) a digital signal b) analog signal c) can be digital or analog signal d) neither digital nor analog
More informationPEEL 18CV8Z-25 CMOS Programmable Electrically Erasable Logic Device
Features PEEL 18CV8Z-25 CMOS Programmable Electrically Erasable Logic Device Ultra Low Power Operation - Vcc = 5 Volts ±10% - Icc = 10 μa (typical) at standby - Icc = 2 ma (typical) at 1 MHz CMOS Electrically
More informationLecture 20: CAMs, ROMs, PLAs
Lecture 2: CAMs, ROMs, PLAs Outline Content-Addressable Memories Read-Only Memories Programmable Logic Arrays 2: CAMs, ROMs, and PLAs CMOS VLSI Design 4th Ed. 2 CAMs Extension of ordinary memory (e.g.
More information