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

Какой язык, плис, среда?

5 hours ago, haker_fox said:

А что со средами? Код предпочитаю в Slick Edit писать, он и подсветку имеет для этих языков.

Моделировать ModelSim? Синтезировать только в "родной" среде от производителя ПЛИС?

У меня Квартус, использую старую версию 13.1, код пишу в Notepad++, синтез и прошивка через bat-файлы (запуск программ в режиме командной строки). Графическую оболочку Квартуса запускаю очень редко (если надо глобальные настройки поменять, или посмотреть расклад ЛЕ по модулям).

ModelSim не использую. Когда осваивал Верилог, моделировал в Icarus Verilog c текстовым выводом. На этапе освоения очень полезно смотреть, в какую схему синтезируется та или иная конструкция (viewer Квартуса также можно запустить из командной строки). Правильность алгоритмов обычно проверяю на Си, потом перевожу в Верилог.   

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


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

В общем, если Верилог и Альтера, то для быстрого старта советую начинать с Icarus Verilog + Viewer в Квартусе.

Включить поддержку SystemVerilog, но писать на Верилоге, используя из SV только упакованные массивы. Массивы объявлять только упакованными. Разобраться с принципом синхронного дизайна, с блокирующими и неблокирующими присваиваниями (и посылать копать огород тех, кто советует не смешивать в одном always-блоке блокирующие и неблокирующие присваивания).

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


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

6 hours ago, yes said:

поэтому только систем верилог, рекомендовать для освоения VHDL это просто издеваться над начинающим, по-моему.

Начинающим нужно начинать с vivado ip integrtor, hls и матлабовского симулинка. После них, если и понадобится пару десятков строчек дописать на уровне триггеров и лутов, то уже без разницы какой-там язык. А по скорости разработки и сложности систем за такое короткое время никакой SV с ними не сравнится.

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


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

Последний проект, который делал - реализация в Циклоне-4е USB-CDC вместе с FS PHY. Чтобы не писать свой драйвер, снял логи, и сделал логическую эмуляцию CH340G. Заработал лучше "оригинала", скорость выросла до 6МБит/сек (ограничение драйвера для  Windows).

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


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

19 minutes ago, dmitry-tomsk said:

начинать с vivado ip integrtor, hls и матлабовского симулинка

USB-CDC модуль в каком-либо варианте получится с этими инструментами?

На эмуляцию CH340G у меня ушло ~300 строк на Верилоге (кристалл - самый мелкий Циклон-4е).

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

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


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

30 minutes ago, dmitry-tomsk said:

нужно начинать с vivado ip integrtor, hls и матлабовского симулинка

И не сводится ли это в конечном итоге к покупке готовых ядер?

 

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


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

ну а какой таки чип выбрал автор?

я например, тоже считаю вивадо лучшим струментом на рынке в настоящий момент, но там совсем другая весовая категория, по-моему. и ПЛИСов за 1-2 бакса совсем нет и задачи не для SPI имплементации....

когда много писал кода использовал xemacs/emacs с verilog-mode - шайтан машина, однако. но SV в стандарт языка внес много конструкций типа *, убирающих тупое копи-пастанье и verilog-mode AUTO-сы менее актуальны стали.

собственно, редакторы пользую встроенные в среды (квартус, симплифай) или нотепад++

 

 

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


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

9 minutes ago, Leka said:

И не сводится ли это в конечном итоге к покупке готовых ядер?

 

да у ксайлинса и бесплатных ядер полно. но hls и матлаб - это может быть тяжелая артиллерия, например, что-то типа обработка видео/распознавания образов или суровый DSP. считаю, что в данной теме это из вредных советов.

а эмулировать USB-CDC  - можно в каком-нибудь хардваре-хакоконе давать как вступительный экзамен :)

ну и по поводу смешивать блокирующее и неблокирующее - некоторые симуляторы (например ncsim) очень такого не любят. то есть выигрыша от этого никакого, а гемор можно поиметь на ровном месте

 

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


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

22 minutes ago, yes said:

смешивать блокирующее и неблокирующее

Для разных сигналов, конечно. Смешивать присваивания для одной переменной нельзя по стандарту (синтезатор выдаст ошибку).  

26 minutes ago, yes said:

эмулировать USB-CDC

Имел в виду - "железный" модуль в ПЛИС (для замены внешнего модуля на CH340G), а не симуляцию на компе.

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


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

41 minutes ago, yes said:

тоже считаю вивадо лучшим струментом на рынке в настоящий момент

Я в свое время перешел с ISE на Quartus из-за существенной разницы в скорости синтеза некоторых сложных проектов.

Несколько  минут в Квартусе, против нескольких часов (!!!) в ISE.

Vivado сравнялась с Квартусом в скорости синтеза?

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


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

38 minutes ago, Leka said:

Я в свое время перешел с ISE на Quartus из-за существенной разницы в скорости синтеза некоторых сложных проектов.

Несколько  минут в Квартусе, против нескольких часов (!!!) в ISE.

Vivado сравнялась с Квартусом в скорости синтеза?

Вивадо сейчас плох, с 2017 версий только хуже. Они сейчас сильно задумались над качеством, новых версий нет уже давно. Синтез там смешали с имплементацией, всё затянуто. Но сами чипы лучше альтеровских по соотношению производительность-цена, топовые артиксы позволяют решать довольно серьёзные задачи при низкой стоимости, у альтеры такие задачи решаются дороже. 

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


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

1 hour ago, Leka said:

Vivado сравнялась с Квартусом в скорости синтеза?

тяжело сравнивать. но там развита паралельность запусков, много разумного в флоу. у меня было две платы с приблизительно схожими функциями : циклон-V A9 и кинтекс U40 (в ксайлинсе еще софт-проц, в альтере внешний) - ну гораздо быстрее вивадо по ощущениям. но и проще ему было по времянке и т.п.

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


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

3 hours ago, Leka said:

В общем, если Верилог и Альтера, то для быстрого старта советую начинать с Icarus Verilog + Viewer в Квартусе.

Включить поддержку SystemVerilog, но писать на Верилоге, используя из SV только упакованные массивы. Массивы объявлять только упакованными. Разобраться с принципом синхронного дизайна, с блокирующими и неблокирующими присваиваниями (и посылать копать огород тех, кто советует не смешивать в одном always-блоке блокирующие и неблокирующие присваивания).

Привидите пример использования в одном always блоке блокирующего и неблокируюего присвоения. Не видел никогда ничего подобного, любопытно.

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


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

1 hour ago, Leka said:

Для разных сигналов, конечно. Смешивать присваивания для одной переменной нельзя по стандарту (синтезатор выдаст ошибку). 

для разных сигналов, естественно. когда моделируется RTL и нетлист в одном прогоне, то из-за оптимизации или еще чего-то времянка может разваливаться и циклы "выпадать". особенно много с ncsim-ом такого видел, но в нем и гонял симуляции дофига.

Just now, Nieve said:

Привидите пример использования в одном always блоке блокирующего и неблокируюего присвоения. Не видел никогда ничего подобного, любопытно.

begin

A<=c+d;

B=c+1;

end

смысла в этом мало, просто описка, на которую варнинг, а не ошибка выдается, по-моему

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


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

Кстати, м/б важно при выборе производителя FPGA, это внутренняя память - м/б критично для некоторых задач.

У Xilinx во всех семействах есть disrtributed RAM, у Альтеры нет (но на замену в дорогих семействах есть мелкая память с асинхронным чтением). У Lattice в мелких семействах может отсутствовать true dual port RAM. 

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


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

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

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

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

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

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

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

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

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

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