Interested Article - TkGate

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

История TkGate

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

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

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

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

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

Возможности

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

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

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

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

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

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

См. также

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

Примечания

  1. . Дата обращения: 3 февраля 2015. 11 января 2015 года.
  2. . Дата обращения: 3 февраля 2015. Архивировано из 6 марта 2016 года.

Ссылки

Источник —

Same as TkGate