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

Как эту схему на verilog описать?

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

39 minutes ago, RadiatoR said:

Если бы были структуры и {} вместо begin/end было бы просто восхитительно!

Ну  в SV они (структуры) уже есть, да и куча другого полезного. А к begin/end привыкаешь  быстро (и {} скобки уже оказались занятыми).  Да и странно бы наверное смотрелась конструкция 

if  (...) { : if_block_name
  ...
}

Хотя  и к такому бы  привыкли 

Удачи! Rob. 

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


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

48 minutes ago, RobFPGA said:

и {} скобки уже оказались занятыми

Точно. Конкатенация, забыл, новичок =).

А на SV что-то не хочется пока переходить. Пока опыта мало буду работать с .v

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


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

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

Just now, RadiatoR said:

А на SV что-то не хочется пока переходить. Пока опыта мало буду работать с .v

На SV для синтеза  переходит  легко так как там фактически тот же Verilog плюс  дополнительные плюшки которыми можно начинать пользоваться по мере изучения.  Например тот же  structtypedef или enum.  

 

Удачи! Rob.

 

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


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

1 hour ago, RobFPGA said:

Ну  в SV они (структуры) уже есть, да и куча другого полезного. А к begin/end привыкаешь  быстро (и {} скобки уже оказались занятыми).  Да и странно бы наверное смотрелась конструкция 

Нет, они свободны.
и вполне себе в SV есть конструкции:
 

if ( something == condition1 ) {
  value1 == constraint1;
  value2 inside { [start_value1 : end_value1] };
} else if ( something == condition2 ) {
  value1 == constraint2;
  value2 inside { [start_value2 : end_value2] };
} else {
  value1 == constraint3;
  value2 inside { [start_value3 : end_value3] };
}

Если в описании ограничений это сумели сделать (как и foreach там тоже с фигурными скобками), то могли сделать и в остальных местах.

Думаю, просто такой заменой (или дублированием функционала) решили не заниматься (если такие предложения были), и оставили, как есть в verilog'е.

Изменено пользователем one_eight_seven

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


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

1 час назад, RobFPGA сказал:

Да и странно бы наверное смотрелась конструкция 


if  (...) { : if_block_name
  ...
}

 

Да оно и сейчас с begin странно выглядит. Где логика размещения метки оператора именно в этом месте? Не перед, не после, а где-то в середине.

Не, действительно, Верилог придумывали, находясь под воздействием какой-то дури.

 

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


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

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

14 minutes ago, one_eight_seven said:

Нет, они свободны.
и вполне себе в SV есть конструкции:

Это все-же не для синтеза, а для верификации - ту не надо было оглядываться на совместимость с verilog. И мне кажется что реализация таких конструкций перекочевала  в SV чуть ли напрямую из  e  или vera

 

Удачи! Rob.

 

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


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

9 minutes ago, andrew_b said:

Где логика размещения метки оператора именно в этом месте? Не перед, не после, а где-то в середине.

Метка сразу после слова begin.

Для педантов в SV имеется возможность ставить такую же метку и после end, и компилятор отслеживает их соответствие (есть ли такая возможность в verilog - не помню).

Перед началом блока (begin) может стоять какой-то оператор, например if, или for. Вот так и логика:
Оператор () начало блока : метка

    блок

конец блока : метка

 

 

Изменено пользователем one_eight_seven

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


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

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

17 minutes ago, andrew_b said:

Да оно и сейчас с begin странно выглядит. Где логика размещения метки оператора именно в этом месте? Не перед, не после, а где-то в середине.

Можете думать что не в середине, а в начале блока! :wink2: 

if  (...) begin 
  : if_block_name
  reg aa;
  ...
  begin 
    : internal_blok_name
    reg aa;
    ...
  end
end

Как по мне странно и неудобно было бы первый раз именовать блок в конце.  Хотя на вкус и цвет  как говорится ... :wink3:

 

Удачи! Rob.

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


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

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

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

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

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

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

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

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

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

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