Jump to content

    
Sign in to follow this  
druzhin

Неожиданный глюк в Modelsim

Recommended Posts

Я увидел неожиданный глюк в Моделсиме.
 
Это границы, за которые не должен выходить некий реверсивный счетчик:
always_comb
    begin
        lim[0] <= sum >= PRD_MAX; // верхняя грань
        lim[1] <= sum <= PRD_MIN; // нижняя грань
    end

lim[1] <= sum <= PRD_MIN; - вот эта строка вызывала логическую ошибку, счетчик останавливался не там где ожидалось.

Вот так правильно:

always_comb
    begin
        lim[0] <= ( sum >= PRD_MAX ); // верхняя грань
        lim[1] <= ( sum <= PRD_MIN ); // нижняя грань
    end

Лучше такие логические условия заключать в скобки.

Share this post


Link to post
Share on other sites
7 hours ago, dxp said:

А если так:

 


lim[1] = sum <= PRD_MIN;

?

 

Тем более, что always_comb и неблокирующее присваивание как-то не ага.

Код в отладке и еще не отшлифован, красота не наведена. always_comb применен, чтобы его было можно заменить на always @(posedge CLK) в процессе отладки.

Share this post


Link to post
Share on other sites
3 hours ago, nice_vladi said:

Первое правило погромиста - всегда ставить скобки при наличии более одного операнда в выражении)

Ухудшают читабельность, как и любые лишние символы.

Share this post


Link to post
Share on other sites

Приветствую!

32 minutes ago, SII said:

Ухудшают читабельность, как и любые лишние символы.

КомукакМневотнапримернаоборотприятнеесмотретьнаструктуированныййкод.  :biggrin:

 

Удачи! Rob.

Share this post


Link to post
Share on other sites
2 hours ago, RobFPGA said:

Приветствую!

КомукакМневотнапримернаоборотприятнеесмотретьнаструктуированныййкод.  :biggrin:

 

Удачи! Rob.

Угу, только это Ваше сообщение как раз неструктурированное: структурированность в первую очередь пробелами и правильными отступами достигается :)

Share this post


Link to post
Share on other sites
16 hours ago, SII said:

Ухудшают читабельность, как и любые лишние символы.

Это пройдет, когда цена локализации бага не станет намного больше цены лишних скобок, что наглядно показано в теме ТС)

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