TKGate User Documention

|  | # TKGate 1.8 Copyright (C) 1987-2004 by Jeffery P. Hansen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

TkGate is a graphical editor and event-driven simulator for digital circuits with a tcl/tk-based interface. Supported circuit elements include basic gates (AND, OR, etc.), tri-state gates, adders, multipliers, registers, memories and mos transistors. Hierarchical design is also supported with support for user defined modules. Save files are based on the Verilog netlist format.

## Contents:

1. Preface and Introduction
2. Using the Editor

- 2.1 Understanding the TKGate Interface
- 2.2 Loading and Saving Circuits
- 2.3 TKGate Options
- 2.3 Basic Editing Tools
- 2.5 Creating Gates
- 2.6 Connecting Gates
- 2.7 Moving Gates and Wires
- 2.8 Editing Gate Properties
- 2.9 Editing Wire Properties
- 2.10 Using Modules
- 2.11 Searching for Gates and Wires
- 2.12 Hyperlinks
- 2.13 Printing a Schematic
- 2.14 Circuit Options
- 2.15 Popup Menus
- 2.16 Gate Types
- 2.17 Menu Summary
- 2.18 Edit-Mode Toolbar Summary

3. Using the Simulator/Analyzer

- 3.1 Starting the Simulator
- 3.2 Simulator Options
- 3.3 Observing the Output
- 3.4 Controlling the Input
- 3.5 Setting Breakpoints
- 3.6 Initializing Memories
- 3.7 Simulation Scripts
- 3.8 Using the Error Reporter
- 3.9 Gate Delay File
- 3.10 Critical Path Analysis

4. Gate Microcode and Assembly Compiler (gmac)
   - 4.1 Defining Memory Banks
   - 4.2 Defining the Micro-Instruction Set
   - 4.3 Writing the Micro-Program
   - 4.4 Defining the Macro-Instruction Set
   - 4.5 Writing the Macro-Program
   - 4.6 Gmac Input File Example

Last edit by hansen on Mon Jan 19 14:40:58 2004