Erreur “procédure de cession à un non-enregistrer le résultat n'est pas autorisée”

J'obtiens le message d'erreur

[Synth 8-2576] procédure de cession à un non-enregistrer le résultat n'est pas
permis ["lpm_mult.v":29]

Ce que je fais mal?

module lpm_mult (
    dataa, datab,     //multiplicand,multiplier
    sum,              //partial sum 
    clock,            //pipeline clock
    clken,            //clock enable
    aclr,             //asynch clear
    result            //product
);

input  clock;
input  clken;
input  aclr;
input  [31:0] dataa;
input  [31:0] datab;
input  [63:0] sum;
output [63:0] result;

always @ (clken or posedge clock) begin
    if (1==clken) begin
        assign result = dataa * datab;
    end
end

endmodule
N'est-ce pas le message d'erreur décrit dans la vivado docs? Vous pouvez également disposer d'une synthèse de problème avec always @ (clken or posedge clock). Ma conjecture est que vous ne voulez pas clken là-dedans, ou le assign pour cette question.

OriginalL'auteur Helyx | 2015-07-17