Как преобразовать тактовую частоту 24 МГц и 12 МГц в тактовую частоту 8 МГц с помощью VHDL?

Я пишу код с использованием VHDL для преобразования часов 24 МГц и 12 МГц в часы 8 МГц. Может ли кто-нибудь помочь мне в этом кодировании? Заранее спасибо.


person meghs    schedule 13.05.2011    source источник
comment
Конечно, вы должны показать нам свой код. И VHDL определенно находится на грани тематических тем для SO.   -  person MSalters    schedule 13.05.2011


Ответы (3)


Это для ПЛИС? Или что-то другое? Вы действительно делите часы или просто сигнал? Для деления на три счетчика попробуйте эту ссылку:

http://www.asic-world.com/examples/vhdl/divide_by_3.html

И для 2/3:

http://www.edaboard.com/thread42620.html

person CL22    schedule 13.05.2011
comment
Да, это для FPGA. Я делю часы. Внешние часы могут быть 24 МГц или 12 МГц, которые я должен сделать 8 МГц. Спасибо вам за ссылки. - person meghs; 13.05.2011
comment
Привет, jodes, я не получаю вывод для деления на 3 кода. 'cout остается высоким все время. - person meghs; 13.05.2011

Как уже сказал Мартин, используйте устройство управления часами по рекомендациям Xilinx, чтобы разделить ваши часы на более низкую частоту.

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

Вот несколько советов:

  • Обязательно внимательно прочитайте и следуйте рекомендациям по аппаратному обеспечению управления часами для вашего устройства. Может быть довольно много «ошибок», связанных с включением питания, сбросом, потерей блокировки часов и т. Д.
  • Убедитесь, что вы используете устройство управления часами в соответствии с его спецификациями. См. техническое описание вашего устройства для получения дополнительной информации (в данном случае для S3-A).
  • Используйте редактор FPGA, чтобы проверить правильность размещения и конфигурации ваших блоков управления часами (т. е. оказались ли они в нужном месте на чипе).
  • Придерживайтесь рекомендуемых практик для часов обратной связи и буферизации часов.
person Josh    schedule 17.05.2011

Используйте DCM или PLL (в зависимости от семейства FPGA) - примеры есть в документации. Если вы скажете нам, какая семья, я мог бы указать вам более точно.

РЕДАКТИРОВАТЬ: Как вы говорите, Spartan 3ADSP - вам нужно либо:

  • Используйте мастер синхронизации ядра генератора, чтобы создать файл VHDL или Verilog с необходимыми вам компонентами и надеяться, что вам никогда не понадобится понимать, что происходит.
  • Прочтите руководство по библиотекам и раздел DCM руководства пользователя для этого чипа, создайте экземпляр DCM самостоятельно и примените к нему правильные общие параметры/параметры.

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

person Martin Thompson    schedule 13.05.2011