ChiselChisel
Chisel est un langage informatique open-source de description matériel basé sur Scala. Chisel, pour Constructing Hardware in Scala Embedded Language, permet de décrire des circuits électroniques numériques au niveau du transfert de registres (RTL). Chisel hérite des propriétés objet et fonctionnel de Scala pour décrire du matériel. L'utilisation de Scala comme base permet de se servir de Chisel comme un générateur de circuits électroniques. Il existe également TL-Chisel, l'équivalent en Chisel de TL-Verilog (Transaction-Level Verilog). Les circuits décrits en Chisel sont directement convertibles en Verilog pour la synthèse et la simulation. ExempleUn exemple simple de circuit additionneur. class Add extends Module {
val io = IO(new Bundle {
val a = Input(UInt(8.W))
val b = Input(UInt(8.W))
val y = Output(UInt(8.W))
})
io.y := io.a + io.b
}
UtilisationBien que Chisel ne soit pas un langage de description matériel majeur, il a été utilisé par de nombreuses entreprises et institutions pour la conception de composants électroniques. Le plus connu des usages de Chisel est celui du Rocket chip[2], un microprocesseur RISC-V [3]développé initialement par l'université de Berkeley. L'Académie chinoise des sciences a également utilisé Chisel pour développer le processeur sous licence libre (licence Mulan v2, accepté OSI) d'architecture RISC-V nommé Xiangshan. Les développeurs disent ainsi obtenir un code cinq fois plus petit qu'en Verilog et un temps de développement inférieur[4],[5]. Notes et références
Bibliographie
Liens externes
|