TkGate

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
pma
00martedì 9 ottobre 2007 21:59
Uno studente propone questo software di simulazione, dalla cui homepage estraggo la seguente descrizione:


TkGate is a event driven digital circuit simulator with a tcl/tk-based graphical editor. TkGate supports a wide range of primitive circuit elements as well as user-defined modules for hierarchical design. The distribution comes with a number of tutorial and example circuits which can be loaded through the "Help" menu. The example circuits include a simple CPU, programmed to run the Animals game. For more information, check out the documentation. TkGate is free software provided with source code under the Gnu Public License.

Key Features:

Graphical circuit design
- Hierarchical design through user defined modules.
- Easy to use point-and-click user interface.
- Create hyperlinks to move about in circuit or load other files.
- Multi-lingual interface (Catalan, English, French, German, Japanese, Spanish, Welsh)
- Verilog-like save file format.

Logic simulation
- Control through the GUI or through script files.
- Suitable for simulation at transistor, gate or register transfer level.
- Six valued logic model including 0, 1, floating, unknown, "low" and "high".
- Support for custom delay models.
- Graphical display of simulation results.
- Breakpoints, single-step and clock-step simulator control.
- Static critical path analysis.

Primitive circuit elements include:
- Basic gates (AND, OR, etc.)
- Switch-level NMOS and PMOS transistors
- Tristate buffers
- Alu components (Adders, shifters, multipliers)
- Memory elements (Registers, RAMs, ROMs)
- An interactive "tty" element allows design of circuits that can interact with the user.

Support tools include a microcode/macrocode compiler to assist in creating large projects such as microprocessor designs.



Installabile su Linux/Unix, e pare anche su Windows e Mac OS X. Sarebbe interessante se qualcuno che avesse provato a installarlo e utilizzarlo volesse darne una descrizione di tipo hands-on e raccontasse le esperienze avute, positive o negative che siano.
cenz
00martedì 9 ottobre 2007 23:18
Per chi volesse provarlo, suggerisco di scaricare la pre-release 2.0b9, poichè presenta notevoli migliorie sia come interfaccia grafica che come opzioni (oltre che risolvere i bug dei salvataggi).
Per gli utenti linux: gli shortcuts potrebbero interferire con quelli di sistema, nella 2.0 molti comandi sono sulla barra quindi si evita il menu contestuale.
fbcyborg
00mercoledì 10 ottobre 2007 07:15
Ciao, ho visto che non esiste una versione pacchettizzata per Gentoo Linux, visto che nel Portage non c'è: ne sai niente? Magari un ebuild da scaricare separatamente?
Devo per forza scaricarmi il tarball e usare quello?

f.

EDIT: mi sa che la versione 2.0b9 non è più disponibile, io ho trovato la 2.0a11. Suppongo vada bene lo stesso.
cenz
00mercoledì 10 ottobre 2007 18:06
Re:
fbcyborg, 10/10/2007 7.15:

Magari un ebuild da scaricare separatamente?
Devo per forza scaricarmi il tarball e usare quello?

f.



Non ti saprei dire, uso arch. Mi sa che te lo devi fare tu l'ebuild. Oppure chrooti tutto e lo provi, non saprei



EDIT: mi sa che la versione 2.0b9 non è più disponibile, io ho trovato la 2.0a11. Suppongo vada bene lo stesso.



Si, lo aggiornano giorno per giorno, perchè penso sia vicina la RC.

PS: se a qualcuno server il PKGBUILD posso dare il mio. Su AUR non è aggiornato.


fbcyborg
00mercoledì 10 ottobre 2007 18:14
Ok, io ho provato a compilarlo:
./configure
make ...

solo che mi da errore.. ma serve qualche libreria?

