Jump to content

    
Sign in to follow this  
lehho

Почему пишет предупреждение в Synplify (System Verilog)?

Recommended Posts

Использую Synplify, язык System Verilog.

 

Конструкция такая:

 

always @(posedge rxclk)

begin

for (int i = 0; i <= `CHL_NUMBER - 1; i++)

begin

if ( rxsync_out ) dout_I <= dout_I_r;

if ( rxsync_out ) dout_Q <= dout_Q_r;

end

end

 

Синтезатор выдаёт предупреждение:

@W:CL169 : AFE8406_SOI_tmp.v(51) | Pruning Register i[31:0]

 

Что-то не нравиться в i.

Как правильно написать?

 

 

Да, в итоге всё синтезируется как задумано.

 

Share this post


Link to post
Share on other sites

Вероятно, компилятор сообщает, что сам итератор i не попадет в схему.

Может быть какая-то другая конструкция языка для этого лучше подходит, generate какой-нибудь есть в верилоге?

Share this post


Link to post
Share on other sites

а так?

always @(posedge rxclk)  begin
  for (int i=0; i<=`CHL_NUMBER - 1; i++)  begin
    if (rxsync_out[i])  begin
      dout_I[i] <= dout_I_r[i];
      dout_Q[i] <= dout_Q_r[i];
    end
  end
end

Share this post


Link to post
Share on other sites
for (int i = 0; i <= `CHL_NUMBER - 1; i++)

 

@W:CL169 : AFE8406_SOI_tmp.v(51) | Pruning Register i[31:0]

 

скорее всего он предупреждает, что разрядность переменной CHL_NUMBER не [31:0].

И он урезал результат

Share this post


Link to post
Share on other sites
for (int i = 0; i <= `CHL_NUMBER - 1; i++)

Заменить на:

for (integer i = 0; i <= `CHL_NUMBER - 1; i++)

Предупреждение должно пропасть.

 

Спасибо замена на integer помогла, предупреждения пропали.

Share this post


Link to post
Share on other sites

int - 32-битовое целое, где каждый бит может быть в 2-х состояниях

integer - 32-битовое целое, где каждый бит может быть в 4-х состояниях

Как это повлияло?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this