En abril hubo un seminario de Rosnanov sobre circuitos modernos para escolares del tipo olimpiada . Después de él, un grupo de organizadores se reunió en el vestíbulo y se preguntó durante mucho tiempo cómo hacer que el tema sea más interesante y útil al mismo tiempo. Para ingresar a Verilog y FPGA, por ejemplo, en el formato de los Juegos Olímpicos de NTI. Se decidió abandonar las tareas matemáticamente interesantes, pero algo abstractas para el alumno, como los protocolos de coherencia de caché en sistemas multiprocesador. Además, la idea de un invernadero automático con sensores no era muy entusiasta, ya que se implementó cientos de veces en arduino y STM32, y los FPGA no agregan nada interesante a los invernaderos.
Y de repente, ¡Eureka! Y si realizamos concursos en juegos gráficos hechos en circuitos puros, sin programación, como nuestros antepasados hicieron juegos como Pin-Pong en los días de Brezhnev y Carter. Y para llevar a cabo no en los antiguos chips K561, sino en los modernos Xilinx y Altera (es decir, Intel FPGA) y utilizando las mismas tecnologías de diseño a nivel de transferencias de registros que los diseñadores usan en Apple, Intel y SpaceX.
En resumen, trataremos esto del 8 al
26 de julio en una escuela de verano en Zelenograd . Parte de la escuela, cuyo plan se discutirá en esta publicación, está dedicada a los conceptos básicos de los circuitos digitales, los primeros pasos en la arquitectura y la microarquitectura de los procesadores, así como (incluso en su mayoría) gráficos de computadora de hardware.
Intentaré llevar a mi hija Elizabeth, estudiante, a Zelenograd como asistente si recibe un pasaporte y una visa rusa a tiempo. Elizabeth, siendo rusa-ucraniana-japonesa, solo habla inglés. Aquí en Zelenograd y aprender los conceptos básicos de ruso. Y al mismo tiempo, enseñará la pronunciación correcta en inglés de los instructores que están listos para ayudar en la escuela (opcional desde MIET, es posible desde MIPT, MSU, MEPhI):

Hoy hice un ejemplo para la escuela: el juego de tanchiki. Tomé la mayor parte del código de un
ejemplo en el libro Designing Video Game Hardware in Verilog de Steven Hugg, 15 de diciembre de 2018 . Stephen Hugg mostró el código en un simulador hermoso pero no industrial. Creo que aprender en un simulador de este tipo es como oler flores en una máscara de gas, así que sinteticé el código y vertí la configuración resultante en hierro real: una
placa ZEOWAA china barata . Para hacer esto, tuve que reescribir la generación de escaneo VGA, sintetizar el código y eliminar algunas irregularidades metodológicas en el uso de señales de reloj.
Publiqué el resultado en GitHub .
Así es como se ve en el simulador Steven Hugg:

Esto es lo que parece en mi primera aproximación, después de combinar mecánicamente el envoltorio para la placa, el generador de escaneo y el código Stephen, así como arreglar todas las pequeñas cosas que no funcionan en Intel FPGA Quartus Lite Edition, síntesis y relleno:
Pero el campamento no solo se tratará de juegos con generación de escaneo VGA, ROM, sprites, etc. También cruzaremos esto con los procesadores. Comparar la implementación de juegos en máquinas de estados finitos de hardware con la implementación de hardware y software. Para esto, usamos el núcleo del procesador educativo schoolMIPS, que se describe en las
publicaciones de Stanislav Zhelnio en Habr y el
wiki schoolMIPS en GitHub .
Incluso puede usar el núcleo de capacitación de schoolMIPS para demostrar cómo diseñar marcadores en procesadores. No discutiremos si existen marcadores en el procesador de la computadora en su escritorio, en su teléfono o automóvil. Le mostraremos cómo se pueden diseñar. Ejemplo de marcador: una máquina de estado de hardware monitorea el contenido de los registros arquitectónicos durante la ejecución del programa, y cuando aparece el texto "Cielo despejado sobre todo España" en ellos, cambia el procesador al modo privilegiado. El texto puede provenir de un programa de usuario, como un cliente de correo electrónico.
¿Es posible detectar dicho marcador con el software antivirus? No El software no ve esto en absoluto hasta que sucede. ¿Es posible detectar examinando el microcircuito bajo un microscopio electrónico? No, hay miles de millones de transistores en un procesador industrial, incluso en arduino, cientos de miles. Incluso si tiene a mano la fuente del procesador, puede ocultar mucho en decenas-cientos de miles o millones de líneas en el veril, especialmente si diferentes partes del procesador cumplen con partes de un plan ingeniosamente pensado.
Incluso puede organizar un concurso cuando un equipo crea un marcador y el otro lo encuentra.

