|
Cyclone V clock mux, Как сделать по уму динамический выбор 1-го тактового сигнала из 4-ёх |
|
|
|
Jun 1 2017, 22:25
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653

|
Приветствую всех.
Глобально задача выглядит следующим образом: Cyclone V E. Есть 4 входящих тактовых сигнала одной частоты (30mhz), но различной фазы (что на самом деле не суть важно). Требуется реализовать возможность динамически выбирать нужный тактовый сигнал для всей схемы на ПЛИС. Все 4 клока заведены на специальные клоковые ноги ПЛИСины.
Что пробовал:
1. Пробовал использовать ядро ALTCLKCTRL, оно как раз на 4 клока рассчитано, но к сожалению только 2 входа могут быть с внешних портов, остальные 2 должны быть с PLL. Каскадировать это ядро нельзя.
2. Два клока выбираются с помощью PLL через 2 входа reclk и refclk1 с ручным выбором Switchover, т.е. по сути PLL работает как мультиплексор. Остальные 2 идут на ALTCLKCTRL вместе с результирующим клоком с PLL. Итого из трех выбирается один. Вроде как всё разводится, но тут другая засада. Заключается она в том, что по сути ничего не переключается. Ни на PLL, ни на этом чертовом ALTCLKCTRL. Проблем с пайкой и прочих детсадовских ошибок точно нет.
Вот так совершенно, казалось бы, простая задача на этой "крутой" ПЛИС пока не решается по уму. Борюсь с искушением сделать мультиплексор на логике, а потом завести это каким-нибудь образом на вход PLL в режиме 1:1. Частота небольшая, но это как-то криво, хочется оставить на крайний случай.
Сообщение отредактировал Inanity - Jun 1 2017, 22:26
|
|
|
|
|
 |
Ответов
|
Jun 8 2017, 08:50
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653

|
Цитата(ViKo @ Jun 8 2017, 07:44)  Delay относительно чего? Между тактовой частотой внутри ПЛИС с ФАПЧ и входными тактами? Классический Source Synchronous дизайн, обмен данными с некоторым сторонним устройством по двунаправленной шине. С единственно разницей в том, что тактовый сигнал (входящий) не один, их 4. Но выбирается клок снаружи перемычкой ОДИН раз после подачи питания. Дальнейшая работа на выбранном клоке. В процессе работы клок меняться не будет. Для корректного обмена на шине у меня естественно есть ограничения input и output delay, которые привязаны к выбранному клоку.
|
|
|
|
Сообщений в этой теме
Inanity Cyclone V clock mux Jun 1 2017, 22:25 wert101 Цитата(Inanity @ Jun 2 2017, 01:25) Приве... Jun 2 2017, 13:07 Inanity Цитата(wert101 @ Jun 2 2017, 16:07) Не со... Jun 2 2017, 14:16  DmitryR Цитата(Inanity @ Jun 2 2017, 17:16) Задач... Jun 2 2017, 14:36 DmitryR Цитата(Inanity @ Jun 2 2017, 01:25) Cyclo... Jun 2 2017, 13:26 dvladim Цитата(Inanity @ Jun 2 2017, 17:16) Задач... Jun 6 2017, 20:49 Inanity Цитата(dvladim @ Jun 6 2017, 23:49) Решен... Jun 7 2017, 19:09 ViKo Сделайте мультиплексор тактов на логике внутри ПЛИ... Jun 7 2017, 08:01 dvladim UPD:
Решение третье: заведите клок на PLL, выход c... Jun 7 2017, 18:26  alexadmin Цитата(Inanity @ Jun 8 2017, 11:50) такто... Jun 8 2017, 10:21   Inanity Цитата(alexadmin @ Jun 8 2017, 13:21) Мож... Jun 8 2017, 10:47    ViKo Цитата(Inanity @ Jun 8 2017, 13:47) Да, в... Jun 8 2017, 11:43 Inanity Цитата(ViKo @ Jun 8 2017, 14:43) Нет, я н... Jun 9 2017, 12:09
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|