Yosys és una suite de programari de síntesi lògica (síntesi RTL), que permet convertir un circuit lògic amb la seva descripció en llenguatge de descripció de maquinari (HDL), com Verilog o VHDL, en un flux binari () en format Register Transfer Level (RTL), utilitzable per un circuit programable de matriu de portes programable in situ (FPGA). També realitza tasques formals de verificació. Va ser creat per Claire Wolf.

Característiques Permet:

Gestionar la major part de Verilog-2005 Convertir de BLIF/EDIF/BTOR/SMT-LIB/RTL simple Verilog a Verilog Verificar formalment mitjançant la comprovació de propietats i equivalències. Mapa per a ASIC (en format de fitxer Liberty) Mapa per a FPGA de la sèrie Xilinx 7 i Lattice iCE40, diverses plaques GoWin. El fabricant CologneChip (per al GateMate) l'utilitza com a mapeador i sintetitzador predeterminat, igual que Renesas per al seu ForgeFPGA. Servir com a base o front-end per a fluxos personalitzats.

També pot gestionar VHDL, gràcies al connector per a GHDL anomenat ghdl-yosys-plugin.

També es poden mapejar altres FPGA amb suport en etapes més o menys avançades com alguns d'Achronix (Speedster22i), Altera (ara filial d'Intel), Anlogic, GreenPAK4, LittleBee de Gowin, ECP5 de Lattice, així com els FPGA de MicroChip

L'eina d'optimització d'encaminament és NextNPR, utilitzant mètodes independents de l'arquitectura objectiu, les arquitectures descrites anteriorment es consideren estables allà, excepte per a la sèrie Cyclone V, Lattice MachXO2 i un backend genèric per a arquitectures personalitzades.

També permet crear diagrames de disseny mitjançant Graphviz. El programari web, DigitalJS, utilitza aquesta capacitat de Verilog per a la simulació HTML mitjançant el convertidor yosys2digitaljs.

Té diversos co-projectes relacionats amb ell, com ara VlogHammer, un verificador de regressió de Verilog, i YosysJS, un port de Yosys a Javascript mitjançant Emscripten, per produir materials educatius a la xarxa.

El llenguatge Amaranth HDL admet el backend Apicula de Yosys i la suite de desenvolupament oficial de Gowin per a FPGA de Gowin.

Formats RTL admesos Pot produir un flux binari en format Blif (Berkeley Logic Interchange Format). Hi ha eines per convertir entre diferents formats de flux de bits.

Dins del projecte, diferents eines permeten obrir les especificacions dels fluxos de bits de diferents FPGA, mitjançant enginyeria inversa. El primer FPGA gestionat d'aquesta manera és l'ICE40 de Lattice. Dins de Yosys, pel que fa als FPGA Lattice en general, el projecte IceStorm es dedica a l'enginyeria inversa per a l'ICE40, el projecte Trellis per a l'ECP5 i el projecte Oxide per al Nexus. Lattice Projects, que està treballant en Lattice MachXO2s, considera el seu suport experimental.

També s'admeten diversos FPGA Xilinx, com ara l'Spartan 6, el Virtex 7 i la Sèrie 7. També hi va haver suport parcial a partir de desembre de 2019 per a Spartan 3, Virtex 2, 4 i 5.

El 2020, el fabricant alemany Cologne Chip AG va anunciar el suport de Yosys com a eina per a la síntesi RTL dels seus FPGA. La bifurcació utilitzada per implementar aquests FPGA en aquest està disponible a Github.

El projecte Apicula (o Apycula), dins del projecte YosysHQ, pretén crear, mitjançant enginyeria inversa, eines obertes per a la generació del flux de bits dels FPGA de Gowin. Apicula és compatible amb les sèries gw1n1, gw1n9, gw1n4, gw1ns2 i gw1ns4. El Gw1nSR-4C des del 15 de desembre de 2021.

El suport per a FPGA Cyclone V, considerats experimentals, va ser desenvolupat pel projecte Mistral. El novembre de 2021, Renesas va llançar una família d'FPGA anomenada ForgeFPGA i es va oferir a utilitzar Yosys com a eina de síntesi RTL oficial.

Altres eines de síntesi lògica gratuïtes Coriolis del laboratori Lip6 GHDL un simulador i compilador VHDL SymbiFlow, que pretén ser una eina més global per gestionar les diferents eines de generació. OpenLane, sota llicència Apache 2.0, i en general OpenROAD són piles que permeten transformar RTL en GDS per al gravat ASIC

Programació FPGA OpenFPGALoader és una eina per programar l'FPGA, és a dir, enviar el flux de bits a la seva memòria interna per a un sol ús o a la seva memòria flaix perquè el conservi després de reiniciar el circuit que conté l'FPGA.

Simulació Verilator, programari de verificació i simulació, compilació en codi HDL (Verilog i SystemVerilog) per a la simulació de llenguatge màquina, a l'estació de treball. L'ús de SystemVerilog permet l'ús de diferents biblioteques del sistema per simular certs components connectats a l'FPGA.

Referències

Categoria:Programari Categoria:Semiconductors