@ () внутри всегда блока - PullRequest
0 голосов
/ 06 мая 2020

Является ли использование @ () внутри блока always плохой практикой или, другими словами, неправильным? Пример кода приведен ниже:

always@(negedge clk)begin

        @(valueI)begin
            deterministicEnable=0;
            iterate=iterate+1;
            deterministicEnable=1;
            j=0;
            $display("%h  %d   %d",valueI,$time,j);
        end

end

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Это не допускается большинством инструментов синтеза RTL.

Это вообще плохая практика. У вас есть код, синхронный с задним фронтом часов. Затем вы ждете другого изменения, которое может совпадать или не совпадать с предыдущими часами. Не знаю, важно ли это в вашем случае.

Кроме того, присвоение deterministicEnable - это сбой, который может быть или не быть видимым для других процессов.

1 голос
/ 06 мая 2020

Это неправильно для синтезируемого кода. Это нормально для вашего тестового стенда.

...