FREQUENTLY ASKED QUESTIONS - PROGETTO CRYPxx
Il canale trasmissivo
che collega l'SVBS e i TRS è affetto da rumore?
No, potete assumere che il segnale in uscita da SVBS sia riprodotto fedelmente
in ingresso a TRS, dunque non avete l'onere di introdurre sistemi di controllo
e correzione degli errori.
Quanto deve essere
grande il chip da progettare?
Nelle specifiche tecniche del progetto non ci sono vincoli fisici particolari
ad esclusione della velocità del clock e del ritardo che è stato
assunto per ciascuna porta.
Come sono fatti i
64 bit di ingresso a SVBS?
Si tratta di 64 linee ognuna delle quali trasmette un segnale di tipo C.
Quante chiavi di
cifratura ho?
Per ognuno dei 64 canali c'è una chiave di cifratura diversa. Inoltre
ogni ricevitore TRS possiede una chiave di messaggio distinta.
Se il messaggio che
devo crittografare con la chiave di messaggio ha un numero di bit che non è
multiplo di 128 come devo fare?
E' sufficiente aggiungere dei bit fittizi fino a raggiungere una lunghezza
che sia multipla di 128.
Può succedere
che un TRS diventi fuori uso e venga rimosso dall'elenco presente su SVBS?
Molto probabilmente in questo caso l'SVBS riceverà dall'esterno un
messaggio DISABLE relativo al numero di serie da disabilitare. Non è
comunque a carico vostro preoccuparsi di questo evento.
E' importante che
tutti i messaggi siano criptati?
No, è importante che siano criptati i messaggi che trasmettono nuove
chiavi per ciascun canale (nella fattispecie la ENABLE), mentre è facoltativo
criptare tutti i messaggi.
Come fa a sapere
il sistema SVBS che ho comprato un nuovo decoder TRS?
Molto probabilmente quando un nuovo TRS viene attivato, una serie di comandi
ENABLE rivolti al nuovo TRS verranno ricevuti dall'SVBS tramite la linea SVC.
Non è comunque a carico vostro preoccuparsi di questo evento.
Entro quando devo
consegnare il progetto?
A differenza di come ha detto erroneamente il prof. Palopoli, entro un dei TRE
appelli previsti tra Giugno e Luglio 2001.
Quando verrà
attribuito il bonus?
Nel corso del terzo appello verrà comunicato il nome dei gruppi che
hanno ottenuto il bonus, che andrà a completare il voto parziale (presumibilmente
già noto) dei partecipanti.
Per trasmettere un
segnale PkK a 64 canali devo elaborare circa 90 milioni di bit e il clock specificato
è a 200Mhz. Temo che riusciremo ad elaborare complessivamente non più
di un paio di fotogrammi al secondo.
Dato lo scopo didattico del progetto, questo non è importante. In
caso di difficoltà siete liberi di pensare in termini di un clock differente,
(il ritardo specificato per le porte resta però obbligatoriamente a 5ps).
In ogni caso la qualità del progetto verrà misurata in base
ai parametri x,y, r i quali sono espressi in colpi di clock.
Ad esempio un progetto con clock = 1 Ghz, con x = 10, y=0, r=0, sarà
capace di 1'000'000'000/512*384*7 = circa 750 fotogrammi al secondo, mentre
un progetto con x = 6, y=0, r=0, ma con clock a 200Mhz elabora circa 150 fotogrammi
al secondo; tuttavia il secondo progetto verrà considerato migliore.
La motivazione che sta dietro a questa scelta risiede nel fatto che vogliamo
preferire quei progetti meglio ingegnerizzati rispetto a quelli che puntano
a migliorare la velocità semplicemente incrementando la velocità
di clock.
Come devo misurare
dunque la qualità del mio progetto?
Per i progetti TRS, i parametri x,y,r sono misurati sull'uscita O, e vanno
calcolati ipotizzando che il segnale PkK sia idealmente velocissimo (es. minima
distanza in colpi di clock tra i pixel, minimo intervallo tra una linea ed un
altra, ecc.).
Per i progetti SVBS, i parametri x,y,r sono misurati su un generico ingresso
I-n, mentre si deve ipotizzare che il segnale PkK in uscita sulla linea O da
produrre sia idealmente velocissimo.
A quanti bit sono
le linee I, O, SVC dei quattro chip?
Si tratta di linee a 1 BIT sincrone (il valore cambia potenzialmente ad
ogni colpo di clock)
Posso prevedere altre
linee che colleghino il trasmettitore al ricevitore?
NO
Posso impostare il
progetto programmando un PIC a me noto, oppure usando un processore di architettura
x86 opportunamente programmato in assembly?
No, lo scopo di questo progetto è quello di farvi progettare un hardware
personalizzato che vi consenta di mettere in pratica le tecniche apprese a lezione.
Dove posso trovare
documentazione sui sistemi di pay-tv reali?
Tutto ciò che dovete sapere per realizzare il progetto e dunque superare
l'esame è contenuto nelle specifiche a voi note. Il progetto CRYPxx è
liberamente ispirato ai sistemi reali ma è comunque alquanto semplificato
(per il vostro bene ^__^).
Visto che nei sistemi
reali si adotta la compressione per migliorare il frame rate, e si proteggono
ulteriormente le chiavi, come verrà valutato il mio progetto se aggiungo
ulteriori meccanismi di protezione, o se adotto tecniche di compressione per
le immagini?
L'aggiunta di funzioni non espressamente richieste non rappresenta ulteriore
elemento di valutazione. Al fine di consentire una equa valutazione dei progetti,
è fatto divieto di introdurre caratteristiche non originali e non espressamente
richieste.
Cosa succede se il
ricevitore inizia a captare il segnale in un punto non sincronizzato?
E' fatto carico al progettista di risolvere il problema della sincronizzazione.
Non è importante se si perdono alcuni fotogrammi (o anche messaggi) in
fase di sincronizzazione.
Posso prevedere più
sottochip nel mio progetto?
Certamente sì. In tal caso il lavoro deve dettagliare i singoli chip,
e il modo in cui questi comunicano tra loro.
Posso decidere l'unita
di misura della distanza tra un messaggio ed un altro all'interno della stessa
raffica?
Si può decidere liberamente questa unità di misura, e il numero
massimo di messaggi per ogni raffica.
Che differenza c'è
fra i progetti CRYPxT+ e CRYPxT?
Nei progetti CRYPxT, si può assumere che ci sia un'unica raffica di messaggi
in corso, mentre i progetti CRYPxT+ devono prevedere la possibilità di
un numero ragionevole (almeno 256) di raffiche contemporaneamente attive.
Si può interfacciare
un CRYPxT+ con un CRYPxR?
Sì, poichè le caratteristiche aggiuntive di CRYPxT+ non hanno
nessun effetto sul protocollo di comunicazione.
Che differenza c'è
fra i progetti CRYPxR e CRYPxR-?
Per i progetti CRYPxR- non è richiesta la cifratura dei messaggi, mentre
rimane obbligatoria la cifratura dei segnali televisivi.
Si può interfacciare
un CRYPxT con un CRYPxR- ?
Sì, una volta concordato il protocollo di comunicazione tra i due,
i progettisti CRYPxR- assumeranno che i messaggi viaggino interamente in chiaro.
I progettisti CRYPxT dovranno invece individuare una parte del messaggio in
chiaro e una parte criptata.
Poichè non
sempre sul canale PkK viaggiano dei messaggi, come faccio a inframezzare i messaggi
ai segnali televisivi mantenendo un frame rate costante?
Una possibile soluzione è quella di prevedere uno spazio fisso riservato
ai messaggi, e trasmettere comunque dei valori fittizi nel caso in cui non ci
siano messaggi da inviare.
Si possono inserire
dei valori di controllo nel flusso PkK?
E' sicuramente impossibile poter fare a meno di valori di controllo necessari
a discriminare ogni parte del flusso PkK.
Come mai il numero
di serie S di ciascun TRS è di 128 bit?
In realtà sono necessari solo 16 bit. Potete prevedere di trasmettere
solo 16 bit per il numero di serie.
CRYPxT: Come è
possibile ricevere contemporaneamente 64 bit da 64 canali in ingresso ed emetterli
sulla linea seriale O?
La cosa è evidentemente impossibile se i segnali di ingresso producono
1 bit per ogni colpo di clock (x=1). Come detto si è liberi di rallentare
quanto si vuole i segnali di ingresso (aumentando il parametro x). Ciò
consente di avere molto più tempo per predisporre il segnale di uscita.
CRYPxR: Se faccio
uso di un segnale di controllo per sincronizzare il ricevitore, devo evitare
che questo segnale di controllo occorra anche all'interno del segnale relativo
a un fotogramma, confondendo così il ricevitore?
Il programmatore può scegliere se progettare i segnali di controllo in
3 modi:
Posso supporre che il trasmettitore
ognittanto si spenga e dunque si riceva in input al ricevitore un valore "null"?
No, gli unici simboli accettabili sono 0 e 1. Il processore non è
in grado di gestire ulteriori simboli.
CRYPxT: Devo preoccuparmi della
sincronizzazione degli input?
No, devi solo preoccuparti della sincronizzazione dell'output, per il tuo
ricevitore (il quale deve invece risolvere questo problema). Si assuma che il
trasmettitore sia acceso 24 ore su 24 e sia dunque perennemente sincronizzato
coi canali di input.
Se metto all'interno del mio chip
dei processori con un clock più elevato rispetto al sistema complessivo
come verranno valutate le prestazioni del mio sistema?
In tal caso, i tuoi parametri x,y ed r verranno misurati rispetto al clock
più elevato presente nel progetto. Ad esempio, se x=10, con clock complessivo
a 200Mhz, ma nel progetto si fa uso di un sottoprocessore M a 1Ghz, allora x=50
colpi di clock di M, e questo è il parametro che verrà preso in
considerazione.
Cosa succede se il mio protocollo
differisce da quello del mio gruppo omologo? Posso cambiare il protocollo in
corso d'opera?
Fino al momento della consegna di uno dei due gruppi è possibile
rinegoziare il protocollo di comunicazione quante volte si vuole. Siamo orientati
a valutare negativamente quelle coppie di gruppi che dovessero presentare un
protocollo differente rispetto a quello della parte omologa.
CRYPxR: quanti secondi possono
passare prima che il dispositivo si sincronizzi?
Al massimo 4 o 5.
Devo scegliere un progetto con
grado di errore 0 in sincronizzazione o un progetto con probabilità di
errore molto bassa ma più performante?
E' lasciata libertà ai progettisti di fare e giustificare la scelta tecnica
ritenuta più valida.
Se ci sono discrepanze di velocità
tra trasmettitore e ricevitore, come ci dobbiamo comportare?
Poichè i due dispositivi rispettano lo stesso protocollo di comunicazione,
è sufficiente inserire dei cicli di ritardo nel dispositivo più
lento (o, al limite, in entrambi), per cui entrambi i gruppi omologhi possono
lavorare indipendentemente, e cercando di dare il meglio, una volta fissato
un protocollo comune.
Una porta a 20 ingressi è
considerata della stessa complessità di una a 2 ingressi?
Per non vincolare eccessivamente la vostra fantasia, il limite sul numero di
transistor del chip è fissato in 5'000'000 di transistor. Ogni porta
logica impiega un numero di transistor pari al numero di ingressi (2 ingressi=2
transistor, 20 ingressi=20 transistor). Il limite sul fan-in di ciascuna porta
è fissato a 32 ingressi, mentre assumeremo un fan-out massimo possibile
di 64.
A quanti bit può essere
il bus più grande usato nel progetto?
Il limite massimo di ampiezza per un bus è fissato in 128 bit. Sono consentite
connessioni punto a punto fino a 512 bit in parallelo.
Ma x fa riferimento a bit per colpo di clock oppure ai bit per colpo di clock?
Potete assumere che alcune delle vostre RAM siano non volatili.
No.
Che vuol dire connessione "punto
a punto"?
Connessioni che trasportano un segnale da un punto ad un altro del circuito
No, potete considerarle come implicitamente presenti.
Mi devo preoccupare se la mia
macchina microprogrammata non ha l'IR?
NO! Come ricorderete abbiamo due modelli di macchina microprogrammata. La versione
a programma memorizzato ha in ingresso alla ROM di controllo il registro IR
(o meglio quello spezzone di IR contenente il codice operativo), tramite il
quale si sceglie quale istruzione assembly eseguire; tuttavia sicuramente ricorderete
la versione a programma cablato, dove in ingresso non c'è NESSUN IR,
ma solo i segnali beta e il registro di stato. In questo caso la macchina esegue
continuamente un unico e solo programma main. La scelta tra i due modelli è
libera a seconda delle necessità.
Qual'è l'unità
di misura di D?
Una qualsiasi unità di tempo che vi faccia comodo (fotogramma, pixel,
linea, secondi, minuti, ore, nanosecondi, furlong al metro quadro).