Rete Sincrona
La rete elabora dati ricevuti in ingresso relativi a porzioni di codice genetico.
Attraverso due ingressi A e B sono trasmesse serialmente due sequenze di 6 bit.
Ognuna delle due sequenze di fatto non ha interruzioni, ma idealmente è divisa in tre
coppie di bit.
Ogni coppia di bit codifica una base azotata presente nella porzione di DNA in analisi, e
precisamente:
• 00 -> adenina
• 11 -> timina
• 01 -> citosina
• 10 -> guanina
Una sequenza di 6 bit è pertanto la traduzione in codice binario di un codone(tripletta).
Un segnale VALID si attiva contemporaneamente all’acquisizione, da parte della rete,
del primo bit significativo, tornando a zero alla fine della ricezione delle sequenze.
La rete ha un segnale di RESET utile a ripristinare il sistema alla condizione di partenza.
Dispone anche di un unico CLOCK per sincronizzare i vari componenti.
In base ad un segnale di controllo CTRL, che non varia durante l’arrivo dei
dati utili, si distinguono due differenti funzioni, i cui risultati vengono
mostrati attraverso le due uscite OUT_0 e OUT_1 :
• CTRL=1
La rete verifica se i due filamenti di DNA possono essere appaiati.
Alle tre basi azotate di un codone devono dunque corrispondere, nell’altra
tripletta, basi complementari.
(Adenina<->Timina , Citosina<->Guanina)
A tal fine si deve contare quante delle tre coppie di basi azotate sono
complementari, portando tale numero nelle due uscite.
La possibilità di un corretto appaiamento si avrà pertanto solo in caso di
uscita 11.
• CTRL=0
La rete verifica l’uguaglianza dei due filamenti di DNA.
A tal fine si deve contare quante delle tre coppie di basi azotate sono
differenti, portando tale numero nelle due uscite.
L’identità dei due codoni si avrà pertanto solo in caso di uscita 00.
Esempi
Schematico
Se A1 è diverso da B1 e A2 è diverso
da B2, le basi sono complementari.
Se A1 è diverso da B1 o A2 è diverso
da B2, le basi sono differenti.
Ciò mantiene CE a 0
durante la sola presenza
del primo bit delle due
basi azotate
Simulazione Behavioral
Finchè RESET rimane ad 1 le uscite sono tutte a 0, quando RESET va a 0 la rete può iniziare ad
elaborare i dati.
Al fronte di salita di VALID corrisponde il primo bit significativo. Ogni due bit significativi
COUPLE_OF_BASES rimane ad un 1 per un periodo, in questo periodo la rete analizza la coppia di basi
azotate trasmesse attraverso gli ingressi A e B.
Al fronte successivo del CLOCK, in base al valore di CTRL, viene segnalata la loro differenza o
complementarità incrementando il valore delle uscite OUT_0 e OUT_1.
Simulazione Post-Route (1/3)
CTRL=0 -> la rete
conta le differenze
A=0
B=1
A=0
B=1
Ho portato in uscita anche COUPLE_OF_BASES
per evidenziare come la rete vada ad incidere
sulle uscite soltanto ogni due bit, quando la
coppia di basi azotate è completa, oltre
naturalmente ad essere valida.
A=1
B=1
A=0
B=0
A=1
B=0
A=1
B=0
differenti
uguali
differenti
(incrementa)
(conserva)
(incrementa)
Simulazione Post-Route (2/3)
CTRL=1 -> la rete conta
le complementarità
A=1
B=0
A=1
B=0
A=1
B=0
A=0
B=1
A=0
B=1
A=1
B=0
complementari complementari complementari
(il valore delle uscite viene sempre incrementato)
Simulazione Post-Route (3/3)
CTRL=0 -> la rete
conta le differenze
A=1
B=1
A=1
B=1
A=1
B=1
uguali
A=0
B=0
A=0
B=0
uguali
A=1
B=1
uguali
(il valore delle uscite non viene mai incrementato)
Scarica

Presentazione