TallerSeverino escribió:McLeod, ese software es mucho más complejo de lo que tenía en mente...
Es que es un entorno de desarrollo completo. Y eso que es la versión gratuita. Ni idea de cómo será con el ModelSIM (que te permite meter un analizador lógico construido en la propia FPGA que vas a testear), o con el sistema de desarrollo para MicroBlaze (un microcontrolador que existe como código sintetizable en una FPGA, pero que una vez metido dentro de ella, puedes meterle programas compilados con un compilador de C que trae, o en ensamblador mismo).
Este es el editor, cuando escribo en Verilog (Verilog es el lenguaje, no el nombre de la aplicación)

Seguramente podreis reconocer algunas construcciones. Parte de lo que se ve aquí usa descripción RTL (sobre todo la parte en la que uso circuitos 74HCloquesea y los conecto a cables) y parte es descripción mixta RTL/comportamiento (la parte de abajo, donde se ve cómo funcionan los jumpers para elegir PAL o NTSC. En estos jumpers uso un operador que es análogo al operador ternario de C: (a)? b : c . Esto se traduce en que la expresión vale "b" si "a" es cierto, en otro caso, vale "c". Es una construcción muy usada para implementar multiplexores. Un jumper con dos posiciones no es más que un multiplexor en donde la entrada de control es nuestra mano que cambia el jumper de sitio.
Cuando simulo el circuito, puedo moverme a izquierda y derecha por el cronograma. Puedo añadir señales (están a la izquierda), agruparlas (por ejemplo, todas las de la ROM, todas las de la SRAM, etc) para mostrarlas u ocultarlas según me convenga, añadir cursores para medir tiempos, etc. Aquí estoy trabajando con una resolución de 20ps (las marcas pequeñas, las grandes están a 200ps). Lo que se ve es un ciclo de bus de búsqueda de instrucción (dos ciclos de reloj para leer la instrucción, y otros dos para el ciclco de refresco). El cursor amarillo está puesto en el instante justo en que el Z80 captura el dato de la ROM.

En la imagen anterior se observa un glitch (arriba a la derecha) en el valor del contador HC al pasar de 127 a 128. Puedo hacer zoom sobre esa parte del cronograma hasta tener una resolución de 1ps y ver cómodamente qué valores va tomando HC hasta que se estabiliza. El glitch está enmarcado por los dos cursores, que me dan su duración: 56 ns.

-- Actualizado 21 Abr 2013, 13:01 --
jepalza escribió:Yo no puedo ponerme a hacer mas cosas al invento, estoy preparando el viaje a Polonia, salgo esta tarde a las 15:00 y vuelvo el jueves noche. Hasta el Viernes tarde no puedo hacer nada mas.
Me sacaréis ventaja en estos cinco días.

(os seguiré desde el hotel por las tardes-noches)
¡Suerte con el tema! Yo aún no lo he montado del todo. Me faltan unos cuantos chips. Me da a mi que al final cogeré y pondré una CPLD en lugar de los chips que me faltan (o de toda la circuitería de control de video) a ver qué pasa
