Перейти к содержанию
    

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

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

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

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

 

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

post-41112-1475478800_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

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

 

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...