2016-04-01 13 views

Antwort

2

Sie müssen Parameter verwenden. Parameter sind grundsätzlich Eingangskonstanten und sind eine gute Möglichkeit, generischen Code zu schreiben. Sie sitzen zwischen dem Namen des Moduls und den Häfen in einer Liste, die wie die Portliste aussieht, wird aber von einem Hash voraus:

module <MODULE NAME> #(<SOME TYPE> <PARAMETER NAME>=<DEFAULT_VALUE>, ...) (<THE PORTS>); 

Die Ports selbst deklariert werden können die Parameter angeben können. Es ist üblich, einen Parameter zu verwenden, um beispielsweise die Breite von Eingängen und Ausgängen zu definieren.

Hier ist ein Beispiel (ein MxN Multiplikator):

module MULT #(integer M=8, integer N=8) (input [M-1:0] A, [N-1:0] B, [(M+N)-1:0] F); 

    assign F = A * B; 

endmodule 

http://www.edaplayground.com/x/2Bvx

Also, es ist sehr einfach, wenn Sie glücklich sind nur Ihre Multiplikator zu synthetisieren. Wenn Ihr Multiplikator-Design struktureller ist, dann müssen Sie über generate Schleifen lernen.