Note di rilascio

PLA simulator - versione 1.0

Jul 29 2012

Il simulatore PLA è scritto in Python, versione 2.7.1, ed è mantenuto sotto CVS (Concurrent Versions System).

Il simulatore è distribuito in forma open source, sotto la GNU GENERAL PUBLIC LICENSE.

La documentazione di riferimento è la base di partenza per sviluppatori interessati ad ampliare e/o modificare il progetto. Essa è generata mediante Epydoc, che raccoglie e formatta le docstrings di Python. Per tale motivo i commenti in docstrings aderiscono alla sintassi Epytext Markup Language, notare che per far apparire correttamente le vocali italiane accentate in HTML occorre usare il relativo codice esadecimale. I commenti iniziati invece con il simbolo # non sono prelevati per la documentazione e possono quindi essere liberi.


Sviluppo della libreria di circuiti

La sezione del codice preliminarmente predisposta per ampliamenti, anche da parte di chi non sia programmatore in Python, è la libreria di circuiti logici, che può essere personalizzata a piacimento, per scopi didattici o altro. Il modulo da modificare è circuits.py. La sua sezione fuori dalla classe Circuit è una collezione di istanze, ciascuna può essere usata come template per nuovi circuiti. La programmazione è facilitata dalla flessibile sintassi delle slice del Python nelle matrici NumPy, per esempio l'espressione:
circ_a.and_matrix[ 4, 1 : 4 : 2 ] = 1
ha l'effetto di rendere connessi i fusibili della matrice tra ingresso e porte AND, per tutta la quinta riga, nelle seconda e quarta colonna, mentre:
circ_a.and_matrix[ 6, 1 : : 4 ] = 1
connette tutti i fusibili della settima riga, per ogni colonna a partire dalla seconda fino all'ultima, in passi di quattro. Notare che, siccome nella pratica per la maggior parte dei circuiti le matrici sono piuttosto sparse, il procedimento utilizzato per la libreria è quello opposto rispetto alla programmazione logica manuale del simulatore: si inizia da matrici con tutti i fusibili scollegati, e si specificano, con sintassi come quelle mostrate sopra, i nodi che vanno connessi.

Notare che ogni circuito nuovo, perché sia visibile e utilizzabile nel simulatore, deve essere aggiunto alla lista circs, nell'ultima istruzione del modulo circuits.py.


Per segnalazioni e contatti scrivere a Alice Plebe.



home page