Yosys

Yosysest une suite logicielle deSynthèse logique(en anglaisRTL synthesis), permettant donc de convertir un circuit logique de sa description dans unlangage de description de matériel(HDL), tel queVerilogouVHDL, vers unflux binaire(anglais:bitstream) au formatRegister Transfer Level(RTL), utilisable par un circuit programmable de typeFPGA. Il effectue également les tâches devérification formelle. Il a été créé par Claire Wolf.
Il permet de:
Il peut également traiter leVHDL, grâce aupluginpourGHDLappeléghdl-yosys-plugin.
D'autres FPGA peuvent également être cartographiés avec un support à des stades plus ou moins avancés tels que certains d'Achronix(Speedster22i),Altera(maintenant filiale d'Intel),Anlogic,GreenPAK4, la sérieLittleBeedeGowin, lesECP5de Lattice, ainsi que les FPGA deMicroChip/Microsemi(SmartFusion2etIGLOO2).
L'outil d'optimisation du routage estNextNPR, utilisant des méthodes indépendantes à l'architecture cible, les architectures décrites ci-dessus y sont considérées comme stable, à l'exception des séries Cyclone V,  Lattice MachXO2 et d'un backend générique pour des architectures personnalisées.
Il permet également de créer des schémas du design en s'aidant deGraphviz. Le logiciel pour le web,DigitalJS, utilise cette possibilité de Verilog, pour la simulation en HTML, via le convertisseuryosys2digitaljs.
Différents co-projets lui sont liés, tels queVlogHammerun tester de régression Verilog etYosysJS, un port de Yosys enJavascriptà l'aide d'Emscripten, afin de produire des éducatifs sur le Web.
Le langage HDLAmaranthsupporte à le backend Apicula de Yosys, et la suite de développement officielle de Gowin pour les FPGA de Gowin.
Il peut produire un flux binaire au format Blif (Berkeley Logic Interchange Format). Il existe des outils pour convertir entre les différents formats de bitstream.
Au sein du projet, différents outils permettent d'ouvrir les spécifications des flux binaires de différents FPGA, paringénierie inverse. Le premier FPGA géré ainsi c'est le ICE40 deLattice. Au sein de Yosys, concernant les FPGA de Lattice plus généralement, leproject IceStormest dédié à cette à l'ingénierie invers pour les ICE40, leprojet Trellispour les ECP5 et leprojet Oxidepour les Nexus. LeProjets Treillisqui travaille sur les MachXO2 de Lattice considère leur support comme expérimental.
Différents FPGA deXilinxsont également pris en charge, tel que les Spartan 6, Virtex 7, et Series 7. Il y avait également un support partiel en décembre 2019 de Spartan 3, Virtex 2, 4, et 5.
En 2020, le fabricant allemandCologne ChipAG annonce supporter Yosys comme outil pour la synthèse RTL de leurs FPGA. Le fork servant à l'implémentation de ces FPGA dans celui-ci est disponible sur Github.
Le projet Apicula (ou Apycula), au sein du projet YosysHQ, vise à créer, par ingénierie inverse, des outils ouverts pour la génération du flux binaire des FPGA deGowin. Apicula supporte les séries gw1n1, gw1n9, gw1n4, gw1ns2 et gw1ns4. Le Gw1nSR-4C depuis le 15 décembre 2021.
Le support des FPGA Cyclone V, considéré comme expérimental est développé par le projetMistral.
En novembre 2021,Renesassort une famille de FPGA appelée ForgeFPGA, et propose d'utiliser Yosys comme outil officiel de synthèse RTL.