Reti Logiche Forum del corso di Reti Logiche - La Sapienza

TkGate

  • Messaggi
  • OFFLINE
    pma
    Post: 13
    Registrato il: 26/10/2006
    Sesso: Maschile
    Admin
    Utente Gold
    00 09/10/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.
    [Modificato da pma 09/10/2007 22:01]
  • OFFLINE
    cenz
    Post: 0
    Registrato il: 09/10/2007
    Sesso: Maschile
    Utente Junior
    00 09/10/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.
    [Modificato da cenz 09/10/2007 23:19]
  • OFFLINE
    fbcyborg
    Post: 16
    Registrato il: 08/10/2007
    Sesso: Maschile
    Vice Admin
    Utente Gold
    00 10/10/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.
    [Modificato da fbcyborg 10/10/2007 16:54]
    ______________________
    ^ThE CyBoRg^
  • OFFLINE
    cenz
    Post: 2
    Registrato il: 09/10/2007
    Sesso: Maschile
    Utente Junior
    00 10/10/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.


    [Modificato da fbcyborg 10/10/2007 18:14]
  • OFFLINE
    fbcyborg
    Post: 19
    Registrato il: 08/10/2007
    Sesso: Maschile
    Vice Admin
    Utente Gold
    00 10/10/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! ;)
    ______________________
    ^ThE CyBoRg^
  • OFFLINE
    cenz
    Post: 5
    Registrato il: 09/10/2007
    Sesso: Maschile
    Utente Junior
    00 11/10/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.
    [Modificato da cenz 11/10/2007 19:48]
  • OFFLINE
    fbcyborg
    Post: 33
    Registrato il: 08/10/2007
    Sesso: Maschile
    Vice Admin
    Utente Gold
    00 11/10/2007 20:40
    Pare ci sia qualche problema a scaricare il file.
    ______________________
    ^ThE CyBoRg^
  • OFFLINE
    cenz
    Post: 6
    Registrato il: 09/10/2007
    Sesso: Maschile
    Utente Junior
    00 11/10/2007 20:57
    Che tipo di problema? Se lo scarichi, la figura è venuta in fondo alla pagina del pdf. Scrolla
    [Modificato da cenz 11/10/2007 21:56]
  • OFFLINE
    fbcyborg
    Post: 35
    Registrato il: 08/10/2007
    Sesso: Maschile
    Vice Admin
    Utente Gold
    00 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
    ______________________
    ^ThE CyBoRg^
  • OFFLINE
    pma
    Post: 20
    Registrato il: 26/10/2006
    Sesso: Maschile
    Admin
    Utente Gold
    00 11/10/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.
  • OFFLINE
    cenz
    Post: 7
    Registrato il: 09/10/2007
    Sesso: Maschile
    Utente Junior
    00 11/10/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
  • OFFLINE
    cenz
    Post: 9
    Registrato il: 09/10/2007
    Sesso: Maschile
    Utente Junior
    00 13/10/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?
  • OFFLINE
    alberto_retilogiche
    Post: 1
    Registrato il: 10/10/2007
    Sesso: Maschile
    Utente Junior
    00 13/10/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.


  • OFFLINE
    pma
    Post: 28
    Registrato il: 26/10/2006
    Sesso: Maschile
    Admin
    Utente Gold
    00 13/10/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.