Keys.gg

Crosstalk

Aanbiedingen

Trailers en screenshots

1 / 7

Over Crosstalk

Crosstalk is een set tools voor het maken van aangepaste computerarchitecturen, RTL-ontwerpen en software. In de sandbox bouw en programmeer je apparaten zoals rekenmachines, ledcontrollers en complexe computers met een simulator en emulator voor elektronica die met HDL is ontworpen. De meegeleverde tools zijn onder meer een SystemVerilog-simulator op poortniveau, een elaborator, een synthesizer, een C-emitter en de Clang-compiler. De C-emitter leidt code af uit je SystemVerilog en Clang compileert die code, zodat ontwerpen sneller worden uitgevoerd.

Ontwerpen maken en simuleren

In de standaardworkflow open je een RTL-werkruimte, open je een shell, beschrijf en programmeer je een ontwerp in SystemVerilog en schrijf je er vervolgens software voor. Wanneer je je eerste project maakt, verschijnt er een handleiding voor de tools. De game bevat voorbeelden, maar geen uitleg over RTL of tutorial. Je moet zelf SystemVerilog schrijven of een bestaand project laden.

Je kunt FPGA-ontwerpen simuleren met leveranciersneutraal SystemVerilog. Voor snellere uitvoering kun je met de toolchain van Crosstalk en Clang C99-code genereren, of de emulatiemodus gebruiken, die het gedrag van een ontwerp nabootst zonder de nauwkeurigheid ervan te garanderen. Voor simulatie met hoge resolutie gebruikt de simulator op poortniveau een gesynthetiseerde versie van het ontwerp. Dit duurt veel langer en is beperkt tot kleinere ontwerpen. De interactieve schemaweergave toont zowel RTL- als poortniveau-schema's en kan in de profielmodus cellen markeren die intensief worden gebruikt. Een profiler laat ook zien waar in een SystemVerilog-ontwerp klokcycli aan worden besteed.

Sandboxmodi

De sandboxmodus is de standaardervaring. In de modus Zelf spelen maak je een werkruimte met zwevende vensters waarvan je het formaat kunt aanpassen, die je kunt verplaatsen en uitlijnen. In de netwerkmodus werk je samen met andere spelers via Steam Networking in een werkruimte die qua structuur identiek is aan die van Zelf spelen, maar dan met netwerkfunctionaliteit.

Hardware aansluiten en inspecteren

Crosstalk kan communiceren via virtuele seriële poorten in de game, de fysieke seriële interface van de hostcomputer of de eigen shellinterface. Zo kun je externe apparaten zoals microcontrollers, sensoren, fysieke knoppen en andere computers op ontwerpen aansluiten en ze weergeven met vervangende onderdelen. De meegeleverde truecolor-terminalemulator werkt als een serieel terminal-I/O-apparaat en ondersteunt ANSI, VT100, xterm en kitty. Hij kan ook via PTY of ConPTY met de host communiceren.

Een geheugenweergave en een oscilloscoop zijn inbegrepen als tools voor het bouwen van ontwerpen. Je kunt het geheugen en de runtime-activiteit van een draaiend ontwerp inspecteren, of de oscilloscoop aansluiten op een signaal zoals de geluidsuitvoer.

Display- en CPU-ontwerp

Voor ontwerpen met video-uitvoer kun je kiezen uit drie ingebouwde weergavemodi: CRT, gasplasma en moderne lcd. De CRT- en gasplasmamodi gebruiken CGA-interfaces, terwijl de lcd-modus VGA gebruikt. Je kunt instructiesetarchitecturen (ISA's) definiëren en tijdens het ontwikkelen een helpbanner weergeven. De runtime-tools omvatten weergaven van de registerstatus en stack, een programmalokalisator en een profiler op programmaniveau die laat zien waar de uitvoeringstijd naartoe gaat.

DANGCSA en de DLU

De game bevat de DANGLING Computer Superarchitecture-ISA en de eerste CPU daarvan, de DLU, als SystemVerilog-referentie-implementatie en als optie voor spelers die geen eigen architectuur willen maken. De ISA heet zowel DANGCSA als DANGXA, omdat de letters ‘C’ en ‘S’ hetzelfde klinken wanneer je ze uitspreekt. Ondanks het minimalistische ontwerp kan de ISA complexe programma's uitvoeren. De DLU, waarvan de volledige naam ‘DANGLING Logic Unit: Think Correctly’ is, voldoet aan DANGCSA/DANGXA en ondersteunt seriële communicatie, tekstuitvoer, video, audio en MIDI.

De meegeleverde LLVM kan programma's voor DANGCSA/DANGXA compileren. Het native binaire formaat wordt ondersteund door LLVM en wordt op het platform van nature gebruikt; ELF dient als compatibiliteitslaag. Ontwerpen, software en emulators kunnen worden gedeeld via de Workshop.

Veelgestelde vragen

Vergelijkbare games