Keys.gg

Crosstalk

Angebote

Trailer & Bilder

1 / 7

Über Crosstalk

Crosstalk ist eine Sammlung von Tools zum Erstellen benutzerdefinierter Computerarchitekturen, RTL-Designs und Software. In der Sandbox baust und programmierst du mit einem Simulator und Emulator für HDL-entworfene Elektronik Geräte wie Taschenrechner, LED-Steuerungen und komplexe Computer. Zu den enthaltenen Tools gehören ein SystemVerilog-Simulator auf Gate-Ebene, ein Elaborator, ein Synthesizer, ein C-Emitter und der Clang-Compiler. Der C-Emitter leitet Code aus deinem SystemVerilog ab, und Clang kompiliert diesen Code, damit Designs schneller ausgeführt werden.

Designs erstellen und simulieren

Im Standard-Workflow öffnest du einen RTL-Arbeitsbereich, wechselst in eine Shell, beschreibst und programmierst ein Design in SystemVerilog und schreibst anschließend Software dafür. Wenn du dein erstes Projekt erstellst, wird eine Anleitung zu den Tools angezeigt. Das Spiel enthält zwar Beispiele, bietet aber weder eine Einführung in RTL noch ein Tutorial. Du musst dein eigenes SystemVerilog schreiben oder ein bestehendes Projekt laden.

Du kannst FPGA-Designs mit herstellerneutralem SystemVerilog simulieren. Für eine schnellere Ausführung kannst du mit der Toolchain von Crosstalk und Clang C99-Code erzeugen oder den Emulationsmodus verwenden, der das Verhalten eines Designs nachbildet, ohne dessen Genauigkeit zu garantieren. Bei der hochauflösenden Simulation kommt im Gate-Level-Simulator eine synthetisierte Version des Designs zum Einsatz. Das dauert deutlich länger und ist auf kleinere Designs beschränkt. Der interaktive Schaltplan-Viewer zeigt sowohl RTL- als auch Gate-Level-Schaltpläne an und kann im Profilmodus stark beanspruchte Zellen hervorheben. Außerdem zeigt ein Profiler, wo in einem SystemVerilog-Design Taktzyklen verbraucht werden.

Sandbox-Modi

Der Sandbox-Modus ist das Standarderlebnis. Im Einzelspiel erstellst du einen Arbeitsbereich mit frei beweglichen Fenstern, deren Größe und Position du ändern und die du ausrichten kannst. Im Netzwerkmodus arbeitest du mit anderen Spielern über Steam Networking in einem Arbeitsbereich zusammen, der strukturell mit dem Einzelspiel identisch ist, aber Netzwerkfunktionen aktiviert hat.

Hardware verbinden und untersuchen

Crosstalk kann über virtuelle serielle Schnittstellen im Spiel, die physische serielle Schnittstelle des Host-Computers oder die eigene Shell-Schnittstelle kommunizieren. So kannst du externe Geräte wie Mikrocontroller, Sensoren, physische Tasten und andere Computer mit Designs verbinden und sie durch Platzhalterteile darstellen. Der mitgelieferte Truecolor-Terminalemulator funktioniert als serielles Terminal-I/O-Gerät und unterstützt ANSI, VT100, xterm und kitty. Außerdem kann er über PTY oder ConPTY mit dem Host kommunizieren.

Für die Entwicklung von Designs sind eine Speicheransicht und ein Oszilloskop enthalten. Du kannst den Speicher und die Laufzeitaktivität eines laufenden Designs untersuchen oder das Oszilloskop an ein Signal wie die Tonausgabe anschließen.

Display- und CPU-Design

Für Designs mit Videoausgabe stehen drei integrierte Anzeigemodi zur Auswahl: CRT, Gasplasma und moderner LCD. Die CRT- und Gasplasma-Modi verwenden CGA-Schnittstellen, der LCD-Modus hingegen VGA. Du kannst Befehlssatzarchitekturen (ISAs) definieren und dir während der Entwicklung ein Hilfebanner anzeigen lassen. Zu den Laufzeit-Tools gehören Ansichten für Registerzustand und Stack, ein Programmlokalisierer und ein Profiler auf Programmebene, der zeigt, wofür die Ausführungszeit verwendet wird.

DANGCSA und die DLU

Das Spiel enthält die DANGLING Computer Superarchitecture ISA und ihre erste CPU, die DLU, als SystemVerilog-Referenzimplementierung und als Option für Spieler, die keine eigene Architektur erstellen möchten. Die ISA heißt sowohl DANGCSA als auch DANGXA, weil „C“ und „S“ beim Aussprechen gleich klingen. Trotz ihres minimalistischen Designs kann sie komplexe Programme ausführen. Die DLU, deren vollständiger Titel „DANGLING Logic Unit: Think Correctly“ lautet, entspricht DANGCSA/DANGXA und unterstützt serielle Kommunikation, Textausgabe, Video, Audio und MIDI.

Das enthaltene LLVM kann Programme für DANGCSA/DANGXA kompilieren. Sein natives Binärformat wird von LLVM unterstützt und auf der Plattform nativ verwendet; ELF dient als Kompatibilitätsschicht. Designs, Software und Emulatoren können über den Workshop geteilt werden.

Häufig gestellte Fragen

Ähnliche Spiele