Горицианский диалект
- 1 year ago
- 0
- 0
TkGate — среда моделирования и симуляции цифровых электронных схем, состоящая из графического редактора с интерфейсом, основанным на tcl/tk и управляемого событиями симулятора. TkGate поддерживает большое количество готовых примитивов, от отдельных транзисторов и вентилей, до стандартных комбинационных и последовательных элементов логических схем. Кроме этого, поддерживается определение модулей в виде графических логических схем или Verilog описаний, а также библиотек модулей для создания сложных иерархических моделей с переиспользованием кода. В дистрибутив входят примеры схем и учебное руководство. Примеры включают 16-ти разрядный процессор, запрограммированный для запуска игры «Животные». Является свободным программным обеспечением, распространяемым на условиях GPL2.
TkGate начинался, как студенческий проект в Университете Карнеги — Меллон в 1987. В то время программа называлась просто gate и запускалась под управлением оконного менеджера wm , оконной системы разработанной в CMU прежде чем X11 стал широко использоваться. Данный вариант программы использовался студентами курса архитектуры компьютера в CMU для создания простого процессора под названием «The Bat Computer». Многие изображения элементов схем и курсоров (такие как разрезатель проводников), используемые в современной версии, изначально создавались ещё для gate . Эта версия также содержала скрытый рецепт блинов, который всё ещё присутствует в TkGate.
Пролежав несколько лет на полке, программа была воскрешена в 1991 и портирована для использования . Эта версия была несколько раз использована студентами во вводном курсе цифровой логики, но после того, как автор выпустился из CMU вновь предана забвению.
Работа над первой 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-схем. Встроенные примитивы включают:
Для более сложных интерактивных симуляций могут использоваться внешние виртуальные периферийные устройства, написанные на tcl/tk. Дистрибутив программы включает примеры таких устройств: генератор синхросигнала в реальном масштабе времени, терминал и интерфейсную часть автомата по продаже напитков.
Использование Verilog позволяет представлять цифровые схемы на различных уровнях абстракции: