Wavedrom est un petit utilitaire très complet qui permet de dessiner des chronogrammes.
Pour dessiner, il suffit de décrire ce qu’on veut faire dessiner. Ça évite les clics à tire-larigot, c’est plus facile à reprendre en cas d’évolution, ça prend peu d’espace de stockage… Voici à quoi ressemble la description du chronogramme ci-dessus, un simple fichier JSON :
{ signal: [
{ name: "CK", wave: "P.......", period: 2 },
{ name: "CMD", wave: "x.3x=x4x=x=x=x=x", data: "RAS NOP CAS NOP NOP NOP NOP", phase: 0.5 },
{ name: "ADDR", wave: "x.=x..=x........", data: "ROW COL", phase: 0.5 },
{ name: "DQS", wave: "z.......0.1010z." },
{ name: "DQ", wave: "z.........5555z.", data: "D0 D1 D2 D3" }
]}
Un mini-tutoriel très bien fait qui couvre tous les cas est disponible sur le site de l’outil : https://wavedrom.com/tutorial.html
L’auteur est même allé plus loin, et son outil permet maintenant de dessiner des réseaux de portes logiques (https://wavedrom.com/tutorial2.html), des registres de microcontrôleurs, des machines à état… Beaucoup d’exemples fournis par Aliaksei Chapyzhenka (l’auteur) sont disponibles ici : https://observablehq.com/@drom