Cualquier estudiante que haya completado tres módulos del curso teórico en línea de RUSNANO con una visión general de los métodos modernos de diseño de microcircuitos (todo esto es gratis e incluso con la entrega de premios) puede participar en la escuela de verano en Zelenograd:
- Del transistor al microcircuito
- El lado lógico de los circuitos digitales.
- El lado físico de los circuitos digitales.
Programa del curso preliminar: se agradece la discusión al respecto:
Semana 1. Conceptos básicos de la lógica digital.
Día 1. Microcircuitos con un pequeño grado de integración, ejercicios con lógica combinatoria.
Día 2. Microcircuitos con un pequeño grado de integración, ejercicios con lógica secuencial.
Día 3. FPGA, ejercicios con botones, interruptores, LED, indicador de siete segmentos.
Día 4. FPGA, salida de formas geométricas a VGA.
Día 5. FPGA, una máquina de estado para jugar tanques, carreras o Angry Birds.
Semana 2. Procesador
Día 1. Programación en lenguaje ensamblador.
Día 2. Procesador de un ciclo de la escuela MIPS.
Día 3. Integración del procesador con la conclusión de formas geométricas en VGA.
Día 4. Conferencia sobre interrupciones y multitarea. Proyecto individual: un videojuego programado en el procesador con salida a VGA.
Día 5. Conferencia sobre el transportador. Concurso de proyectos individuales.
Semana 3. Radio programable. El programa de bloques consta de tres partes principales:
- Los fundamentos de la electrodinámica y la propagación de ondas de radio (parte teórica);
- El principio de funcionamiento de la ruta del transceptor (teoría y práctica);
- Los fundamentos del procesamiento de señales digitales: filtrado, análisis espectral (teoría y práctica).
Día 1. Fundamentos teóricos de la electrodinámica y la propagación de ondas de radio. El diagrama estructural de la ruta de transmisión, las funciones de los componentes. Señales (armónicas, rectangulares). Práctica de señales usando NI Elvis.
Día 2. Transferencia de señales a una frecuencia alta. Justificación matemática para la transferencia de frecuencia usando Matlab. Ejercicio práctico en transferencia de frecuencia usando NI Datex.
Día 3. Amplificación y emisión de señales. Practique usando NI Datex. Demostración de la directividad de las antenas.
Día 4. Filtrando la señal. Practique usando NI Datex. Filtrado digital de señales en Matlab
Día 5. Transferencia de señales a baja frecuencia. Practique usando NI Datex. Resumiendo el material cubierto, resumiendo.
Por cierto, muchos de los materiales de Stephen Hugg, de los cuales miro información sobre sprites, etc., provienen del antiguo procesador de video TMS9918 de Texas Instruments, que estaba ubicado en la computadora japonesa Yamaha MSX, que el gobierno de Gorbachov importó para computarizar las escuelas soviéticas. Cuando yo mismo era un escolar, no era trivial incluso administrar este procesador de video desde el programa ensamblador que se ejecuta en el procesador Zilog Z80 principal, y diseñar este procesador de video en general. Debido al avance en la tecnología de automatización de diseño electrónico (EDA), esto ha sido posible para los estudiantes modernos e incluso es útil para enseñar el diseño de chips modernos (libro de Stephen Hugg - 2018).
Pero para los escolares soviéticos ahora canosos, ¿recuerdas este juego en Yamaha?
Sobre la automatización del diseño electrónico. Además del campamento para escolares, aquí Elizabeth y yo estamos ayudando a realizar un seminario sobre temas similares para adultos,
pero no en Zelenograd, sino en Las Vegas, en la Conferencia de Automatización de Diseño - DAC , y no con educación, sino con procesadores industriales, y no con gráficos, y con un coprocesador para IA. Tal seminario es un próximo paso natural para los estudiantes que irán a la escuela en Zelenograd y luego estudiarán en MIET, MEPhI, Instituto de Física y Tecnología de Moscú, HSE MIEM, Universidad Estatal de Moscú, ITMO, LETI, SSAU, NSTU y otras universidades que enseñan elementos de ruta de diseño de microcircuito RTL to-GDSII, arquitectura de computadoras y laboratorios de síntesis para FPGA / FPGA.
