Comprendre Verilog
À quoi sert Verilog, comment il décrit un circuit et où il intervient dans un projet FPGA.
Un langage pour décrire du matériel
Verilog est un langage de description matérielle. Une ligne de Verilog ne demande pas forcément à un processeur d'exécuter une opération après une autre. Elle peut décrire une porte logique, un fil, une bascule ou plusieurs blocs actifs en même temps.
Le langage sert principalement à :
- décrire un circuit numérique ;
- vérifier son comportement par simulation ;
- synthétiser la partie RTL vers des ressources FPGA ou des cellules ASIC ;
- relire et maintenir une architecture sous forme de texte.
Le Verilog classique a été normalisé dans la série IEEE 1364. Il a ensuite été intégré à SystemVerilog, défini par IEEE 1800. Dans ce parcours, les fichiers utilisent l'extension .v et une syntaxe Verilog-2001 largement comprise par les outils FPGA.
Un premier module
Un module regroupe une interface et le circuit associé. Voici un verrou très simple : la sortie vaut 1 lorsque le badge est reconnu et que la porte est fermée.
module access_ok (
input wire i_badge,
input wire i_door_closed,
output wire o_unlock
);
assign o_unlock = i_badge & i_door_closed;
endmodulei_badge et sont les entrées. est la sortie. L'instruction décrit une liaison combinatoire active en permanence.