PuertaTk | |
---|---|
| |
Tipo de | Editor y simulador de circuitos electrónicos lógicos |
Autor | jeffery p. hansen |
Desarrollador | jeffery p. hansen |
Escrito en | C , TCL |
Interfaz | Tk , Xlib |
Sistema operativo | POSIX |
Idiomas de la interfaz | Inglés, español, alemán, francés, italiano, japonés, ruso |
Primera edición | 1987 |
ultima versión | 2.0.0 (19 de junio de 2015 ) |
candidato de lanzamiento | 2.0-rc3 (16 de marzo de 2015 ) |
versión beta | 2.0-b10 (27 de septiembre de 2009 ) |
versión alfa | 2.1-a1 (19 de junio de 2015 ) |
Estado | activo |
Licencia | GNU GPL 2+ |
Sitio web | tkgate.org |
TkGate es un entorno de modelado y simulación de circuitos electrónicos digitales, compuesto por un editor gráfico con una interfaz basada en tcl/tk y un simulador controlado por eventos. TkGate admite una gran cantidad de primitivas listas para usar, desde transistores y puertas individuales hasta elementos de circuitos lógicos seriales y combinacionales estándar. Además, admite la definición de módulos en forma de diagramas lógicos gráficos o descripciones de Verilog , así como bibliotecas de módulos para crear modelos jerárquicos complejos con reutilización de código. La distribución incluye circuitos de ejemplo y un tutorial. Los ejemplos incluyen un procesador de 16 bits programado para ejecutar un juego de animales. Es software libre distribuido bajo los términos de GPL2. [una]
TkGate comenzó como un proyecto estudiantil de Jeffrey Hansen en la Universidad Carnegie Mellon en 1987. En ese momento, el programa simplemente se llamaba gate y se ejecutaba bajo el administrador de ventanas wm , un sistema de ventanas desarrollado en CMU antes de que X11 se usara ampliamente. Esta versión del programa fue utilizada por estudiantes del curso de arquitectura de computadoras en CMU para crear un procesador simple llamado "The Bat Computer". Muchas de las imágenes esquemáticas y de cursor (como el cortador de alambre) utilizadas en la versión moderna se crearon originalmente para gate . Esta versión también contenía una receta de panqueques oculta que todavía está en TkGate.
Después de permanecer en un estante durante varios años, el programa resucitó en 1991 y se transfirió para usar XLib . Esta versión fue utilizada varias veces por estudiantes en un curso introductorio de lógica digital, pero después de que el autor se graduó de CMU, fue nuevamente olvidada.
El trabajo sobre la primera encarnación de Tcl / Tk comenzó en 1998 como un ejercicio de aprendizaje de Tcl/Tk. Además, fue la primera versión en utilizar un formato de guardado de archivos basado en Verilog. Las versiones anteriores de gate/xgate usaban un formato similar a Lisp .
La versión de desarrollo actual, TkGate 2.0, es un avance significativo sobre la última versión de primera generación de TkGate 1.8.7 . Mientras que 1.8 tenía alrededor de 73.000 líneas de C y Tcl , TkGate 2.0 casi duplicó ese número (alrededor de 130.000). Las innovaciones clave en TkGate 2.0 incluyen una interfaz de usuario significativamente mejorada y estandarizada, formato de archivo de guardado correcto de Verilog (todos los metadatos son comentarios de Verilog), simulación basada en Verilog, editor de interfaz de módulo, interfaces de módulo de caracteres arbitrarios y periféricos virtuales escritos en Tcl/Tk . . [2]
TkGate le permite diseñar circuitos electrónicos digitales como un conjunto jerárquico de módulos.
Los módulos se describen en el lenguaje Verilog o en forma de diagramas gráficos que incluyen componentes primitivos listos para usar. Sin embargo, las primitivas integradas también tienen una representación interna en Verilog, por lo que la forma gráfica de describir circuitos es simplemente una forma más conveniente y visual de lograr el mismo resultado que usando circuitos Verilog puros. Las primitivas incorporadas incluyen:
Para simulaciones interactivas más complejas, se pueden usar periféricos virtuales externos escritos en tcl/tk. El kit de distribución del programa incluye ejemplos de tales dispositivos: un generador de reloj en tiempo real, una terminal y una parte de interfaz de la máquina expendedora de bebidas.
El uso de Verilog le permite representar circuitos digitales en varios niveles de abstracción: