Easyelectronics.ru

Электроника для всех
Текущее время: 27 сен 2020, 03:11

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос знатокам Verilog и SystemVerilog
СообщениеДобавлено: 14 дек 2019, 16:10 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 507
Доброго времени суток!
Осваиваю Verilog, начинаю уже углубляться, но не все еще понятно, прошу не пинать.

Собственно, ковыряя чужие проекты на System Verilog, натыкаюсь на то, что часть комбинационной логики делается традиционно через assign, а часть - в процедурном блоке always_comb. Может кто объяснить, какая принципиальная разница в итоге при синтезе? Ведь указывается, что в always_comb в список чувствительности входят все сигналы в составе процедурного блока, тогда не совсем ясна его надобность.
Я еще глубоко не копал в спецификации, времени нет, все эти дела осваиваю на досуге. Поэтому прошу разъяснить вкратце и пояснить, когда нужен процедурный блок always_comb. Ну или ткнуть носом в написанный понятным языком для начинающего плисовода материал.
В самой цифровой схемотехнике и комбинационной/последовательностной логике разбираюсь, поэтому все пойму.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос знатокам Verilog и SystemVerilog
СообщениеДобавлено: 14 дек 2019, 21:10 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3459
assign для wire


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос знатокам Verilog и SystemVerilog
СообщениеДобавлено: 14 дек 2019, 21:25 
Заглядывает иногда

Зарегистрирован: 28 сен 2018, 20:50
Сообщения: 63
На System Verilog ничего не делал, но always_comb это почти то же что always @*
Обычно always @* используют только из-за того, что в assign труднее описать какую-то относительно сложную логику. Например, в always можно использовать case, как такое будет выглядеть в assign с использованием тернарных операторов?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос знатокам Verilog и SystemVerilog
СообщениеДобавлено: 14 дек 2019, 22:19 
Старожил

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 507
PM2 писал(а):
На System Verilog ничего не делал, но always_comb это почти то же что always @*
Обычно always @* используют только из-за того, что в assign труднее описать какую-то относительно сложную логику. Например, в always можно использовать case, как такое будет выглядеть в assign с использованием тернарных операторов?


А, если с такой точки зрения, тогда ясно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос знатокам Verilog и SystemVerilog
СообщениеДобавлено: 14 дек 2019, 23:20 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3459
PM2 писал(а):
Например, в always можно использовать case, как такое будет выглядеть в assign с использованием тернарных операторов?

выглядеть будет так себе:
Код:
  assign data_w = (addr_w == CG)   ? addr_r :
                  (addr_w == TST)  ? |data  :
                  (addr_w == ADD)  ? data + reg_reg :
                  (addr_w == SUB)  ? data - reg_reg :
                   data;


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB