# TKGate 2.1: редактор и симулятор цифровых электронных схем

© Jeffery P. Hansen, 1987-2015
© Андрей Скворцов, 2015-2018

Данная программа является свободным программным обеспечением. Вы вправе распространять ее и/или модифицировать в соответствии с условиями версии 2 либо по вашему выбору с условиями более поздней версии Стандартной Общественной Лицензии GNU, опубликованной Free Software Foundation.

Мы распространяем данную программу в надежде на то, что она будет вам полезной, однако НЕ ПРЕДОСТАВЛЯЕМ НА НЕЕ НИКАКИХ ГАРАНТИЙ, в том числе ГАРАНТИИ ТОВАРНОГО СОСТОЯНИЯ ПРИ ПРОДАЖЕ и ПРИГОДНОСТИ ДЛЯ ИСПОЛЬЗОВАНИЯ В КОНКРЕТНЫХ ЦЕЛЯХ. Для получения более подробной информации ознакомьтесь со Стандартной Общественной Лицензией GNU.

Вместе с данной программой вы должны были получить экземпляр Стандартной Общественной Лицензии GNU. Если вы его не получили, сообщите об этом в Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

TkGate - среда моделирования и симуляции цифровых электронных схем, состоящая из графического редактора с интерфейсом, основанным на tcl/tk и управляемого событиями симулятора. Поддерживаемыми элементами схем являются МОП-транзисторы, основные вентили (И, ИЛИ, исключающее ИЛИ), вентили с тремя состояниями, сумматоры, умножители, регистры и пямять. Поддерживаются иерархические проекты на основе модулей, определяемых пользователем. Сохраняемые файлы схем используют формат списка соединений Verilog.

## Содержание:

1. Введение в TkGate
   - 1.1 Запуск и параметры командной строки
   - 1.2 История TkGate
2. Using the Editor
   - 2.1 Интерфейс TKGate
   - 2.2 Загрузка и сохранение схем
   - 2.3 Использование библиотек
   - 2.4 Основные средства редактирования
   - 2.5 Свойства компонентов
   - 2.6 Свойтва проводников
   - 2.7 Подписи названий и разрядности проводников
   - 2.8 Поиск компонентов и проводников
   - 2.9 Использование HTML
   - 2.10 Печать схем
   - 2.11 Свойства схемы
3. Работа с модулями
   - 3.1 Реализации и экземпляры модулей
   - 3.2 Создание экземпляров модулей
   - 3.3 Иерархия модулей
   - 3.4 Создание модулей и управление ими
   - 3.5 Редактирование определений модулей
   - 3.6 Редактирование интерфейса модулей
4. Модули Verilog HDL
   - 4.1 Редактор Verilog
   - 4.2 Основы Verilog
   - 4.3 Типы данных
   - 4.4 Выражения
   - 4.5 Директивы компилятора
   - 4.6 Объявления модулей
   - 4.7 Модули списков соединений
   - 4.8 Поведенческие модули
   - 4.9 Параметры модулей
   - 4.10 Блоки Specify
5. Использование симулятора в TkGate
   - 5.1 Запуск симулятора
   - 5.2 Просмотр вывода
   - 5.3 Управление вводом
   - 5.4 Установка точек остановки
   - 5.5 Инициализация памяти
   - 5.6 Симуляционные скрипты
   - 5.7 Использование области сообщений об ошибках
   - 5.8 Файлы описания задержек
6. Компилятор микрокода и автокода (gmac)
   - 6.1 Определение банков памяти
   - 6.2 Определение набора микроопераций
   - 6.3 Написание микропрограммы
   - 6.4 Определение набора макроопераций
   - 6.5 Написание макропрограммы
7. Создание виртуальных периферийных устройств (ВПУ)
   - 7.1 Обзор разработки ВПУ
   - 7.2 Установка ВПУ
   - 7.3 Интерфейс на стороне Tcl
   - 7.4 Интерфейс на стороне Verilog
8. Настройка TkGate
   - 8.1 Общие настроки
   - 8.2 Настройки интерфейса
   - 8.3 Настройки панелей инструментов
   - 8.4 Настройки Verilog HDL
   - 8.5 Настройки печати
   - 8.6 Настройки симуляции
   - 8.7 Настройки библиотек
   - 8.8 Настройки безопасности
   - 8.9 Настройки цветов
   - 8.10 Настройки HTML
9. Библиотечные компоненты TkGate
   - 9.1 Терминал
   - 9.2 Автомат по продаже напитков
   - 9.3 Таймеры
   - 9.4 Микросхемы стандартной логики

##### Приложения

1. Список встроенных компонентов схем
2. Список системных задач
3. Список сообщений об ошибках симулятора
4. Использование симулятора Verga в автономном режиме
5. Образец входного файла Gmac