TkGate Home Page

English     Japaneseกสกห

by Jeffery P. Hansen (mail)

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.

Click on image to see full-size screenshot

TkGate Documentation

TkGate 1.6
TkGate 1.5
README for 1.6

TkGate Features:

  • Easy to use point-and-click user interface.
  • Customizable color configuration.
  • Intelligent placement and movement of wires.
  • Multi-bit buses.
  • Hierarchical design through user defined modules.
  • Six valued logic including 0, 1, floating, unknown, "low" and "high".
  • Wide range of circuit elements including:
    • Basic gates (AND, OR, etc.)
    • Switch-level NMOS and PMOS transistors
    • Tristate buffers
    • Alu components (Adders, shifters, multipliers)
    • Memory elements (Registers, RAMs, ROMs)
    • A "tty" element which allows the creation of interactive circuits.
  • Graphical display of simulation results.
  • Breakpoints, single-step and clock-step simulator control.
  • Includes a generic microcode/macrocode compiler for creating memory initialization files.
  • Simulations can be controlled through the GUI or through script files.
  • Verilog-like save file format.
  • Hyperlinks to move about in circuit or load other files.
  • Multi-lingual interface (English, Japanese, French, Spanish)
  • Supports static critical path analysis.

Downloads

TkGate 1.6i
Contributed Modules
TkGate 1.6g Binary RPM for Red Hat 6.x*
TkGate 1.6g Source RPM for Red Hat 6.x*
TkGate 1.6g Binary RPM for Red Hat 7.0/7.1*

Download and Installation Instructions:

See the README file for more detailed information if you have problems compiling.

Supported Platforms:

This program was developed and tested using FreeBSD. If you have problems on other Unix-like systems let me know. Due to dependancies on low-level xlib calls (in the main editing window), a port to Windows is unlikely in the near future.

TkGate has been tested on the following platforms:


Current Version:

Historical Versions

Known Bugs/Problems:


FAQ

  1. What save-file differences are there between between versions?
    For the most part, there are no differences between versions, except that new features may be occasionally added. In general a save file generated by an older version of tkgate will always be readable by a later version, but the reverse may not always be true. Save files generated by 1.5 and later can contain "technology" information which is unreadable by earlier versions unless the "default" technology is used for all gates. Save files created by 1.6 and later which contain D-FF circuit elements may not be readable by earlier versions. There was also a minor adjustment to the position of wires on "tap" circuit elements in version 1.6. These wire positions are automatically adjusted when reading old save files.
  2. There is a patch for the version I am using, how do I apply it?
    Use the "patch" command to apply it. "cd" to the directory above your tkgate distribution directory. And use the command:
        patch < patch-file-name
    
  3. Which patches should I use?
    If there are patches for a version of tkgate, they will appear in the a list immediately below the description of changes for that version. Be sure to apply only patches that are for the version you have. For example, if you are using version 1.6b, do not apply any patches for version 1.6. Patches for version 1.6b will have names of the form "tkgate-1.6b.patch?" where "?" is the number of the patch.

Credits:



You are visitor number:
Last modified: Tue Feb 5 12:03:23 EST 2002
Send comments and suggestions to hansen+@cmu.edu