calcolatori elettronici parte iv

Post on 14-Feb-2016

81 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Calcolatori Elettronici Parte IV. Registri Progetto di Macchine Sincrone Contatori Registri a scorrimento. T 1. T 1. T 1. u 1. u 1. u 1. Registri. Un registro atto a memorizzare un dato tipo T a cardinalità k è una MS avente: - PowerPoint PPT Presentation

TRANSCRIPT

Calcolatori ElettroniciParte IV

RegistriProgetto di Macchine SincroneContatoriRegistri a scorrimento

Registri Un registro atto a memorizzare

un dato tipo T a cardinalità k è una MS avente:

k stati di uscita (u1,u2,…,uk) ciascuno associato ad un valore da memorizzare

t stati di ingresso (t>k) , T suddiviso in due sottoinsiemi:

XN, con X=(x1,x2,…,xk) gli ingressi attivi per la memorizzazione; N=(n1,n2,…,nm) ingressi neutri per “mantenere l’uscita del registro, m1

R

T

UT1

u1

T1

u1

T1

u1

…..nj conserva lo stato uj=f(xj) nel caso più generale

Ipotesi Sequenza di ingresso di natura impulsiva Basi corrispondenti agli ingressi neutri

b1x1b1 ….. b2x2b2 … b3x3b3

Registro a Sincronizzazione esternaa Sincronizzazione esterna Registro autosincronizzatoautosincronizzato

Registro a S. E.

R

I s I=(l1,l2,…,lk)s=(0,1)

ukqk..q2q1qkqkqkqk..………………………u3qk..q2q1q3..q3q3q3u2qk..q2q1q2..q2q2q2u1qk..q2q1q1..q1q1q1uxkx2x1nkn2n1

s=0 s=1

Registro autosincronizzatoX=(x1,x2,…,xk)N=(n)

Caso concreto: unica base e k ingressi Puramente impulsiviGli istanti di caricamento sono determinatida uno degli impulsi

ukqk..q2q1qkqk..………………u3qk..q2q1q3q3u2qk..q2q1q2q2u1qk..q2q1q1q1uxkx2x1n

Tempificazione dei Registri Registri “latch”

Catturano l’ingresso per tutti il tempo in cui è presente una variabile impulsiva attiva

È valido finchè effettivamente gli ingressi sono impulsivi

Registri a “derivazione del fronte” Es. Accoppiamento capacitivo .. Per ottenere impulsi sufficientemente

brevi

Tempificazione dei Registri (2) Registri “edge triggered”

La variazione dell’uscita avviene in corrispondenza di una variazione di livello di una variabile impulsiva reale

Registri “Master Slave”

Modelli reali di Macchine Sincrone (1)

R è usato per memorizzare gli stati della macchina

I impulsivi P uscite di posizionamento

dello stato, impulsive e p=p(q,i)

U a livelli o imp. ritardo di

posizionamento del registro

M C

Iu

P

Q

RR

Modelli reali di Macchine Sincrone (2)

M C

I u

PQ

RR

Q0Q1Q2……Qn

Neutri AttiviQ0Q1Q2……Qn

Q0QxQy……Qz

Stabili | p. sincrona

Tempificazione (1) Occorre garantire

che il ritardo nel posizionamento dei registri sia maggiore della durata degli impulsi, di modo che lo stato non cambi durante la fase di posizionamento,

<

q

i

p

Tempificazione (1) Occorre garantire

che il ritardo nel posizionamento dei registri sia maggiore della durata degli impulsi, di modo che lo stato non cambi durante la fase di posizionamento,

<

q

i

p

Modello Sincronizzato dall’esterno

M C

I u

PQ

