TkGate

Перейти к навигацииПерейти к поиску
TkGate
Логотип программы TkGate
Скриншот программы TkGate
TkGate 2.0.0
ТипРедактор и симулятор логических электронных схем
АвторJeffery P. Hansen
РазработчикJeffery P. Hansen
Написана наC, Tcl
ИнтерфейсTk, Xlib
Операционная система POSIX
Языки интерфейсаАнглийский, Испанский, Немецкий, Французский, Итальянский, Японский, Русский
Первый выпуск1987
Последняя версия2.0.0 (19 июня 2015; 9 лет назад (2015-06-19))
Кандидат в релизы2.0-rc3 (16 марта 2015; 9 лет назад (2015-03-16))
Бета-версия2.0-b10 (27 сентября 2009; 15 лет назад (2009-09-27))
Альфа-версия2.1-a1 (19 июня 2015; 9 лет назад (2015-06-19))
Репозиторийbitbucket.org/starling13…
Состояние активное
ЛицензияGNU GPL 2+
Сайтtkgate.org

TkGate — среда моделирования и симуляции цифровых электронных схем, состоящая из графического редактора с интерфейсом, основанным на tcl/tk и управляемого событиями симулятора. TkGate поддерживает большое количество готовых примитивов, от отдельных транзисторов и вентилей, до стандартных комбинационных и последовательных элементов логических схем. Кроме этого, поддерживается определение модулей в виде графических логических схем или Verilog описаний, а также библиотек модулей для создания сложных иерархических моделей с переиспользованием кода. В дистрибутив входят примеры схем и учебное руководство. Примеры включают 16-ти разрядный процессор, запрограммированный для запуска игры «Животные». Является свободным программным обеспечением, распространяемым на условиях GPL2.[1]

История TkGate

TkGate начинался, как студенческий проект Джеффри Хэнсена в Университете Карнеги — Меллон в 1987. В то время программа называлась просто gate и запускалась под управлением оконного менеджера wm, оконной системы разработанной в CMU прежде чем X11 стал широко использоваться. Данный вариант программы использовался студентами курса архитектуры компьютера в CMU для создания простого процессора под названием «The Bat Computer». Многие изображения элементов схем и курсоров (такие как разрезатель проводников), используемые в современной версии, изначально создавались ещё для gate. Эта версия также содержала скрытый рецепт блинов, который всё ещё присутствует в TkGate.

Пролежав несколько лет на полке, программа была воскрешена в 1991 и портирована для использования XLib. Эта версия была несколько раз использована студентами во вводном курсе цифровой логики, но после того, как автор выпустился из CMU вновь предана забвению.

xgate — предок TkGate, основанный на XLib

Работа над первой Tcl/Tk инкарнацией началась в 1998 как упражнение в изучении Tcl/Tk. Также, это была первая версия, которая использовала формат сохранения файлов, основанный на Verilog. Предыдущие версии gate/xgate использовали формат, похожий на Lisp.

Текущая разрабатываемая версия, TkGate 2.0, является значительным достижением по сравнению с последней версией первого поколения TkGate 1.8.7. В то время, как 1.8 состояла приблизительно из 73,000 строк на C и Tcl, TkGate 2.0 практически удвоил это количество (приблизительно 130,000). Основные нововведения в TkGate 2.0 включают значительно улучшенный и стандартизированный пользовательский интерфейс, корректный Verilog формат сохраняемых файлов (все метаданные являются комментариями Verilog), основанную на Verilog симуляцию, редактор интерфейса модулей, интерфейсы модулей в виде произвольных символов и написанные на Tcl/Tk виртуальные периферийные устройства.[2]

Возможности

TkGate позволяет проектировать цифровые электронные схемы в виде иерархического набора модулей.

Модули описываются на языке Verilog или в виде графических схем, включающих готовые компоненты-примитивы. Однако встроенные примитивы также имеют внутреннее представление на Verilog, поэтому графический способ описания схем является просто более удобным и наглядным способом добиться того же результата, что и при использовании чисто Verilog-схем. Встроенные примитивы включают:

  • стандартные вентили И, ИЛИ, исключающее ИЛИ, буфер, инвертор, буфер с тремя состояниями с возможностью инвертировани входов и выходов;
  • одновходовые вентили логической редукции;
  • «средние интегральные схемы», включающие распространённые комбинационные схемы дешифраторов, мультиплексоров, демультиплексоров.
  • элементы арифметико-логических устройств;
  • элементы памяти, такие как триггеры, регистры, модули ОЗУ и ПЗУ;
  • устройства ввода-вывода, используемые в интерактивных симуляциях (индикаторы и переключатели);
TkGate, выполняющий симуляцию 16-битного процессора с игрой «Животные» под управлением OpenBSD 5.6

Для более сложных интерактивных симуляций могут использоваться внешние виртуальные периферийные устройства, написанные на tcl/tk. Дистрибутив программы включает примеры таких устройств: генератор синхросигнала в реальном масштабе времени, терминал и интерфейсную часть автомата по продаже напитков.

Использование Verilog позволяет представлять цифровые схемы на различных уровнях абстракции:

  • транзисторных ключей;
  • логических вентилей;
  • регистровых передач;
  • поведенческом.

См. также

  • Qucs — интегрированный симулятор электронных схем

Примечания

  1. Страница проекта TkGate. Дата обращения: 3 февраля 2015. Архивировано 11 января 2015 года.
  2. Документация TkGate 2.0, история TkGate. Дата обращения: 3 февраля 2015. Архивировано из оригинала 6 марта 2016 года.

Ссылки