Jump to content
    

Зачем запись вида reg <= reg на verilog?

Понятно, что сигнал в условии поступает на вход разрешения записи в триггер,

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

Мне кажется я понял к чему Вы...

 

То есть на данный момент остается 2 рабочие версии происхождения reg <= reg;

 

1. Это по ошибке перенесенной из комбинатороных блоков защита от лача

2. Какая то среда синтеза или микросхема для которой существовал шаблон описания требующий указывать явно reg <= reg; для описания триггеров без енайбла, например, и оттуда опять же по ошибке эта конструкция расползлась на другие среды

Share this post


Link to post
Share on other sites

2. Какая то среда синтеза или микросхема для которой существовал шаблон описания требующий указывать явно reg <= reg; для описания триггеров без енайбла, например, и оттуда опять же по ошибке эта конструкция расползлась на другие среды

Возможно это так. В прилагаемой схеме (уже несколько старой) можно найти этому косвенное подтверждение.

post-41112-1475478800_thumb.jpg

Share this post


Link to post
Share on other sites

Приведу пример, где запись reg <= reg имеет смысл.

always @(posedge clk)begin
  if(condition1)rg <= s1;
  if(condition2)rg <= rg;
end

Таким образом, condition2 отменяет сделанные выше присваивания регистру. Других осмысленных вариантов что-то не приходит в голову.

Share this post


Link to post
Share on other sites

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

 

1. Это по ошибке перенесенной из комбинатороных блоков защита от лача

2. Какая то среда синтеза или микросхема для которой существовал шаблон описания требующий указывать явно reg <= reg; для описания триггеров без енайбла, например, и оттуда опять же по ошибке эта конструкция расползлась на другие среды

3. Стандарт компании на оформление кода забитый в tools для автоматической проверки при check_out

 

Удачи! Rob.

Share this post


Link to post
Share on other sites

3. Стандарт компании на оформление кода забитый в tools для автоматической проверки при check_out

Тогда обычно еще есть обоснование правил стандарта, и опять же хочется тогда их узнать.

 

Таким образом, condition2 отменяет сделанные выше присваивания регистру. Других осмысленных вариантов что-то не приходит в голову.

Да такое бы положение дел я бы понял, но те варианты использования что я встречал reg <= reg; пишутся именно как вариант на случай если никакие условия не сработают. То есть либо пишется в начале блока, либо под else в конце. То есть явно какая-то запись из раздела на всякий случай, но смысл....

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.

×
×
  • Create New...