Tesi Robotica Un coprocessore per Stereo-Matching: Profiling ... | Page 69
i
i
“MF_Tesi” — 2011/9/12 — 11:39 — page 69 — #69
i
5.4. COMPONENTI DI BSV
i
69
age. In BSV ad ogni file corrisponde un package, infatti si utilizza proprio
il nome del package per individuare il file dato che avrà un nome del tipo
.bsv. La struttura dei package non influenza in alcun modo
l’architettura hardware che si viene a creare, quest’ultima viene definita in base
alla struttura della gerarchia dei moduli.
5.4.2
Moduli
I moduli sono il cuore di BSV insieme alle interfacce e le regole. Ogni modulo
presenta un’interfaccia i quali metodi rappresentano i canali di comunicazione
del modulo con il resto dell’architettura. Infatti in BSV i moduli non possiedono
pin di input, output o inout, ma soltanto i metodi dell’interfaccia, e questo è
l’unico modo per inviare o ricevere qualcosa dal modulo. se in cima al modulo è
presente l’attributo (* sinthesize *), allora questo modulo verrà sintetizzato
e diventerà un componente hardware dell’architettura del sistema. Un modulo
al suo interno contiene stati, regole che operano sugli stati e l’interfaccia che
consente la comunicazione con l’architettura circostante; infine, un modulo può
essere istanziato diverse volte.
5.4.3
Regole
Le regole descrivono il modo in cui avvengono le transizioni da uno stato ad
un altro e i relativi spostamenti di dati. Le regole sono costituite da due
componenti:
Condizione della regola espressione booleana che determina se la regola può
essere eseguita o meno
Corpo della regola insieme di azioni che vengono eseguite quando una regola
viene avviata
La caratteristica più importante di una regola è l’atomicità che consente di
appurare la correttezza di un progetto semplicemente studiando le regole una per
volta e capire come alterano o mantengono un determinato stato del sistema. Il
compilatore si assicura che il comportamento attuale coincida con quello logico,
dato che successivamente una volta sintetizzato il tutto, diverse regole potranno
essere eseguite contemporaneamente.
i
i
i
i