CSCI 255, ENGR 274, ECE 212 -- 28 November, 2000

Announcements

Return of State Assignment

Regular expressions

For the mathematician and linquistist
ε the empty string
x the symbol x
α β The RE α followed by the RE β
α | β Either α or β
α* Zero or more sequences of α
(α) α grouped
Examples include
(0|1)*0 All even binary numbers
1*01*0(0|1)* All binary numbers containing at least two 0's
(0|1)*111(0|1)* All binary numbers that contain the sequence "111" somewhere in the number
For the Unix guru using grep, ed, sed, ...
x Matches the non-special character.
The characters '?', '\', '.', '[', ']', '^', '$', '*', '(', and ')'. are special
[aeiou] Matches characters inside the brackets.
[0-9A-F] Matches a range of characters.
. Matches any character
PATTERN* Matches a PATTERN occuring zero or more times.
PATTERN+ Matches a PATTERN occuring one or more times.
PATTERN? Matches a PATTERN occuring zero or one time.
For the Perl programmer

Programmable logic

See the Programmable Logic FAQ of Steve Knapp for up-to-date information.

Internals and trade-offs

Macrocells
Replicated collections of logic gates
perhaps a PLA and flip-flop
Interconnection
Means of connecting macrocells
in general, more macrocells implies less general connectivitiy
Programmability
Fuses, EPROM, SRAM, in-circuit

Simple Programmable Logic Devices

EPIC macrocell
EPIC macrocell options
TI EPIC block diagrams taken from Texas Instruments EPIC data sheet

Complex Programmable Logic Devices

Example CPLD
Abstract CPLD taken taken from Programmable Logic FAQ
Altera CPLD diagram
Altera CPLD macrocell
Altera MAX 3000A block diagrams taken from 3000A Data Sheet