|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Oct 2009
Messaggi: 15
|
Arch.Elab. - Esercizio con SIS
Salve ragazzi, sto preparando l'esame di Architettura dei Calcolatori e purtroppo qualche mese fa mi sono perso la lezione sui Diagrammi degli Stati ed in particolare sulla loro ottimizzazione e minimizzazione col programma SIS.
Dopo qualche giornata passata a cercare slides ed esempi, credo di averli capiti abbastanza bene, per cui vorrei semplicemente che controlliate se ho svolto bene il seguente esercizio: Sia data la seguente specifica funzionale di una macchina a stati finiti sincrona con un ingresso X ed una uscita Z. L’uscita Z deve essere portata a 1 se in ingresso si presenta la sequenza 1011. Sono possibili eventuali sovrapposizioni 1. Tracciare il diagramma degli stati. 2. Utilizzando il SIS a. Sintetizzare le funzioni di stato prossimo e di uscita b. Eseguire la minimizzazione. Allora, io ho disegnato il diagramma degli stati e ne ho ricavato la tabella: Quando l'input è 0: A= A\0, B=C\0, C=A\0, D=C\0 Quando l'input è 1: A=B\0, B=B\0, C=D\0, D=A\1 Poi ho passato i dati nel file .BLIF: Codice:
.model es4 .inputs x .outputs z .start_kiss .i 1 .o 1 .s 4 0 a a 0 0 b c 0 0 c a 0 0 d c 0 1 a b 0 1 b b 0 1 c d 0 1 d a 1 .end_kiss .end state_minimize stamina e stg_to_network per terminare l'esercizio. Potreste dirmi se è tutto corretto?? (Purtroppo il SIS mi da un errore comune di lettura a tutti gli esempi,anche quelli trovati in rete, e non posso minimizzarlo). Grazie mille a tutti per l'aiuto ![]() Scusatemi se per caso la sezione è sbagliata e/o il titolo non è appropriato! Buone feste a tutti! ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Sempre aggiornata l'università italiana...
Dal sito di SIS: "SIS is currently not maintained and may be hard to use, not only compile. " fonte: http://embedded.eecs.berkeley.edu/pubs/downloads/sis/ Cmq, vedendo gli esempi e le slide di un prof di Verona, sembra corretto. Hai provato a farlo con abc? http://www.eecs.berkeley.edu/~alanmi/abc/ È sviluppato dallo stesso gruppo di ricerca che ~20 anni fa fece SIS.
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli! ![]() |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Oct 2009
Messaggi: 15
|
![]() ![]() ![]() Adesso ho provato ABC ma sembra che non abbia i comandi giusti; difatti, leggendo il file blif dell'esercizio, mi salta le righe di start_kiss, .i , .o , ecc. Grazie mille per l'aiuto ![]() ![]() Un'ultima domanda: Ma cosa sono le "eventuali sovrapposizioni" dell'esercizio? ![]() |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Quote:
La possibilità di sovrapposizione significa che la sequenza 1011011011 da in uscita 0001001001. In pratica sequenze sovrapposte devono essere riconoscibili. È facile da fare, basta aggiungere uno stato aggiuntivo tra quello che riconosce l'ultimo 1 e lo stato iniziale. A quel punto se il bit successivo all'ultimo bit di sequenza è 0 salti direttamente allo stato successivo a quello di partenza, altrimenti torni a quello di partenza. Io sono abbastanza arrugginito con gli automi a stati finiti, non sono neanche sicuro che lo stato in più non ti sparisca quando fai la minimizzazione. Metto una tabella che mi spiego meglio: Codice:
Stato 0 1 S0 S0,0 S1,0 S1 S2,0 S1,0 S2 S0,0 S3,0 S3 S2,0 S4,1 S4 S2,0 S1,0
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli! ![]() Ultima modifica di ingframin : 06-01-2015 alle 21:26. |
|
![]() |
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: Oct 2009
Messaggi: 15
|
Insomma la sovrapposizione è quando posso immettere una sequenza tipo 1011011011...
mentre non è sovrapposto quando posso immettere 101110111011... giusto? Quindi soltanto se mi si chiede di non ottenere sovrapposizioni devo inserire lo stato aggiuntivo come hai spiegato? Grazie mille davvero per l'aiuto comunque ![]() |
![]() |
![]() |
![]() |
#6 | ||
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Quote:
Quote:
Prego, in fondo siamo in un forum di nerd, ci piace armeggiare con queste cose ![]()
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli! ![]() |
||
![]() |
![]() |
![]() |
#7 |
Junior Member
Iscritto dal: Oct 2009
Messaggi: 15
|
Tutto chiaro
![]() ![]() ![]() Grazie mille!!! Se me ne esco con un 30 (ma anche un 18) hai il caffè pagato!! hahahah ![]() ...Ora mi tocca cominciare con l'assembly ![]() |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Quote:
Dai che Assembly non è difficile, anzi... ma tu studi elettronica o informatica?
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli! ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:05.