Flip-flops Definitie van het tijdsgedrag

advertisement
Inhoud
Analyse van sequentiële netwerken
– het gedrag van teruggekoppelde poortnetwerken
– races en hazards
– synchroon versus asynchroon gedrag, geheugencellen
Sequentiële bouwblokken
Synthese van sequentiële netwerken
– incrementele gedragsbeschrijvingen
– toestandsminimalisatie
– Toestandsassignatie
Aspecten van compositie en decompositie
– Verfijning en decompositie
– Spatiale versus temporale decomposities
– Composities van synchrone automaten
Digitale elektronica
--1--
Digitale Bouwstenen
standaardcomponenten
Digitale bouwstenen
Standaardcomponenten
Programmeerbare
componenten
Seq. Comb.
SSI
MSI
LSI
VLSI
PLAachtigen
PLA
PAL
PLS
EPLD
Cellarrays
Applicatie-specifieke
bouwstenen
Gate
Arrays
FPGA
Digitale elektronica
Standard
Cell
Full
Custom
--2--
Standaardcomponenten:
sequentiële functies
SSI
• flip-flops: diverse klok- en datagedragingen
MSI
• registers
• tellers
• schuifregisters
LSI
• registerbanken
• processor-bouwblokken
VLSI
• processors
• geheugens
• specifieke chips voor consumentenmarkt
Digitale elektronica
--3--
Flip-flops
Definitie van het tijdsgedrag
ts
th
Flanksturing
tp
Pulssturing
Niveausturing
ts
th
ts
th
O-interval
I-interval
tp
Digitale elektronica
--4--
Flip-flops
Definitie van het datagedrag
D Qn Q’n
R S Qn
Q’n
J
K
Qn
Q’n
0
1
0
0 Qn-1
Q’n-1
0
0
Qn-1
Q’n-1
0
1 1
0
0
1
0
1
1
0 0
1
1
0
1
0
1
1 ??
??
1
1
Q’n-1 Qn-1
0
1
1
0
D-gedrag
R/S-gedrag
J/K-gedrag
Q’n
T
Qn
0
1
Qn-1 Q’n-1
Q’n-1 Qn-1
T-gedrag
Digitale elektronica
--5--
Flip-Flops
een overzicht
Datagedrag Asynchr
S/R 74LS279
D draad
Klokgedrag
Niveau
Flank
**
74LS75
Puls
**
Voorbeelden van pdfbestanden
74HC74
74F109
74LS74
7476
T --
--
**
**
J/K --
--
74LS73A 74LS76
7475
7473
74279
Digitale elektronica
--6--
De essentie van synchroon gedrag
ts
In
Out
Flanksturing
th
Combinatorische
logica
Registers
tp
Klok
Flip-flop propagatie
Combinatorisch propagatie
Flip-flop instel
Digitale elektronica
--7--
Klok
Regels voor synchroon ontwerp
Inputsignalen moeten stabiel zijn gedurende I-interval
• Gebruik alleen geheugenelementen met
disjuncte I- en O-intervallen
• Gebruik alleen geheugenelementen met zelfde
klokgedrag
• Zorg ervoor dat de klokverschuiving beperkt is
tot separatie tussen I en O
• Zorg ervoor dat de klok een voldoende periode
heeft
• Stuur inputs op het correct ogenblik aan
Digitale elektronica
--8--
Regels voor synchroon ontwerp
metastabiliteit
Veranderingen van input binnen I-interval
• Meestal “normaal” gedrag van FF: resultaat is
onvoorspelbaar, maar wel ofwel 0 ofwel 1
• Soms “geen” resultaat: finale waarde wordt
ongewoon laat bereikt. Intussen geen betrouwbare
waarde:
– niet finaal
– eventueel halfslachtig niveau
– mogelijk zelfs dynamische hazards
Digitale elektronica
--9--
Regels voor synchroon ontwerp
metastabiliteit
74LS74
kloksignaal
inputsignaal
30
14 ns
outputsignaal
Digitale elektronica
--10--
Metastabiel gedrag
Breuninger’s grafiek
C 1 C t
MTBF 
e
f cf d
2
Digitale elektronica
--11--
Geheugens en processors
Er bestaan een aantal generieke functies die het
gebruik van hoge integratiedichtheden mogelijk
maken
Voorwaarde: universele inzetbaarheid
Twee belangrijke voorbeelden:
• geheugens
• processors (+ randchips)
Digitale elektronica
--12--
Geheugens
kenparameters
Interne opbouw
– statisch (SRAM)
– dynamisch (DRAM)
Structurele aspecten
– Woordbreedte
– Capaciteit
Functionele aspecten
– toegangstijd en -bandbreedte
– parallellisme in toegang
– asynchrone of synchrone toegang
Digitale elektronica
--13--
Geheugens
interne opbouw: statische geheugens
Geheugenwerking gebaseerd op
terugkoppeling
Cel = elementaire flipflop
lage toegangstijd
grote basiscel
• CMOS: 6 transistors
• NMOS: 4 transistors, dissipatie
X/Y-adressering
Kan in alle technologieën
Digitale elektronica
--14--
Geheugens
interne opbouw: dynamische geheugens
Geheugenwerking gebaseerd
op ladingsopslag op
capaciteit (1 transistor)
Lezen dynamisch proces,
destructief
Digitale elektronica
--15--
Geheugens
interne opbouw: dynamische geheugens
Digitale elektronica
--16--
Geheugens
functionele aspecten
Parallellisme
• Toegang tot grote RAMs sequentieel: woord per woord
• Kleine statische RAMS (registerbestanden) en speciale
geheugens (DPMs, FIFOs) parallel
Toegangsprotocollen
• Vroeger hoofdzakelijk asynchroon
• Voor SRAM:
– relatief eenvoudig
• Voor DRAM:
– sequentieel
– opfriscycli
– snelle blokmodes
• Synchrone protocollen nemen snel toe
Digitale elektronica
Voorbeelden van
pdf-bestanden
SRAM
SSRAM
EDO-RAM
SDRAM
--17--
Processors
Processors worden als bouwblok in grote variëteit
gemaakt:
• voor algemeen gebruik (zie computerarchitectuur)
• voor specifieke toepassingen: DSP, Grafiek,
Communicatie
• als component voor realisatie van complexe
functies: microcontrollers
Processors worden ook in toenemende mate als
module gebruikt in ASIC-ontwerp of ontwerp met
FPGAs
Digitale elektronica
--18--
Processors
microcontrollers
Een microcontroller is een sterk geïntegreerde vorm
van processor
Bevat naast processorkern ook
• geheugen (beperkt)
• perifere schakelingen
Wordt vaak in verschillende varianten gemaakt qua beschikbaar
geheugen, snelheid, en soort van meegeïntegreerde functies
Gebruik: in ingebedde systemen, waar complexiteit hogere eisen
stelt dan snelheid:
– printers, toetsenborden, ...
– Automobiel, wasmachines, T.V.’s, ..
– PLC’s, regelaars, procesautomatisatie
Digitale elektronica
--19--
Processors
microcontrollers: voorbeeld
Digitale elektronica
--20--
Digitale Bouwstenen
programmeerbare componenten
Digitale bouwstenen
Standaardcomponenten
Programmeerbare
componenten
Seq. Comb.
SSI
MSI
LSI
VLSI
PLAachtigen
PLA
PAL
PLS
EPLD
Cellarrays
Applicatie-specifieke
bouwstenen
Gate
Arrays
FPGA
Digitale elektronica
Standard
Cell
Full
Custom
--21--
Programmeerbare componenten
PLA-achtigen: sequencers
De PLS:
• PLS: PLA met
toestandsregister
Digitale elektronica
--22--
Programmeerbare componenten
architecturen: PLA-achtigen (2)
De PAL en de PLD:
macrocellen met
flipflops
Voorbeelden van
pdf-bestanden
MACH pld
Cypress pld
22v10
Digitale elektronica
--23--
Programmeerbare componenten
architecturen: Cell-arrays (1)
Digitale elektronica
--24--
Programmeerbare componenten
Moderne evoluties in FPGA’s
Moderne FPGA’s bevatten veel meer dan CLB’s en
routing blocks:
• Sommige bevatten grote geheugenblokken, en
laten toe van CLB’s te groeperen tot
geheugenblokken
• Sommige bevatten R/T uitbreidingen om snelle
ALU’s te maken (carry chains)
• Sommige bevatten standaard microprocessor
naast programmeerbare array
• Sommige bevatten speciale I/O-interfaces:
– Naar extern geheugen (DDR-ram)
– LVDS en andere snelle verbindingen
Digitale elektronica
--25--
Digitale Bouwstenen
ASIC’s
Digitale bouwstenen
Standaardcomponenten
Programmeerbare
componenten
Seq. Comb.
SSI
MSI
LSI
VLSI
PLAachtigen
PLA
PAL
PLS
EPLD
Cellarrays
Applicatie-specifieke
bouwstenen
Gate
Arrays
FPGA
Digitale elektronica
Standard
Cell
Full
Custom
--26--
Download