PS: per favore cerchiamo di non fare due post consecutivi se non sono passate almeno 12 ore dall'ultimo post. C'è il tasto edit! ;)
cenz
00giovedì 11 ottobre 2007 19:46
Visto che in molti programmi non esiste il Priority Encoder gia bello e pronto, è possibile realizzarlo tramite porte logiche semplici. Quindi mappe di k e soci. Ecco il mio.
fbcyborg
00giovedì 11 ottobre 2007 20:40
Pare ci sia qualche problema a scaricare il file.
cenz
00giovedì 11 ottobre 2007 20:57
Che tipo di problema? Se lo scarichi, la figura è venuta in fondo alla pagina del pdf. Scrolla
fbcyborg
00giovedì 11 ottobre 2007 21:00
Scusa, non so perché ma se clicco su "mio" mi compare la pagina principale di altervista. Effettivamente, cliccando sul link con il tasto dx, sono riuscito a scaricarlo.. Boh!
Su questo forum gli URL sono tutto un mondo da scoprire!!! :D
pma
00giovedì 11 ottobre 2007 22:12
Dopo due o tre tentativi, sono finalmente riuscito a scaricare il PDF di cenz. Analizzando il circuito proposto, le varie funzioni appaiono realizzate come segue (l'asterisco indica negazione):

GO = GI X0* X1* X2* X3*
Y0 = GI X2 + GI X3
Y1 = GI X1 X2* X3* + G1 X3

GO è realizzata correttamente, così come il condizionamento di Y0 e Y1 a GI. Ora, posto che GI = 1, se X1 = X2 = X3 = 0, si ottiene correttamente Y0 = Y1 = 0 per qualunque valore di X0; se X1 = 1 e X2 = X3 = 0, si ottiene (Y1, Y0) = (1, 0) mentre dovrebbe essere (Y1, Y0) = (0, 1); se X2 = 1 e X3 = 0, si ottiene (Y1, Y0) = (0, 1) mentre dovrebbe essere (Y1, Y0) = (1, 0); infine se X3 = 1, si ottiene correttamente Y0 = Y1 = 1. Direi che è sufficiente scambiare tra loro le due uscite Y1 e Y0, in modo che le funzioni diventino

Y1 = GI X2 + GI X3
Y0 = GI X1 X2* X3* + G1 X3

e tutto fila liscio.
cenz
00giovedì 11 ottobre 2007 22:24
Si, infatti ho considerato Y0 e Y1 inversamente (avevo trascritto male la tabella di verità spiegata a lezione).
Quindi swap(Y0,Y1) alle uscite.
Sorry
cenz
00sabato 13 ottobre 2007 11:13
Altro quesito:
in tkgate le ROM vengono realizzate con il solo OE, quindi senza CE. È un "limite" di tkgate, o anche nelle altre applicazioni avviene ciò? Come mai non si considera il chip enable?
alberto_retilogiche
00sabato 13 ottobre 2007 16:41
Re:
fbcyborg, 11/10/2007 21.00:

Scusa, non so perché ma se clicco su "mio" mi compare la pagina principale di altervista. Effettivamente, cliccando sul link con il tasto dx, sono riuscito a scaricarlo.. Boh!
Su questo forum gli URL sono tutto un mondo da scoprire!!! :D



Non è un problema del forum, i link di altervista funzionano così.
Basta copiare l'indirizzo sulla barra e si accede ala pagina desiderata.


pma
00sabato 13 ottobre 2007 17:26
Re:
cenz, 10/13/2007 11:13 AM:

Altro quesito:
in tkgate le ROM vengono realizzate con il solo OE, quindi senza CE. È un "limite" di tkgate, o anche nelle altre applicazioni avviene ciò? Come mai non si considera il chip enable?



Non so se è un limite di tkgate. In ogni caso c'è sempre da tener presente che quanto si dice a lezione non è il vangelo, quando poi ci si confronta con i dispositivi realmente esistenti in commercio: qui, in alcuni casi mancano delle funzioni, in altri casi ve ne sono delle altre supplementari; ci possono essere ingressi e/o uscite attivi alti o attivi bassi, le uscite inibite possono essere tri-state o forzate a 0 o forzate a 1, gli ingressi di controllo possono essere singoli o multipli o mancanti, e via dicendo. Molte di queste opzioni dipendono dalla tecnologia con cui il dispositivo viene realizzato (ad esempio, in tecnologia TTL si tendono a privilegiare ingressi e uscite attivi bassi, mentre in CMOS tipicamente sono attivi alti, per ragioni che non è qui il caso di sviscerare ma che a qualcuno di voi mi pare di aver accennato qualche giorno fa).
Per tornare alle ROM, è chiaro che separare l'abilitazione in un Chip Enable e in un Output Enable dà una flessibilità maggiore in termini di controllo della funzionalità del dispositivo, ma è altrettanto chiaro che anche il solo Output Enable è sufficiente a consentire di elaborare dei circuiti di espansione -- accadrà in tal caso semplicemente che, sebbene un solo modulo ad ogni istante viene avviato verso l'uscita, gli altri staranno lì a far niente se non dissipare energia.

C'è anche da tener presente che nella moderna elettronica digitale la ROM è quasi sempre un dispositivo "custom", ossia realizzato su misura dell'applicazione, e dunque ben raramente ormai ci si trova a dover utilizzare più moduli ROM per emularne uno solo, il che implica che la distinzione tra CE e OE diventa molto meno importante -- addirittura, quando la ROM è una sola, in molti casi si può fare a meno anche dell'Output Enable, come avremo modo di vedere più in là in qualche progetto. Di fatto, quanto abbiamo visto a lezione per i circuiti di espansione sarà molto più importante per le RAM (i cui moduli hanno "tagli" predefiniti, mai "custom") che non per le ROM.
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 03:18.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com