RRs

)',(''

)(.

)(

0

IQPP

VLfasc

VLfal

ii

iikk

Non esistonoNon esistono problemi tipici delleMacchine a livelli (alee multiple, statiche)In quanto l’uscita P’ risulta inattiva (in assenza di impulso s) per il caricamento del registro occorre garantire che la variazione dei livelli non sia Sincrona con il fronte attivo di s

es.. Apparecchiatura di clock a due fasi

Modello Sincronizzato dall’esterno: uscite imp.

M C

I u

PQ

RR

s

Esercizio Si costruisca una rete nella quale entrano

serialmente i bit di un codice decimale 8-4-2-1 a partire dal bit meno significativo e dalla quale esca un segnale che individui se i quattro bit costituiscono o meno una delle 10 parole-codice previste.

?Parola veraParola falsa

0110

Specifiche Si assegna ad un segnale a livelli x la

rappresentazione del bit del codice, e ad un clock la tempificazione.

In sincronia con il 4 bit, z = 1 indica la correttezza del codice.

Macchina Sincrona a sincronizzazione esterna

Descrizione del Problema z = 1

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

z = 0 1010 1011 1100 1101 1110 1111

0

1

1/0

3

7 8

1/0 0/0

1/0

4

9 10

1/0 0/0

0/0

2

0/0

5

11 12

1/0 0/0

1/0

6

13 14

1/0 0/0

0/0

0

1/0,0/1 1/0,0/11/0,0/1

1,0/1 1/0,0/11/0,0/1

1/0,0/1 0,1/1

Tabella Stato/trans e minim.stati

1 0 1 00 1/0 2/0 0 1/0 2/01 3/0 4/0 1 3/0 4/02 5/0 6/0 2 5/0 6/03 7/0 8/0 3 7/0 8/04 9/0 10/0 4 9/0 10/05 11/0 12/0 5 11/0 12/06 13/0 14/0 6 13/0 14/07 0/0 0/1 7 0/0 0/18 0/0 0/1 8 0/0 0/19 0/0 0/1 9 0/0 0/110 0/1 0/1 11 0/0 0/111 0/0 0/1 12 0/0 0/112 0/0 0/1 13 0/0 0/113 0/0 0/1 10 0/1 0/114 0/1 0/1 14 0/1 0/1

Paul&Unger1 0

0 1/0 2/0 1 1-3;2-41 3/0 4/0 2 1-5;2-6 3-5;4-62 5/0 6/0 3 1-7;2-7 3-7;4-7 5-7;6-73 7/0 7/0 4 1-7;2-10 3-7;4-10 5-7;6-10 07-ott4 9/0 10/0 5 1-7;2-7 3-7;4-7 5-7;6-7 07-ott5 11/0 7/0 6 1-7;2-10 3-7;4-10 5-7;6-10 07-ott 07-ott6 13/0 10/0 77 0/0 0/1 1010 0/1 0/1 0 1 2 3 4 5 6 7

4 63 5

1 2

S0= 0S1= 1,2S2= 3,5S3= 4,6S4= 7,8,9,11,12,13S5= 10,147 10

Macchina a S.R.1 0

S0 S1/0 S1/0S1 S2/0 S3/0S2 S4/0 S4/0S3 S4/0 S5/0S4 S0/0 S0/1S5 S0/1 S0/1

0

1

0,1

23

1 0

5

0

00/11/1

4

10,1

0/11/0

Codifica degli Stati Codificando gli stati con

(nell’ordine: y3y2y1) S0 = 101 S1 = 010 S2 = 111 S3 = 011 S4 = 110 S5 = 000

 000 101/1 101/1001 - -010 011 011011 000 110100 - -101 010 010110 101/1 101111

0 1

110 110

Tabella in codice

Progetto combinatorio per il posizionamento dei FF

SR JK DS R J K D

00 0 - 0 - 001 1 0 1 - 110 0 1 - 1 011 - 0 - 0 1

Infatti, per RS e T …

S0-S1S1S1S0-S1S0S010110100RSS

T

11

1010Fp

Infatti, per D e JK …

S0S1S1S1S1S0S1S0S0S010110100aDS

S0S0S1S1S1S0S1S1S0S010110100kjS

A=1

Tornando al progetto … Scegliendo Flip Flop di tipo JK,

bisognerà progettare 6 segnali di posizionamento:

  J1= J1( y3y2y1x), K1= K1(y3y2y1x) J2= J2(y3y2y1x), K2= K2(y3y2y1x) J3= J3(y3y2y1x), K3= K3(y3y2y1x)

… ovvero per JK Posso costruire

mappe di Karnaugh per i segnali di posizionamento del JK e per le uscite!

JKJ K

00 0 -01 1 -10 - 111 - 0

Per il primo FF JK ho:

11 1 - -1 1 - -1 1 - -- - - -

y1x

y3y2

00

011110

00 01 11 10-1 - - -- - 1 1- - 1 1- - 1 1

y1x

y3y2

00

011110

00 01 11 10

J1 = 1 K1 = 1

Per il secondo FF JK ho:

- -

- - - -

- - - -

- - 1 1

y1x

y3y2

00

01

1110

00 01 11 10- - - -

1

1 1

- - - -

y1x

y3y2

00

01

1110

00 01 11 10

31312 yyxyyK J2 ha diverse f.m. eq.,Scelgo J2=y3

Per il terzo FF JK ho:

11 1 - -

1 1

- - - -

- - - -

y1x

y3y2

00

01

1110

00 01 11 10-1 - - -

- - - -

- - 1 1

y1x

y3y2

00

01

1110

00 01 11 10

xyJ 23 23 yK

Per le uscite …. Per quanto attiene le uscite, se si desidera

un’uscita impulsiva, si ha chez’ = c z (y3y2y1x)

z si ottiene dalla seguente mappa

1 1 - -

1- -

y1x

y3y2

00

011110

00 01 11 10

).( 2113 yyxyycz

Circuito

Contatori Macchine fondamentali

Aritmetica Funzioni di controllo

Diversi tipi di contatori Tempificazione Segnali di ingresso uscita

Contatore Astratto Generalizzato

Macchina sincrona .. Anche se la

tempificazione interna può essere asincrona

Counter-mod-M

u/dENcp

div

rp

I

U

r l

Esempio (1)

Q0/UO

Q1/U1

Q2/U2

Q3/U3

cp

cpcp

cp

Not(cp)

Not(cp)

Not(cp)

Not(cp)

Esempio (2)

0 1 2 30

rp

div

stato

cp

Contatore Astratto Generalizzato

Cp Conteggio u/d: up o down EN: enable generale al

conteggio div

Divisore Ho tutti 0 tranne un 1 tra i

conteggi rp

Ripple Asserito se ho “carry” oppure “borrow”

Counter-mod-Mu/dENcp

divrp

I

U

r l

Contatore Astratto Generalizzato (2)

U Uscita

I Ingresso omogeneo con U

L Load: se attivo inizializza ad I

l’uscita U r

Reset, se attivo produce l’azzeramento di U

P: preset, pone il valoe M-1 ad U

u/dCounter-mod-MEN

cp

divrp

I

U

r l

Sincroni e Asincroni Asincrono

Macchina sequenziale avente come ingresso una variabile di conteggio, della quale conta solo i fronti di salita, di discesa oppure entrambi

Almeno uno dei bistabili non riceve in ingresso il segnale di conteggio ed il suo eventuale cambiamento dis tato è determinato solo dalla sua funzione stato prossimo, che dipende dallo stato degli altri bistabili

Sincrono Macchina di Moore

Tutti i bistabili che costituiscono la memoria del contatore ricevono simultaneamente in ingresso il segnale di conteggio e tutti quelli che devono commutare commutano simultaneamente

Contatori Asincroni ( opp )

Un contatore asincrono mod-n che conti i soli fronti di salita o di discesa può essere realizzato con 2.n stati

0 1 u0 0 1 01 2 1 02 2 3 13 4 3 14 4 5 25 6 5 26 6 7 37 0 7 3

0 1 2 3 4 5 6 7 0

Contatori Asincroni ( ) Un contatore

asincrono mod-n che conti i fronti di salita e di discesa può essere realizzato con n stati, se n è pari

0 1 u0 0 1 01 2 1 12 2 3 23 0 3 3

0 1 2 3 0

Contatori Asincroni ( opp )

Un contatore asincrono mod-n che conti i fronti di salita e di discesa può essere realizzato con 2.n stati, se n è dispari

0 1 u0 0 1 01 2 1 12 2 3 23 4 3 04 4 5 15 0 5 2

0 1 2 3 4 5 0 1 2

Il ritorno allo stato inizialeÈ possibile solo se L’ultimo stato è dispari

Ripple Counter

910mod10mod10mod10

cp

rprprp

cpcp

… … il contatore del gas ….il contatore del gas …. 3 cont. mod. 10 3 cont. mod. 10 Mod Mod 101033

Contatore asincrono mod bk… non tutte le variazioni di statodei flip flop sono sincrone con cp

Ripple counter mod 2k

JK con J=K=1 funziona come T, contatore mod-2Il ripple viene generato quando raggiungo 1.

ContatoreMod-23

Ripple counter

Collegamento in cascata di macchine asincrone

Contatori sincroni Possono essere

progettati con la teoria classica delle macchine sincrone pilotate da un impulso di sincronismo.

000001010011100101110111

LSB: 01012 c.: 0011, passaDa 0 a 1 quando la 1.c. È 1.MSB 000 0 11110Passa Da 0 a 1 quando la 2.c. è 1.

Contatori sincroni Usando ff T sincroni come v. di stato, ho

le funzioni di posizionamento:T0=1; T1= Q0; T2= Q0 Q1

Generalizzando…Tk=Q0 Q1 ….. Qk-1

000001010011100101110111

Registri a Scorrimento In/out

Ingresso e uscita seriale

abilitazione allo shift

Parallel In/Out Abilitato da

in

Parallel in

out

Parallel out

Shift logico e aritmetico11000111

10001110 1logico

10001111 1aritmetico

Proprietà dei registri a scorrimento

10010000

Right Shift Register

00100000

9

9 DIV 2 = 4

01001000 9*2 = 18Left Shift Register

Serializzazione e Rotate

01001000

01001000

Rotate LeftRotate Right

Shift Circolari usati come contatori1000000001000000001000000001000000001000000001000000001000000001

Shift register con 8 bitcontatore modulo 8

Contatori Johnson00000000100000001100000011100000111100001111100011111100111111101111111101111111001111110001111100001111000001110000001100000001

00000011

Cont. Mod-16

Progetto di Sistemi

A B

go

done

x1

x2

go

Not(done)

b0

bn

go

done

Not(go)

Parallelo, Serie, Retroazione

M1

M2

parallelo

M1 M2

serie

M1

M2

feedback

Esempio riconoscitore 8421

Contatore mod-4 (abcd)

Un dispositivo che mi dice se sto a destra o sinistra del grafo a seconda degli ingressi

0

1

0,1

2 3

1 0

5

0

0 0/11/1

4

10,1

0/11/0

a

b

c

d

Ovvero

McounterMod-4

z0

z1

xclock

a bb cc dd a

Counter mod-4a=(0); b=(1); c=(2,3); d=(4,5)

A=(0,1,2,4); B=(3,5)

Ovvero …0

1

0,1

2 3

1 0

5

0

0 0/11/1

4

10,1

0/11/0

a

b

c

d

A=(0,1,2,4); B=(3,5)

1a 0a 1b 0b 1c 0c 1d 0dA A/

0A/0

A/0

B/0

A/0

A/0

A/0

A/1

B - - - - A/0

B/0

A/0

A/1

a=00B=01c=10d=11A=0B=1

Codifica:

top related