kvandr 0 2 января, 2013 Опубликовано 2 января, 2013 · Жалоба Столкнулся с проблемой в FPGA. Нужно по команде инвертировать тактовый сигнал внутри чипа. Попытался сделать это элементом "исключающее или". Но Квартус ругается. Warning: (Medium) Rule C104: Clock signal source should drive only clock input ports. Found 1 nodes related to this rule. Чем его еще можно инвертировать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novchok 0 2 января, 2013 Опубликовано 2 января, 2013 (изменено) · Жалоба Столкнулся с проблемой в FPGA. Нужно по команде инвертировать тактовый сигнал внутри чипа. Попытался сделать это элементом "исключающее или". Но Квартус ругается. Warning: (Medium) Rule C104: Clock signal source should drive only clock input ports. Found 1 nodes related to this rule. Чем его еще можно инвертировать? Попробуйте через DCM модуль и сдвиг по фазе 180 градусов. Логикой этого сделать не удастся, потому что логика вносит джиттер в тактовый сигнал и фактически его "портит". Если не запретить компилятору он будет выдавать ошибку. Можно поискать в настройках где запретить чтобы не ругался. Другой способ, если Вам не важно качество сигнала, можете сделать так, подайте на D триггер у которого инверсный выход подключен ко входу D, клок с двухкратной частотой. На выходе получите поделенный на два прямой и инверсный сигнал. И вот этот сигнал используйте как тактовую частоту для последующей схемы. Изменено 2 января, 2013 пользователем novchok Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kvandr 0 2 января, 2013 Опубликовано 2 января, 2013 · Жалоба Попробуйте через DCM модуль и сдвиг по фазе 180 градусов. Логикой этого сделать не удастся, потому что логика вносит джиттер в тактовый сигнал и фактически его "портит". Если не запретить компилятору он будет выдавать ошибку. Можно поискать в настройках где запретить чтобы не ругался. Другой способ, если Вам не важно качество сигнала, можете сделать так, подайте на D триггер у которого инверсный выход подключен ко входу D, клок с двухкратной частотой. На выходе получите поделенный на два прямой и инверсный сигнал. И вот этот сигнал используйте как тактовую частоту для последующей схемы. Что такое DCM модуль? Как он называется в мегафункциях? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novchok 0 2 января, 2013 Опубликовано 2 января, 2013 (изменено) · Жалоба PLL модуль или что то такое, точнее посмотрите в руководстве по синтезу для Вашего чипа. Изменено 2 января, 2013 пользователем novchok Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 2 января, 2013 Опубликовано 2 января, 2013 · Жалоба Столкнулся с проблемой в FPGA. Нужно по команде инвертировать тактовый сигнал внутри чипа. Попытался сделать это элементом "исключающее или". Но Квартус ругается. Warning: (Medium) Rule C104: Clock signal source should drive only clock input ports. Found 1 nodes related to this rule. Чем его еще можно инвертировать? Какая-то странная задумка... По другому нельзя? Можно использовать DDR-триггер и инвертировать по данным, например. Деталей зачем это надо Вы не предоставили - поэтому ничего конкретного не посоветуешь. Кроме этого надо синхронизировать "команду" иначе будут глитчи. P.S. У Xilinx смотрите ODDR. Вкратце: D1 <= INV_CMD; D2 <= NOT(INV_CMD); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 2 января, 2013 Опубликовано 2 января, 2013 · Жалоба Надо из PLL вывести прямой и инверсный сигналы и мультиплексировать их специальным мультиплексором. В Альтере примитив называется clkmux, например. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 2 января, 2013 Опубликовано 2 января, 2013 · Жалоба Надо из PLL вывести прямой и инверсный сигналы и мультиплексировать их специальным мультиплексором. В Альтере примитив называется clkmux, например. PLL не на всякой частоте будет работать, в отличии от DDR (хоть 0.0000000000000001 Hz :rolleyes: ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 2 января, 2013 Опубликовано 2 января, 2013 · Жалоба Столкнулся с проблемой в FPGA. Нужно по команде инвертировать тактовый сигнал внутри чипа. Попытался сделать это элементом "исключающее или". Но Квартус ругается. Warning: (Medium) Rule C104: Clock signal source should drive only clock input ports. Found 1 nodes related to this rule. Чем его еще можно инвертировать? Наиболее правильное решение, если вносимые логикой джиттер и/или задержки для задачи по барабану, как это чаще всего бывает, просто забить на данный Warning, и сделать как делали. Это не ругань, это предупреждение, говорящее Вам, что в проекте имеется заход клока в логику. Он является "руганью", когда это получилось случайно, а когда по задумке - то просто информация. Не надо бояться клоков, прошедших через гейты, надо уметь правильно с ними работать. Только, в таком случае, не забудьте при указании констрейнов аккуратно объявить оба клока, и если имеется переход из домена, тактируемого исходным клоком, и клоком, прошедшим через логику, объявить клоки в одной группе, чтобы квартус соблюл холды. Это раз. И два - если речь именно про управляемую инверсию клока - то надо сделать безглитчевый мультиплексор прямого и инверсного сигнала, а не просто управлять через исключающее "ИЛИ", либо управление инверсией тактировать от клока, прошедшего через гейт, с той же целью, безглитчевости. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Костян 0 3 января, 2013 Опубликовано 3 января, 2013 · Жалоба Есть же специальные Clock MUX. C PLL вытягиваете 0 и 180 градусов clock и подаете на такой MUX Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 3 января, 2013 Опубликовано 3 января, 2013 · Жалоба Есть же специальные Clock MUX. C PLL вытягиваете 0 и 180 градусов clock и подаете на такой MUX См. сообщение №6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
warrior-2001 0 8 января, 2013 Опубликовано 8 января, 2013 · Жалоба Есть же специальные Clock MUX. C PLL вытягиваете 0 и 180 градусов clock и подаете на такой MUX Когда-то давно уже писал об этом подробно - не стоит двигать фазу на PLL в ПЛИС Альтера, если нужен предельный температурный режим. Наблюдал сбои на минусе. Если можно решить вопрос использованием другого фронта той же частоты - лучше сделать именно так. В большинстве случаев достаточно на плате сделать клоковое кольцо. Обязательно с клокового выхода и на клоковый пин. Ну или сдвигать частоты на источниках. Разумеется все вышесказанное актуально для частот выше 100 МГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Костян 0 8 января, 2013 Опубликовано 8 января, 2013 · Жалоба Когда-то давно уже писал об этом подробно - не стоит двигать фазу на PLL в ПЛИС Альтера, если нужен предельный температурный режим. Похоже на ошибку разработчиков PLL В большинстве случаев достаточно на плате сделать клоковое кольцо. Обязательно с клокового выхода и на клоковый пин. Ну или сдвигать частоты на источниках. Разумеется все вышесказанное актуально для частот выше 100 МГц. Поясните подробнее, пожалуйста. Ничего не понятно, как инвертировать в данном случае клок, чем сдвигать частоты источника ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
warrior-2001 0 10 января, 2013 Опубликовано 10 января, 2013 · Жалоба Похоже на ошибку разработчиков PLL Не думаю, что разработчики IP блока альтеры так уж виноваты. Дело скорее всего именно в железе. А так как речь идет о Стратиксах 2-3, то любой баг был бы оперативно устранен альтерой в части железа. Видимо действительно не тянут кристаллы такие вещи. Поясните подробнее, пожалуйста. Ничего не понятно, как инвертировать в данном случае клок, чем сдвигать частоты источника ? Если нужен действительно совет, то надо сперва понять, зачем необходима инверсия и какой порядок частот. Если частоты 100+ МГц, то необходимо схемотехническое решение. Гугл в помощь по источникам синхросигналов. Если инверсия всегда на 180 градусов, то можно в зависимости от задачи брать разные фронты частоты. Можно воспользоваться pll. Не рекомендую делать на логике, ибо со временем частота может подрасти и схема перестанет работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться