Правда об асинхронном сбросе


Частенько на вопрос “Почему вы выбрали асинхронную схему сброса для своих модулей?” в ответ можно услышать, что такая схема требует меньше логических ресурсов для своей реализации. В целом это, конечно, правильно. Однако не всегда. И в этом посте мне хотелось бы привести наглядный пример обратной ситуации.

Рубрики:FPGA Programming Метки: ,

Аудио интерфейс для WM8731


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

Читать далее…

Рубрики:Altera DE2, FPGA Programming Метки: ,

Audience(TM). 1.Общая архитектура.


Итак, начинаем проектирование.
Для начала набросаю примерную архитектуру платы. В процессе проектирования в нее наверняка будут внесены дополнения и изменения, однако в первом приближении структура видится мне следующей:

Рубрики:Audience(TM), Hardware Design Метки:

Audience (TM). Плата для разработки аудио-приложений. Общественный проект.

Поскольку в настоящее время сферой моей деятельности является разработка IP-ядер и микросхем для обработки звука, возникла необходимость в подходящей плате для верификации своих изделий. Перерыв интернет, я с удивлением обнаружил, что производители отладочных плат с FPGA про звук в основной своей массе почти не вспоминают. Такие платы, как правило, перегружены интерфейсами и видео-чипами. Однако если у кого-то на плате и установлен аудио-кодек, то по очень остаточному принципу, а именно с минимальным количеством входов-выходов и посредственной функциональностью. На уже имеющейся у меня плате Altera DE2 кодек в один прекрасный день перестал удовлетворять растущие потребности. Да и мой последний проект совсем не хочет влазить в FPGA, установленную на этой плате.
Единственный более-менее функциональный кодек оказался на плате у не совсем мной любимого Xilinx. Речь идет о платах ML501 и ML505 на базе Virtex 5. Но и там напрочь отсутствует нужный мне интерфейс с телефонной линией, два линейных стерео-входа и выходной усилитель мощности.

В связи с такой засадой появилось желание разработать свою собственную плату, «заточенную» именно под обработку звука (а пока пользоваться платами от Xilinx). Кроме того, возникла мысль привлечь заинтересованных лиц к участию в проекте (плата разрабатывается на общественных началах исключительно в свободное время), а о ходе разработки отписываться в блоге. Плата создается с нуля, поэтому к рассмотрению принимаются любые идеи и пожелания.

Желающие размяться и поучаствовать в общественном проекте, пишите мне на e-mail.

Рубрики:Audience(TM), Hardware Design Метки:

Модель аудио-кодека WM8731.

Одним из моих основных рабочих инструментов является плата Altera DE2 от компании Terasic. В ходе работы с этой платой возникла необходимость в создании поведенческой модели аудио-кодека WM8731, установленного на этой плате. К слову сказать, кодек оказался довольно неплохим. Однако мне совсем не понравилось, как инженеры Terasic установили его на плату.

Рубрики:FPGA Programming Метки: ,

“Умение разбираться в чужом коде”

Знакомая фраза, не так ли?

Большинство работодателей считают необходимым вставить эту фразу на одно из первых мест в список требований к потенциальному кандидату.

По моему мнению, за этой фразой кроется не совсем то, что подразумевает работодатель…

Рубрики:Поток сознания Метки:

Избавляемся от лишнего клокового домена.

При проектировании последовательных интерфейсов практически всегда возникает проблема реализации работы устройства от одного общего тактового сигнала.

Классический пример последовательного интерфейса приведен на Рис.1.

Рис.1. Последовательный интерфейс.

Рис.1. Последовательный интерфейс.

На приведенной диаграмме видно, что данные в приемник защелкиваются по переднему фронту сигнала SCLK. При этом данные с передатчика должны установиться на линии DOUT до прихода переднего фронта SCLK.

Типовая реализация такого интерфейса на языке Verilog выглядит следующим образом:

Читать далее…

Ключ на старт!

Доброго дня всем!

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

Название «Мир FPGA» отражает в себе основную область интересов авторов блога – работу с программируемой логикой. Однако это не значит, что публикации на другие темы, относящиеся к электронике, будут обходиться стороной.

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

Ключ на старт!

Рубрики:Поток сознания Метки:
Follow

Get every new post delivered to your Inbox.