Zirkeltrainingslager für Panzer und Prozessoren

Im April gab es ein Rosnanov-Seminar über moderne Schaltkreise für Schüler vom Typ Olympiade . Nach ihm versammelte sich eine Gruppe von Organisatoren in der Lobby und überlegte lange, wie man das Thema gleichzeitig interessanter und nützlicher machen könnte. Verilog und FPGA beispielsweise im Format der NTI-Olympischen Spiele eingeben. Es wurde beschlossen, das mathematisch interessante, aber etwas abstrakte für die Schüleraufgaben wie Cache-Kohärenzprotokolle in Multiprozessorsystemen aufzugeben. Auch die Idee eines automatischen Gewächshauses mit Sensoren war nicht sehr enthusiastisch, da es hundertmal auf Arduino und STM32 implementiert wurde und FPGAs den Gewächshäusern nichts Interessantes hinzufügen.

Und plötzlich - Eureka! Und wenn wir Wettbewerbe in Grafikspielen veranstalten, die auf reinen Schaltkreisen ohne Programmierung erstellt wurden, wie unsere Vorfahren Spiele wie Pin-Pong in den Tagen von Breschnew und Carter. Und nicht auf den alten K561-Chips, sondern auf modernen Xilinx und Altera (dh Intel FPGA) und unter Verwendung der gleichen Designtechnologien auf der Ebene der Registerübertragungen, die Designer in Apple, Intel und SpaceX verwenden.

Kurz gesagt, wir werden uns vom 8. bis 26. Juli in einer Sommerschule in Zelenograd damit befassen. Ein Teil der Schule, dessen Plan in diesem Beitrag erörtert wird, widmet sich den Grundlagen der digitalen Schaltung, den ersten Schritten in der Architektur und Mikroarchitektur von Prozessoren sowie (meistens) Hardware-Computergrafiken.

Ich werde versuchen, meine Studententochter Elizabeth als Assistentin nach Zelenograd zu bringen, wenn sie ihren Pass und ihr russisches Visum rechtzeitig erhält. Elizabeth ist russisch-ukrainisch-japanisch und spricht nur Englisch. Hier in Zelenograd lernen Sie die Grundlagen des Russischen. Gleichzeitig wird er die korrekte englische Aussprache von Lehrern unterrichten, die bereit sind, in der Schule zu helfen (optional von MIET, möglich von MIPT, MSU, MEPhI):



Heute habe ich ein Beispiel für die Schule gemacht - das Tanchiki-Spiel. Ich habe den größten Teil des Codes einem Beispiel aus dem Buch Designing Video Game Hardware in Verilog von Steven Hugg vom 15. Dezember 2018 entnommen . Stephen Hugg zeigte den Code auf einem schönen, aber nicht industriellen Simulator. Ich denke, das Lernen auf einem solchen Simulator ist wie das Riechen von Blumen in einer Gasmaske. Deshalb habe ich den Code synthetisiert und die resultierende Konfiguration in echtes Eisen gegossen - ein billiges chinesisches ZEOWAA-Board . Dazu musste ich die VGA-Scan-Generierung neu schreiben, den Code synthetisieren und einige methodische Unregelmäßigkeiten bei der Verwendung von Taktsignalen beseitigen. Ich habe das Ergebnis auf GitHub gepostet .

So sieht es im Steven Hugg-Simulator aus:



So sieht es in meiner ersten Annäherung aus, nachdem ich den Wrapper für das Board, den Scan-Generator und den Stephen-Code mechanisch kombiniert und all die kleinen Dinge behoben habe, die in der Intel FPGA Quartus Lite Edition nicht funktionieren: Synthese und Füllung:



Im Camp geht es aber nicht nur um Spiele mit VGA-Scan-Generierung, ROM, Sprites usw. Wir werden dies auch mit Prozessoren kreuzen. Vergleich der Implementierung von Spielen auf Hardware-Finite-State-Maschinen mit der Implementierung von Hardware-Software. Dafür verwenden wir den SchoolMIPS-Lernprozessorkern, der in den Beiträgen von Stanislav Zhelnio auf Habr und im schoolMIPS-Wiki auf GitHub beschrieben wird .

Sie können sogar den Schulkern von schoolMIPS verwenden, um zu demonstrieren, wie Lesezeichen in Prozessoren entworfen werden. Wir werden nicht darüber streiten, ob Lesezeichen im Computerprozessor auf Ihrem Schreibtisch, in Ihrem Telefon oder im Auto vorhanden sind. Wir werden zeigen, wie sie gestaltet werden können. Lesezeichenbeispiel: Eine Hardware-Zustandsmaschine überwacht den Inhalt von Architekturregistern während der Programmausführung. Wenn der Text „Cloudless Sky Above All Spain“ angezeigt wird, wechselt der Prozessor in den privilegierten Modus. Der Text kann aus einem Benutzerprogramm stammen, z. B. einem E-Mail-Client.

Ist es möglich, ein solches Lesezeichen mit Software-Antivirus zu erkennen? Nein. Die Software sieht dies erst, wenn es passiert. Ist es möglich, den Mikrokreislauf unter einem Elektronenmikroskop zu untersuchen? Nein, es gibt Milliarden von Transistoren in einem Industrieprozessor, sogar in Arduino - Hunderttausende. Selbst wenn Sie die Quelle des Prozessors zur Hand haben, können Sie viel in Zehntausenden oder Millionen von Zeilen auf der Veril verstecken, insbesondere wenn verschiedene Teile des Prozessors Teile eines durchdachten Plans erfüllen.

