Je suis en train de mettre en oeuvre un registre à décalage à rétroaction linéaire avec une largeur et des coefficients paramétrés:Verilog: attribuer une somme pondérée de longueur paramétrée
// ...
parameter width = 16;
parameter [width-1:0] coeff = 16'b1110101100110110;
// ...
Est-il un moyen de affecter XOR à chaîne à l'entrée flipflop, à savoir ce qui est une façon raisonnable de mettre en œuvre quelque chose comme
assign input_wire = (coeff[0] & flops[0]) xor ... xor (coeff[width-1] & flops[width-1]);
La manière évidente mais illégale serait d'utiliser une boucle for. Existe-t-il un moyen de le faire en dehors d'un bloc permanent?
Merci
Vous pouvez jeter un oeil à cette question: http://stackoverflow.com/questions/17159397/verilog-adding-individual-bits-of-a-register-combinational-logic-register-wid qui offre une solution à ton problème. Une façon de le faire dans 'une ligne' serait de mettre en œuvre un module paramétré qui effectue les calculs – Krouitch