ich Verilog mit ModelSim verwende und ich erhalte die folgenden Fehler, wenn ich versuche reg Variablen auf verschiedene Teile eines anderen reg Variablen zuzuweisen:Verilog reg Zuordnung zum Teil einer anderen reg
** Error: Range width must be greater than zero.
** Error: Range width must be constant expression.
hier ist der entsprechende Code :
integer f; //zd, qd, R and Q are regs
always @ * begin
f = 52 - zd;
R = qd[f +:0];
Q = qd[63 -:f+1];
end
I R qd möchte (von 0 bis f) und Q (der Rest), QD (von f + 1 bis 63) aufzunehmen. Wie es geht? Vielen Dank.
Hier ist [eine Antwort] (http://stackoverflow.com/questions/7543592/verilog-barrel-shifter/ 7543745 # 7543745) zu einem ähnlichen Problem. –