Ich habe Probleme mit dem Finden der kleinsten Werte von X und xfind und Y und yfind in `Costcalculator xfind (X, xcost); Kostenrechner yfind (Y, ycost);Verilog-Code Bewegungsschätzer
in Code unten. kann bitte jemand kommentieren. Aus irgendeinem Grund konnte ich den gesamten Code nicht importieren. Es erkennt nur diese Zeilen als Codes. Tut mir leid, wenn es nicht klar ist.
always @(posedge clk) // sequential circuit
begin
Costcalculator xfind (X,xcost);
Costcalculator yfind (Y,ycost);
if(reset)
begin
i=0;
R<=0;
xcost<=0;
ycost<=0;
mode0<=0;
mode1<=0;
mode2<=0;
mode3<=0;
mode4<=0;
mode5<=0;
mode6<=0;
end //if end
else
begin
for (i=1; i<43; i=i+1)
begin
R<=xcost+ycost;
costholder <= SAD+(lambda*R); // Here we calculate the cost of a sub-blocks As the clock
if (i<17)
mode0<=costholder+mode0;
else if(i>16 && i<25)
mode1<=costholder+mode1;
else if(i>24 && i<33)
mode2<=costholder+mode2;
else if(i==33 || i==34 || i==35 || i==36)
mode3<=costholder+mode3;
else if(i==37 || i==38)
mode4<=costholder+mode4;
else if(i==39 || i==40)
mode5<=costholder+mode5;
else if(i==41)
mode6<=costholder+mode6;
end //for end
end //else end
end //always end
Modul Costcalculator
:
//************************************************************
module Costcalculator (motionvector, cost); // X AND Y COST CALCULATOR
input [4:0]motionvector;
output [2:0]cost;
reg [2:0]cos;
wire [3:0] vector;
assign vector = {motionvector[3:0] };
always @* begin
case (vector) 0 : cos=0;
1,2 : cos=1;
3,4,5,6 : cos=2;
7,8,9,10,11,12,13,14 : cos=3;
15 : cos=4;
endcase
end
assign cost = cos;
endmodule
//************************************************************
Was ist der Fehler? Ich glaube, 'Constcalculator' ist ein Modul. Sie können ein Modul in einem prozeduralen Block nicht instanziieren. – sharvil111
Sie sollten versuchen, 1) ein minimales (nicht) funktionierendes Design zu erstellen, 2) sicherzustellen, dass wir alle relevanten Codes haben und 3) einen Hinweis darauf geben, was falsch ist. Sie sollten also alle irrelevanten Code entfernen, sagen Sie uns, was ist "Costcalculator", wahrscheinlich ein Modul wie von sharvil111 unter Berücksichtigung der Syntax, die Sie verwendet haben und 3) geben Sie uns den Fehlercode/sagen Sie uns, was ist falsch? Unmöglich, anders zu antworten ... – chrisvp
Hier ist der Rest des Codes: –