Per realizzare tale struttura è necessario generare un file sorgente contenente le relazioni costitutive e le sequenze predefinite, dopodiché PALASM si occupa automaticamente della compilazione, dell'assemblaggio e della simulazione. Il file sorgente mostrato di seguito è quello relativo al circuito logico che si desidera realizzare (le righe sono state numerate per facilitarne il commento).
stepper.pds
Dopo la parte riguardante l'autore ed il tipo di componente (righe 1-9), nelle righe 10 e 11 si definiscono i nomi dei terminali partendo dal primo. Nella prima riga sono definiti gli ingressi e la massa, nella seconda riga l'alimentazione, il terminale per l'abilitazione delle uscite e le uscite stesse.
Per vedere meglio la denominazione dei terminali è possibile utilizzare un file generato da PALASM che realizza il disegno del componente con i nomi dei terminali; tale file ha l'estensione .pin ed il contenuto è mostrato nella pagina successiva. I nomi dati ai terminali sono significativi e vengono quindi analizzati. Ricordando il circuito di fig.3.20 si ha che CLK è il terminale di arrivo degli impulsi, DIR discrimina la direzione, CLR è il reset; JC e KC sono gli ingressi del terzo flipflop. Tutti gli altri ingressi non sono significativi per l'applicazione.
Passando alle uscite il discorso si complica leggermente perché ne esistono di tipi diversi, le quattro uscite finali
del sistema sono I12,
, I11 e
. La complicazione è dovuta al fatto che alcune
uscite sono di tipo combinatorio mentre altre sono di tipo sequenziale. Facendo riferimento alla fig.3.21 si ha che i
terminali bidirezionali (iniziano con la lettera B) possono essere determinati da equazioni combinatorie, mentre i terminali di
uscita devono avere equazioni sequenziali.
stepper.pin
Passando alle equazioni si nota come ne esistano di due tipi: se il simbolo '=' è isolato si tratta di un'equazione combinatoria, se
è preceduto da ':' (cioè ':=') si tratta di un'equazione sequenziale. Si analizzano ora le varie formule seguendo un ordine
logico. Partendo dalle equazioni per I11 e I12 (descritte nelle righe 16 e 14) si ha:
Tali formule sono l'espressione analitica delle uscite di un flipflop JK in funzione degli ingressi. Le due uscite vengono collegate con gli omonimi ingressi del driver.
Si prosegue analizzando tutte le altre equazioni che riguardano la catena superiore del circuito mostrato in
fig.3.20. I terminali che finiscono con la lettera A riguardano il flipflop di sinistra, mentre i terminali
con la lettera B sono di quello a destra.
L'uscita
viene collegata con il terminale FASE 1 del driver,
con il terminale
FASE 2.
La verifica della correttezza delle equazioni può essere fatta utilizzando l'ultima sezione del programma denominata 'SIMULATION' (riga 42). In tale sezione si ha la possibilità di generare una sequenza di valori logici per gli ingressi e di verificare il valore corrispondente delle uscite. Il comando indicato con 'SETF' permette di applicare il valore logico alto ad un ingresso. Il comando 'CLOCKF' permette di cambiare lo stato logico dell'ingresso CLK.
Nelle pagine successive viene visualizzato il risultato della simulazione.
stepper.hst
Come si può notare dalle sequenze generate nelle pagine precedenti, sull'asse verticale vengono disposti i 20 terminali del dispositivo, mentre sull'asse orizzontale vengono rappresentati gli istanti di tempo significativi. A partire dai valori logici degli ingressi, in determinati istanti di tempo, si ricava il valore delle uscite. Il termine H significa livello logico alto, il termine L significa livello logico basso, il termine X significa valore indeterminato. L'interesse della simulazione consiste nel verificare se le uscite I11, QB, I12, QA si comportino nel modo desiderato quando gli ingressi CLK, DIR, CLR, JC e KC sono configurati in un certo modo. Dopo aver analizzato la simulazione si giunge alla conclusione che le uscite selezionate per agire sul driver si comportano nel modo desiderato.
Giunti a questo punto il passo successivo consiste nel programmare il componente. Per fare ciò si è utilizzato un programmatore universale, denominato ALLPRO, che si interfaccia con un normale personal computer e tramite un applicativo software permette all'utente di scegliere il tipo di dispositivo da programmare e di eseguire tale programmazione.