TkGate | |
---|---|
| |
Tip de | Editor și simulator de circuite electronice logice |
Autor | Jeffery P. Hansen |
Dezvoltator | Jeffery P. Hansen |
Scris in | C , TCL |
Interfață | Tk , Xlib |
Sistem de operare | POSIX |
Limbi de interfață | engleză, spaniolă, germană, franceză, italiană, japoneză, rusă |
Prima editie | 1987 |
ultima versiune | 2.0.0 (19 iunie 2015 ) |
eliberarea candidatului | 2.0-rc3 (16 martie 2015 ) |
versiune beta | 2.0-b10 (27 septembrie 2009 ) |
versiunea alfa | 2.1-a1 (19 iunie 2015 ) |
Stat | activ |
Licență | GNU GPL 2+ |
Site-ul web | tkgate.org |
TkGate este un mediu pentru modelarea și simularea circuitelor electronice digitale, constând dintr-un editor grafic cu o interfață bazată pe tcl/tk și un simulator bazat pe evenimente. TkGate acceptă un număr mare de primitive gata făcute, de la tranzistori și porți individuale până la elemente de circuite logice combinaționale și seriale standard. În plus, acceptă definirea modulelor sub formă de diagrame logice grafice sau descrieri Verilog , precum și biblioteci de module pentru crearea de modele ierarhice complexe cu reutilizare a codului. Distribuția include exemple de circuite și un tutorial. Exemplele includ un procesor pe 16 biți programat pentru a rula un joc Animals. Este un software gratuit distribuit sub termenii GPL2. [unu]
TkGate a început ca un proiect studentesc al lui Jeffrey Hansen la Universitatea Carnegie Mellon în 1987. La acea vreme, programul se numea pur și simplu gate și rula sub wm window manager , un sistem de ferestre dezvoltat la CMU înainte ca X11 să fie utilizat pe scară largă. Această versiune a programului a fost folosită de studenții cursului de arhitectură computerizată de la CMU pentru a crea un procesor simplu numit „The Bat Computer”. Multe dintre imaginile schematice și ale cursorului (cum ar fi tăietorul de sârmă) utilizate în versiunea modernă au fost create inițial pentru poartă . Această versiune conținea și o rețetă de clătite ascunsă care este încă pe TkGate.
După ce a stat pe un raft timp de câțiva ani, programul a fost reînviat în 1991 și portat pentru a utiliza XLib . Această versiune a fost folosită de mai multe ori de către studenți la un curs introductiv de logică digitală, dar după ce autorul a absolvit CMU, a fost din nou uitată.
Lucrarea la prima încarnare Tcl / Tk a început în 1998 ca un exercițiu de învățare a Tcl/Tk. De asemenea, a fost prima versiune care a folosit un format de salvare a fișierelor bazat pe Verilog. Versiunile anterioare ale gate/xgate foloseau un format asemănător Lisp .
Versiunea de dezvoltare actuală, TkGate 2.0, reprezintă un progres semnificativ față de cea mai recentă versiune de primă generație a TkGate 1.8.7 . În timp ce 1.8 avea aproximativ 73.000 de linii de C și Tcl , TkGate 2.0 aproape a dublat acest număr (aproximativ 130.000). Inovațiile cheie în TkGate 2.0 includ o interfață de utilizator îmbunătățită și standardizată semnificativ, formatul fișierului de salvare corect Verilog (toate metadatele sunt comentarii Verilog), simularea bazată pe Verilog, editorul de interfețe de modul, interfețele modulului de caractere arbitrare și periferice virtuale scrise în Tcl/Tk . . [2]
TkGate vă permite să proiectați circuite electronice digitale ca un set ierarhic de module.
Modulele sunt descrise în limbajul Verilog sau sub formă de diagrame grafice care includ componente primitive gata făcute. Cu toate acestea, primitivele încorporate au și o reprezentare internă în Verilog, astfel încât modul grafic de descriere a circuitelor este pur și simplu o modalitate mai convenabilă și mai vizuală de a obține același rezultat ca și utilizarea circuitelor Verilog pure. Primitivele încorporate includ:
Pentru simulări interactive mai complexe, pot fi folosite periferice virtuale externe scrise în tcl/tk. Setul de distribuție al programului include exemple de astfel de dispozitive: un generator de ceas în timp real, un terminal și o parte de interfață a automatului de băuturi.
Utilizarea Verilog vă permite să reprezentați circuite digitale la diferite niveluri de abstractizare: