Правда об асинхронном сбросе
Частенько на вопрос “Почему вы выбрали асинхронную схему сброса для своих модулей?” в ответ можно услышать, что такая схема требует меньше логических ресурсов для своей реализации. В целом это, конечно, правильно. Однако не всегда. И в этом посте мне хотелось бы привести наглядный пример обратной ситуации.
Аудио интерфейс для WM8731
Никогда не любил использовать в своих проектах исходники, поставляемые вместе с комплектами разработчика. Особенно, если авторами кода являются азиаты. Вы не подумайте чего, к азиатам я отношусь совершенно нормально (иначе вряд ли бы работал с ними столь длительное время). Однако разница в менталитетах приводит и к разнице в решениях.
Audience(TM). 1.Общая архитектура.
Итак, начинаем проектирование.
Для начала набросаю примерную архитектуру платы. В процессе проектирования в нее наверняка будут внесены дополнения и изменения, однако в первом приближении структура видится мне следующей:
Audience (TM). Плата для разработки аудио-приложений. Общественный проект.
Модель аудио-кодека WM8731.
Одним из моих основных рабочих инструментов является плата Altera DE2 от компании Terasic. В ходе работы с этой платой возникла необходимость в создании поведенческой модели аудио-кодека WM8731, установленного на этой плате. К слову сказать, кодек оказался довольно неплохим. Однако мне совсем не понравилось, как инженеры Terasic установили его на плату.
“Умение разбираться в чужом коде”
Знакомая фраза, не так ли?
Большинство работодателей считают необходимым вставить эту фразу на одно из первых мест в список требований к потенциальному кандидату.
По моему мнению, за этой фразой кроется не совсем то, что подразумевает работодатель…
Избавляемся от лишнего клокового домена.
При проектировании последовательных интерфейсов практически всегда возникает проблема реализации работы устройства от одного общего тактового сигнала.
Классический пример последовательного интерфейса приведен на Рис.1.

Рис.1. Последовательный интерфейс.
На приведенной диаграмме видно, что данные в приемник защелкиваются по переднему фронту сигнала SCLK. При этом данные с передатчика должны установиться на линии DOUT до прихода переднего фронта SCLK.
Типовая реализация такого интерфейса на языке Verilog выглядит следующим образом:
Ключ на старт!
Доброго дня всем!
После многих лет работы по специальности возникло желание создать свой русскоязычный блог, посвященный электронике.
Название «Мир FPGA» отражает в себе основную область интересов авторов блога – работу с программируемой логикой. Однако это не значит, что публикации на другие темы, относящиеся к электронике, будут обходиться стороной.
Администрация блога приглашает всех заинтересованных специалистов поучаствовать в создании информационного ресурса, в котором они смогут поделиться своим опытом работы в различных областях электроники, и, надеемся, найти для себя полезную информацию.
Ключ на старт!

Последние комментарии