aF
и bF
— это регистры. Все остальные сигналы объявляются соответственно. P1,P2 . . P3
— это push-сигналы. Это законно? Мне нужно написать много кода, прежде чем я смогу его синтезировать, но у меня такое чувство, что он может синтезироваться неправильно.
//Example ,similar to my code
always@ (posedge clk or negedge reset)
begin
if (~reset)
begin
aF = 0;
bF = 0;
end
else
begin
aF = {{{WIDTH-SIZE-1}{0}},a};
bF = {{{WIDTH-SIZE-1}{0}},b};
end
end
rippleadder_16bit S0(aF[15:0],bF[15:0],c0,result1[15:0],P0,P1,c1,clk);
rippleadder_16bit S1(aF[31:16],bF[31:16],c1,result1[31:16],P1,P2,c2,clk);
rippleadder_16bit S2(aF[47:32],bF[47:32],c2,result1[47:32],P2,P3,c3,clk);
rippleadder_16bit S3(aF[63:48],bF[63:48],c3,result1[63:48],P3,P4,c4,clk);*
{{{WIDTH-SIZE-1}{0}},a}
, вероятно, избыточен -a
будет автоматически расширен до шириныaF
нулем - person Eric   schedule 17.04.2013<=
) внутри файлаalways@(posedge clk)
. Здесь нет побочных эффектов, но это лучшая практика. - person Morgan   schedule 18.04.2013