Yosys est une suite logicielle de Synthèse logique (en anglais RTL synthesis), permettant donc de convertir un circuit logique de sa description dans un langage de description de matériel (HDL), tel que Verilog ou VHDL, vers un flux binaire (anglais : bitstream) au format Register Transfer Level (RTL), utilisable par un circuit programmable de type FPGA. Il effectue également les tâches de vérification formelle. Il a été créé par Claire Wolf.
Il permet de, :
Il peut également traiter le VHDL, grâce au plugin pour GHDL appelé 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érie LittleBee de Gowin, les ECP5 de Lattice, ainsi que les FPGA de MicroChip/Microsemi (SmartFusion2 et IGLOO2),.
L'outil d'optimisation du routage est NextNPR, 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 de Graphviz. Le logiciel pour le web, DigitalJS, utilise cette possibilité de Verilog, pour la simulation en HTML, via le convertisseur yosys2digitaljs,.
Différents co-projets lui sont liés, tels que VlogHammer un tester de régression Verilog et YosysJS, un port de Yosys en Javascript à l'aide d'Emscripten, afin de produire des éducatifs sur le Web.
Le langage HDL Amaranth supporte à 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, par ingénierie inverse. Le premier FPGA géré ainsi c'est le ICE40 de Lattice,. Au sein de Yosys, concernant les FPGA de Lattice plus généralement, le project IceStorm est dédié à cette à l'ingénierie invers pour les ICE40, le projet Trellis pour les ECP5 et le projet Oxide pour les Nexus. Le Projets Treillis qui travaille sur les MachXO2 de Lattice considère leur support comme expérimental.
Différents FPGA de Xilinx sont également pris en charge, tel que les Spartan 6, Virtex 7, et Series 7. Il y avait également un support partiel en de Spartan 3, Virtex 2, 4, et 5.
En 2020, le fabricant allemand Cologne Chip AG 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 de Gowin,. Apicula supporte les séries gw1n1, gw1n9, gw1n4, gw1ns2 et gw1ns4. Le Gw1nSR-4C depuis le .
Le support des FPGA Cyclone V, considéré comme expérimental est développé par le projet Mistral.
En , Renesas sort une famille de FPGA appelée ForgeFPGA, et propose d'utiliser Yosys comme outil officiel de synthèse RTL.