29 de marzo, un ingeniero llamado Gerard Williams III renunció a Apple. Esta noticia fue publicada inmediatamente por CNET y otras tres docenas de publicaciones en todo el mundo, no solo técnicas, sino también financieras. ¿Qué hizo este ingeniero que su partida causó entusiasmo entre los especuladores de acciones? Había estado diseñando procesadores en el iPhone de Apple durante 9 años, antes había trabajado en ARM durante 12 años, antes había estado diseñando DSP en Texas Instruments, y antes había estado desarrollando circuitos FPGA en Intel. En todos los lugares utilizó tecnología de diseño a nivel de transferencias de registros, utilizando lenguajes de descripción de hardware Verilog y VHDL.
¿Ejemplos más cercanos a Rusia? En la foto de la derecha: Ilya Neganov, un moscovita de 25 años, tomó un libro de Harris & Harris en 2011 (la última versión se puede descargar
aquí o
aquí ), diseñó un procesador simple, ahora funciona en Apple, diseña en un GPU, vuela en un avión los fines de semana. A continuación hay un par de recién casados de San Petersburgo que diseñaron el procesamiento de imágenes de cámara y FPGA desde una cámara y recibieron un premio en el concurso Innovate FPGA. Pasaron su luna de miel en la sede de Intel en Santa Clara. A continuación, camaradas de Kiev, dos de los cuales ganaron el bronce en las finales europeas Innovate FPGA. Y finalmente, dos escolares, de los grados 5 y 9, que hacen sus primeros ejercicios con microcircuitos de un pequeño grado de integración en el tablero, y luego proceden a los ejercicios en el veril y FPGA.
Estos son cinco puntos en la trayectoria del estudiante a Gerard Williams el tercero. La trayectoria es bastante pesada, ya que la barrera inicial para ingresar al diseño de microcircuitos digitales es mayor que para ingresar a la programación. En esta publicación hablaremos sobre cómo facilitar la sección inicial de la trayectoria para los estudiantes rusos y otros.

En estas dos semanas, un grupo de colegas de RUSNANO, Wave Computing, MIET, IVA Technologies, HSE MIEM, Amperka, Publishing House DMK-Press realiza el siguiente evento: Primero, los estudiantes toman un curso teórico en línea (partes
del transistor al microcircuito ,
el lado lógico de lo digital circuitería " ,
" El lado físico de la circuitería digital " ), en la que se familiarizan con la llamada ruta RTL2GDSII, un grupo de tecnologías que los ingenieros utilizan en compañías electrónicas para diseñar chips. Luego realizamos
clases prácticas con circuitos lógicos reconfigurables FPGA . De esta manera, por ejemplo, enseña MIT en el curso 6.111, pero lo intentamos en una forma muy básica para escolares del tipo de olimpiada.
El curso teórico es importante para no perder tiempo en un curso práctico que explique la teoría del diseño a nivel de transferencias de registros, sino simplemente pasar tres tardes y dos horas jugando con tarjetas FPGA, que luego puede llevar con usted. Además, un curso teórico vincula los ejercicios de FPGA con productos en masa que usan chips ASIC.
El curso práctico será otro experimento (los anteriores fueron realizados por diferentes maestros en Nizhny Novgorod, Kiev, Alma-Ata, Kazajstán, Minsk, Novosibirsk, Tomsk e Irkutsk) para descubrir cómo hacer que los ejercicios con Verilog y FPGA sean interesantes y útiles para principiantes.
¿Vale la pena hacer ejercicios con FPGAs con microcircuitos con un pequeño grado de integración? Hay diferentes opiniones sobre este asunto: Ilya Kudryavtsev, decano de la Universidad de Samara, cree que no vale la pena, es mejor dar de inmediato la última tecnología en 2019, en lugar de la antigua CMOS 4000 en una placa que era relevante hace 50 años. Stanislav Zhelnio, ingeniero de diseño de neurochip en IVA Technologies, cree que vale la pena, porque de lo contrario los estudiantes perciben los FPGA como otro microcontrolador como Arduino, pero simplemente con un extraño lenguaje de programación Verilog. De hecho, un estudiante o estudiante debe darse cuenta inmediatamente de que el verilogue describe el esquema, no el programa (la cadena de instrucciones), y los ejercicios con el CMOS 4000 ayudan a establecer la imagen correcta en el cerebro.
Si escribe en Verilog, como si fuera un programa, no un circuito, el código funcionará en el simulador, pero no se sintetizará, e incluso si se sintetizará, obtendrá un esquema loco (en términos de tiempo o tamaño).
Por lo tanto, uno de los enfoques se ve así: diseñar el circuito en microcircuitos de un pequeño grado de integración (contadores, registros de desplazamiento, sumadores, decodificadores), luego repetirlo en un veril, sintetizar y registrar en el FPGA.
Algunos dicen: ¿por qué no dibujar un diagrama para el FPGA con el mouse en la pantalla (entrada esquemática) e ingresarlo en el FPGA antes de hacer ejercicios en el veril? El enfoque del mouse tiene tres inconvenientes:
- Requiere software de aprendizaje, que lleva más tiempo que simplemente pegar componentes en una placa de pruebas.
- La experiencia de un LED fundido o una entrada flotante sin una resistencia pull-up en una placa de pruebas es más valiosa que una experiencia estéril en una entrada esquemática.
- Los diseñadores de lógica digital no han usado una entrada esquemática desde principios de la década de 1990; todos escriben en veril, a veces en VHDL.
Sí, CMOS 4000 y 74XX estaban desactualizados en la década de 1970, fueron reemplazados por PAL, GAL, PLD y luego chips integrados. Por lo tanto, en la década de 1970 se usaron en tazas para niños, y en la década de 1980 pasaron de moda, porque dejaron de pagar salarios por su capacidad para usarlos, pero desde entonces nadie ha descubierto cómo demostrar con mayor claridad, por ejemplo, la función D-trigger. como precuela de FPGA / FPGA se pueden aplicar. MIT hace lo mismo:
vea el Laboratorio n. ° 1 aquí .
Después de los ejercicios con microcircuitos de pequeño grado de integración y sus equivalentes al veril en los FPGA, puede complicar las tareas y hacer en un FPGA lo que tomó docenas, cientos o miles de microcircuitos de pequeño grado de integración, que discutiremos más adelante.
Aquí hay un ejemplo de lógica combinacional, un codificador de prioridad, en microcircuitos con un pequeño grado de integración:
Y así es como se ve este codificador de prioridad en el lenguaje de descripción de hardware de Verilog:
module priority_encoder
(
input [2:0] in,
output reg [1:0] out
);
always @*
begin
casez (in)
3'b1?? : out = 2'd1;
3'b01? : out = 2'd2;
3'b001 : out = 2'd3;
default : out = 2'd0;
endcase
end
endmodule
, , :
:

-:
, SPI, I2C, UART , , , VGA. FPGA :
, .VGA , .

— 7- , , 4x4, ( ), ( ).
-
c , ,
Hacker's Delight.
, , .
schoolMIPS.
-
17-19 . , — RUSNANO USA. , 3000 Sand Hill Road -. - Apple, Google Amazon.
- . , RTL2GDSII, , , , .
