Как стать автором
Обновить

Комментарии 11

Дилетантский вопрос, есть ли готовый код на VERILOG который эмулирует USB клавиатуру и мышь? И какая отладочная плата нужна, чтобы такой код запустить в железе?

вопрос не дилетантский =) Для работы с USB HID нужна плата с встроенным USB PHY или поддержкой USB-OTG.

Можно посмотреть в сторону:

  1. Zybo Z7 (Zynq) – имеет USB OTG.

  2. Cyclone V GT (например, 5CGTD5, 5CGTD7) – поддерживает USB HS.

  3. Lattice ECP5 (Colorlight i5 / Trellis Board)

Так себе реклама. В вузе меня этому обучали в течении 3-х лет и то на выходе оказалось это лишь минимально необходимым. А тут онлайн курсы не известно с кем, выдернутые из воздуха.

Это не реклама, это популяризация знаний. Восхитился HDLbits, а на хабре ни одной статьи не оказалось. Не мог промолчать =)

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

Здесь 'задачки' созданы, проверены, поданы в правильной последовательности. Решить их не обращаясь к учебной литературе - невозможно (об этом сказано в статье) .

Поэтому, прорешав их одну за одной - вы осваиваете КУРС по Verilog.

Крутая статья, спасибо!

спасибо 😉

Verilog вряд ли можно назвать простым языком.

Язык как язык(синтаксис никак не сложнее Пайтона), а "сложен" Verilog, как и любой другой язык описания чего либо, если Вы не вникли в сферу которой он используеться, то бишь описание цифровых электронных схем. В этом смысле любой язык "сложный".

Нужно просто сразу понять, что на Verilog Вы описывете цифровую схему, а не пишите набор инструкций для компьютера(микроконтролера).

Разница в сложности синтаксиса небольшая, я с вами согласен. Но в статье речь не о сложности синтаксиса... Вот возьмём язык brainf*k, синтаксис очень прост: ><+-.,[]. Но вот что делает следующий код ?:

[->+<]

Скрытый текст

складывает 2 значения (вроде бы). пойди догадайся..

Погуглите "brainf*k: hello, world", это ни разу не просто! brainf*k вряд ли можно назвать простым языком... 🙂

Короче, ИИ скажет лучше что имело ввиду ;-)

Prompt: подумай над вопросом, какой язык сложнее: python или Verilog. сделай вывод и обоснуй его.

Вопрос о том, какой язык сложнее — Python или Verilog, не имеет однозначного ответа, так как сложность зависит от контекста использования и опыта программиста. Однако можно провести сравнительный анализ и сделать обоснованный вывод.

1. Разные парадигмы и цели

  • Python — высокоуровневый язык общего назначения с динамической типизацией, ориентированный на удобство чтения и написания кода.

  • Verilog — язык описания аппаратуры (HDL), предназначенный для проектирования цифровых схем (ПЛИС, ASIC).

Сравнивать их напрямую некорректно, так как они решают принципиально разные задачи.

2. Критерии сложности

a) Синтаксис и простота написания

  • Python проще: минималистичный синтаксис, автоматическое управление памятью, обширные стандартные библиотеки.

  • Verilog сложнее: требует понимания цифровой логики (триггеры, задержки, тактирование), строгой дисциплины проектирования.

b) Абстракция и контроль

  • Python абстрагирует программиста от низкоуровневых деталей (память, процессор).

  • Verilog требует точного описания аппаратуры, учёта временных задержек, параллелизма.

c) Отладка и тестирование

  • В Python ошибки часто легко найти благодаря интерпретируемости и понятным сообщениям.

  • В Verilog ошибки могут проявляться как непредсказуемое поведение схемы, и их отладка требует симуляции (например, в ModelSim).

d) Мыслительная модель

  • Python — императивный/ООП-подход, последовательное выполнение.

  • Verilog — параллельные процессы, синхронная и комбинационная логика, что сложнее для новичков.

3. Вывод

Verilog сложнее Python по нескольким причинам:

  1. Требует знаний цифровой схемотехники, а не только программирования.

  2. Параллельная модель выполнения менее интуитивна, чем последовательная.

  3. Ошибки в Verilog могут приводить к неработоспособности аппаратуры, а не просто к падению программы.

Однако если сравнивать в рамках их областей применения, то:

  • Для новичка в программировании Python будет намного проще.

  • Для инженера цифровых схем Verilog — естественный инструмент, а Python может использоваться лишь для вспомогательных задач (скрипты, обработка данных).

Итог: Сложность Verilog выше из-за необходимости понимания аппаратной логики и параллельных процессов, тогда как Python разработан для удобства и быстроты разработки.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации