Una ditta specializzata in confezionamenti di ananas costruisce una rete logica per ottimizzare la propria produzione. La rete è formata da un nastro trasportatore, dove scorrono i prodotti che devono essere sottoposti ad un controllo, e due sensori in alto posti ad una distanza tale da individuare i prodotti che rispettano lo standard. Se l’esito del controllo è positivo allora il prodotto è idoneo alla vendita e viene incanalato in ceste apposite altrimenti viene scartato e destinato all’inscatolamento del prodotto sciroppato. L’incanalamento è effettuato da un braccio motorizzato che ostacola il passaggio nella zona sbagliata: se il braccio è alzato (C=0) significa che il prodotto ha passato il controllo di qualità altrimenti il braccio è abbassato(C=1). La rete poi provvede ad ottimizzare anche i tempi di controllo per aumentare la produzione, infatti il nastro trasportatore è dotato di tre velocità: fermo(N=00), normale (N=01) ed extra-speed (N=11). La velocità normale del nastro è attiva quando si stanno controllando i prodotti e quando si resetta la rete, mentre quella extra-speed entra in gioco quando non ci sono prodotti in fase di analisi per far sopraggiungere ai sensori più rapidamente gli ananas da controllare. Le velocità vengono attivate automaticamente dalla rete e quella extraspeed viene disattivata non appena si presenta un prodotto da controllare. Inoltre è prevista la possibilità di fermare il nastro in caso di emergenza o al sopraggiungere di un prodotto che non è un ananas e in qualsiasi momento tramite un pulsante azionato da un addetto. Tale pulsante è fatto in modo che rimane premuto e solo dopo il suo rilascio(un’altra pressione del pulsante) il nastro riprende la sua velocità e se si stava facendo un controllo su un prodotto corretto è necessario rimettere il prodotto in coda per verificarlo di nuovo o l’addetto scarta direttamente il prodotto. Si pone la regola che l’addetto faccia ripartire il nastro mentre non ci sono prodotti sotto i sensori per un corretto funzionamento della rete e una valutazione corretta del prodotto stesso. Si riporta integralmente il codice VHDL utilizzato per realizzare la rete volta a risolvere il problema proposto. Si ricorda che N(1) identifica il bit meno significativo e N(2) quello più significativo. Inoltre C identifica il braccio meccanico utile ad incanalare i prodotti nel modo corretto in base all’analisi fatta. Per la realizzazione del codice VHDL si sono utilizzate le funzioni sintetizzate senza la risoluzione delle corse critiche La rete realizzata in codice VHDL risponde perfettamente a tutti gli stimoli forniti dal test bench. La simulazione behavioral funziona correttamente e ottengo i risultati sperati. Infatti il reset=1 mi permette di settare la rete in uno stato iniziale in cui C=1 (ovvero suppongo che il prodotto non sia conforme) scelto in modo arbitrario e la velocità del nastro è 01 ovvero il nastro procede a velocità normale. Successivamente i test vanno a controllare il comportamento della rete durante il controllo di un prodotto conforme allo standard. Si ha la configurazione dei sensori A=1 e B=1 e ciò comporta C=0 correttamente, mentre il nastro continua a procedere a velocità normale. Appena A=0 e B=0 la velocità del nastro passa a speed . Dopo di che si è voluto testare il funzionamento del pulsante stop , in grado di fermare il nastro su cui vengono trasportati gli ananas. Esso agisce sulla velocità del nastro solo se è premuto e se viene mantenuto il suo stato di pressione così come richiesto. Inoltre si è rispettata la condizione richiesta che dopo il rilascio dello stop il sistema deve trovarsi nella condizione A=0 e B=0, ovvero non devono esserci prodotti in fase di analisi per il corretto funzionamento della rete. Il nastro procede dunque a velocità speed perché non ci sono prodotti. Il test successivo denota come non appena sopraggiunge un prodotto al primo sensore la velocità del nastro passa da 11 a 01, ovvero rallenta riprendendo la velocità normale. Altro risultato efficiente ottenuto dalla rete lo notiamo nel caso in cui il prodotto non è conforme allo standard. Le uscite funzionano correttamente ovvero C=1 e il nastro nonostante vi sia un momento in cui A=0 e B=0 prima che B=1 non passa alla velocità speed ma continua normalmente perché giustamente sta analizzando un prodotto non conforme. Con la simulazione Post-Route si nota che la rete ha dei ritardi ma ciò non danneggia il funzionamento complessivo della rete. Inoltre sono presenti anche degli impulsi spuri di 1 o 2 ns dove alcuni non compromettono le uscite mentre altri le alterano per pochi nano secondi. In questa simulazione rispetto alle precedenti si è messo in evidenza anche il comportamento delle variabili interne y1,y2,y3. Si riporta il codice integrale dei test per verificare la correttezza della rete Il seguente codice è identico sia per la versione VHDL che per la versione con Schematico per controllare che entrambe le reti rispondano allo stesso modo agli stimoli