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