Il faut créer et donner les
tenants et aboutissants de la fonctionnalité attendue.
Ceci se fera sous la forme d'une affectation continue.
Cette affectation continue est définie
par la directive assign.
A l’intérieur,
les règles sur les opérations sont identiques
à celles utilisées par les calculatrices (opérateurs, affectations,
parenthèses, ...).
L'opérateur d'affectation
immédiate est le signe =
Seules les variables
déclarées « output », « inout »
ou « wire » peuvent être assignées (assign)
Ainsi l’opération ET est connue. Elle est notée &. La fonctionnalité à créer pourra s'écrire
:
module ET4 (a, b, c, d, S) ;
input a, b, c, d ;
output S ;
assign S = a & b & c & d ;
endmodule
Remarque : le
programme est plus court, mais ne sera pas forcément plus
performant. L’implantation dans le composant sera sûrement
identique : ceci n’est qu’une description de la
fonctionnalité requise.
Remarque : le compilateur
aura à analyser cette description et à implémenter
une structure interne répondant à cette description.