Sie können sogar einen Wettbewerb organisieren, wenn ein Team ein Lesezeichen erstellt und das andere es findet.



Jeder Student, der drei Module des theoretischen Online-Kurses von RUSNANO mit einem karriereorientierten Überblick über moderne Methoden zum Entwerfen von Mikroschaltungen (alles kostenlos und sogar mit Preisverleihung) abgeschlossen hat, kann an der Sommerschule in Zelenograd teilnehmen:

  1. Vom Transistor zur Mikroschaltung
  2. Die logische Seite der digitalen Schaltung
  3. Die physikalische Seite der digitalen Schaltung


Vorläufiges Kursprogramm - Diskussion darüber ist willkommen:

Woche 1. Grundlagen der digitalen Logik.

Tag 1. Mikroschaltungen mit geringem Integrationsgrad, Übungen mit kombinatorischer Logik.
Tag 2. Mikroschaltungen mit geringem Integrationsgrad, Übungen mit sequentieller Logik.
Tag 3. FPGA, Übungen mit Tasten, Schaltern, LED, Sieben-Segment-Anzeige.
Tag 4. FPGA, Ausgabe geometrischer Formen an VGA.
Tag 5. FPGA, eine Zustandsmaschine zum Spielen von Panzern, Rennen oder Angry Birds.

Woche 2. Prozessor

Tag 1. Programmierung in Assemblersprache.
Tag 2. SchoolMIPS-Prozessor mit einem Zyklus.
Tag 3. Integration des Prozessors mit Abschluss geometrischer Formen auf VGA.
Tag 4. Vortrag über Unterbrechungen und Multitasking. Einzelprojekt - ein auf dem Prozessor programmiertes Videospiel mit Ausgabe an VGA.
Tag 5. Vortrag über das Förderband. Wettbewerb einzelner Projekte.

Woche 3. Programmierbares Radio. Das Blockprogramm besteht aus drei Hauptteilen:

- Grundlagen der Elektrodynamik und Funkwellenausbreitung (theoretischer Teil);
- Funktionsprinzip des Transceiverpfades (Theorie und Praxis);
- Grundlagen der digitalen Signalverarbeitung - Filterung, Spektralanalyse (Theorie und Praxis).

Tag 1. Theoretische Grundlagen der Elektrodynamik und der Ausbreitung von Radiowellen. Das Strukturdiagramm des Übertragungsweges, die Funktionen der Komponenten. Signale (harmonisch, rechteckig). Signalpraxis mit NI Elvis.
Tag 2. Übertragung von Signalen auf eine hohe Frequenz. Mathematische Begründung für die Frequenzübertragung mit Matlab. Praktische Übung zur Frequenzübertragung mit NI Datex.
Tag 3. Verstärkung und Emission von Signalen. Üben Sie mit NI Datex. Demonstration der Richtwirkung der Antennen.
Tag 4. Signal filtern. Üben Sie mit NI Datex. Digitale Signalfilterung in Matlab
Tag 5. Übertragen von Signalen auf eine niedrige Frequenz. Üben Sie mit NI Datex. Das abgedeckte Material zusammenfassen, zusammenfassen.

Übrigens stammen viele Materialien von Stephen Hugg, aus denen ich Informationen über Sprites usw. betrachte, aus dem alten Videoprozessor TMS9918 von Texas Instruments, der sich im japanischen Yamaha MSX-Computer befand, den die Regierung von Gorbatschow importierte, um sowjetische Schulen zu computerisieren. Als ich selbst ein Schüler war, war es nicht trivial, diesen Videoprozessor über das Assembler-Programm zu verwalten, das auf dem Hauptprozessor Zilog Z80 ausgeführt wird, und diesen Videoprozessor im Allgemeinen zu entwerfen. Aufgrund des Durchbruchs in der elektronischen Designautomatisierungstechnologie (EDA) ist dies für moderne Studenten möglich geworden und sogar nützlich, um das Design moderner Chips zu lehren (Stephen Huggs Buch - 2018).

Aber für die jetzt grauhaarigen sowjetischen Schulkinder - erinnerst du dich an dieses Spiel in Yamaha?


Über Electronic Design Automation. Neben dem Camp für Schulkinder helfen Elizabeth und ich hier bei der Durchführung eines Seminars zu ähnlichen Themen für Erwachsene, jedoch nicht in Zelenograd, sondern in Las Vegas, auf der Design Automation Conference - DAC , und nicht mit pädagogischen, sondern mit industriellen Prozessoren und nicht mit Grafik und mit einem Coprozessor für AI. Ein solches Seminar ist ein natürlicher nächster Schritt für Schüler, die in Zelenograd zur Schule gehen und dann an MIET, MEPhI, MIPT, HSE MIEM, der Moskauer Staatsuniversität, ITMO, LETI, SSAU, NSTU und anderen Universitäten studieren, an denen sie RTL-Mikroschaltungsdesign-Routenelemente unterrichten to-GDSII, Computerarchitektur und Syntheselabore für FPGAs / FPGAs.

Source: https://habr.com/ru/post/de453760/


All Articles