Le 29 mars, un ingénieur nommé Gerard Williams III a démissionné d'Apple. Cette nouvelle a été immédiatement publiée par CNET et trois douzaines d'autres publications à travers le monde, non seulement techniques, mais aussi financières. Qu'est-ce que cet ingénieur a fait pour que son départ suscite l'enthousiasme des spéculateurs boursiers? Il avait conçu des processeurs dans l'iPhone d'Apple pendant 9 ans, avant de travailler dans ARM pendant 12 ans, avant de concevoir des DSP à Texas Instruments, et avant de développer des circuits FPGA à Intel. Dans tous les endroits, il a utilisé la technologie de conception au niveau des transferts de registres, en utilisant les langages de description matérielle Verilog et VHDL.
Des exemples plus proches de la Russie? Sur la photo de droite: Ilya Neganov, une Moscovite de 25 ans, a pris un livre Harris & Harris en 2011 (dont la dernière version peut être téléchargée
ici ou
ici ), a conçu un processeur simple, fonctionne maintenant chez Apple, conçoit sur un GPU veril, vole sur un avion le week-end. Ci-dessous, quelques jeunes mariés de Saint-Pétersbourg qui ont conçu un appareil photo et un traitement d'image FPGA à partir d'un appareil photo et ont reçu un prix au concours Innovate FPGA. Ils ont passé leur lune de miel au siège d'Intel à Santa Clara. Ensuite, des camarades de Kiev, dont deux ont remporté le bronze à la finale européenne Innovate FPGA. Et enfin, deux écoliers, de 5e et 9e année, qui font leurs premiers exercices avec des microcircuits d'un petit degré d'intégration sur la planche à pain, puis procèdent à des exercices sur le veril et le FPGA.
Ce sont cinq points sur la trajectoire de l'élève à Gérard Williams le Troisième. La trajectoire est plutôt lourde, car la barrière initiale à l'entrée dans la conception de microcircuits numériques est plus élevée qu'à l'entrée dans la programmation. Dans cet article, nous parlerons de la façon de faciliter la section initiale de la trajectoire pour les étudiants russes et autres.

Au cours de ces deux semaines, un groupe de collègues de RUSNANO, Wave Computing, MIET, IVA Technologies, HSE MIEM, Amperka, Publishing House DMK-Press organise l'événement suivant: Tout d'abord, les étudiants suivent un cours théorique en ligne (parties
du transistor au microcircuit ,
le côté logique du numérique) circuits " ,
" Le côté physique des circuits numériques " ), sur lequel ils se familiarisent avec la route dite RTL2GDSII - un groupe de technologies que les ingénieurs utilisent dans les entreprises électroniques pour concevoir des puces. Ensuite, nous réalisons
des cours pratiques avec des circuits logiques reconfigurables FPGA . De cette façon, par exemple, il enseigne le MIT dans le cours 6.111, mais nous l'essayons sous une forme très basique pour les écoliers de type olympiade.
Le cours théorique est important afin de ne pas passer de temps sur un cours pratique expliquant la théorie du design au niveau des transferts de registres, mais simplement passer trois soirées deux heures à jouer avec des cartes FPGA, que vous pourrez ensuite emporter avec vous. En outre, un cours théorique relie les exercices FPGA aux produits de masse qui utilisent des puces ASIC.
Le cours pratique sera une autre expérience (les précédentes ont été menées par différents enseignants à Nijni Novgorod, Kiev, Alma-Ata, Kazakhstan, Minsk, Novossibirsk, Tomsk et Irkutsk) pour comprendre comment rendre les exercices avec Verilog et FPGA intéressants et utiles pour les débutants.
Vaut-il la peine de faire des exercices avec des FPGA avec des microcircuits avec un faible degré d'intégration? Il y a différentes opinions à ce sujet: Ilya Kudryavtsev, doyen de l'Université de Samara, pense que cela ne vaut pas la peine, il vaut mieux donner immédiatement les dernières technologies en 2019, plutôt que l'ancien CMOS 4000 sur une planche à pain qui était pertinente il y a 50 ans. Stanislav Zhelnio, ingénieur en conception de puces électroniques chez IVA Technologies, pense que cela en vaut la peine, car sinon les étudiants perçoivent les FPGA comme un autre microcontrôleur comme Arduino, mais simplement avec un étrange langage de programmation Verilog. En fait, un étudiant ou un étudiant doit immédiatement comprendre clairement que le vérilogue décrit le schéma, et non le programme (la chaîne d'instructions), et les exercices avec le CMOS 4000 aident à définir l'image correcte dans le cerveau.
Si vous écrivez sur Verilog, comme s'il s'agissait d'un programme, pas d'un circuit, alors le code fonctionnera sur le simulateur, mais ne sera pas synthétisé, et même s'il est synthétisé, vous obtiendrez un schéma fou (en termes de timing ou de taille).
Par conséquent, l'une des approches ressemble à ceci: concevoir le circuit sur des microcircuits d'un petit degré d'intégration (compteurs, registres à décalage, additionneurs, décodeurs), puis le répéter sur un veril, synthétiser et enregistrer dans le FPGA.
Certains disent: pourquoi ne pas dessiner un schéma du FPGA avec la souris sur l'écran (entrée schématique) et le saisir dans le FPGA avant de faire des exercices sur le veril? L'approche souris présente trois inconvénients:
- Cela nécessite un logiciel d'apprentissage, qui prend plus de temps que de simplement coller des composants dans une planche à pain.
- L'expérience d'une LED soufflée ou d'une entrée flottante sans résistance de rappel sur une planche à pain est plus précieuse qu'une expérience stérile dans une entrée schématique.
- Les concepteurs de logique numérique n'ont pas utilisé une entrée schématique depuis le début des années 1990; tout le monde écrit sur le veril, parfois sur VHDL.
Oui, les CMOS 4000 et 74XX étaient obsolètes dans les années 1970, ils ont été remplacés par PAL, GAL, PLD, puis des puces intégrées. Par conséquent, dans les années 1970, ils étaient utilisés dans des tasses pour enfants, et dans les années 1980, ils sont passés de mode, car ils ont cessé de payer des salaires pour leur capacité à les utiliser, mais personne n'a depuis trouvé comment démontrer plus clairement, par exemple, la fonction de déclencheur D, donc en tant que prequel de FPGA / FPGA, ils peuvent être appliqués. Le MIT fait de même -
voir le Lab # 1 ici .
Après des exercices avec des microcircuits de faible degré d'intégration et leurs équivalents sur le vif sur les FPGA, vous pouvez compliquer les tâches et faire sur un FPGA ce qu'il a fallu des dizaines, des centaines ou des milliers de microcircuits de petit degré d'intégration, dont je parlerai plus tard.
Voici un exemple de logique combinatoire, un encodeur prioritaire, sur des microcircuits à faible degré d'intégration:
Et voici à quoi ressemble cet encodeur prioritaire dans le langage de description du matériel 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, , , , .
