реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Как описать QDR прием ?
DS
сообщение Jun 1 2017, 12:49
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Надо принять (Kintex) сигнал на x4 от тактовой.

Казалось бы - IFDDR, PLL x2 и пара триггеров + финальный четырехбитный регистр от CLK.

Но почему-то ISE лепит регистр, который тактируется от CLK через несколько регионов от места, где разведен IFDDR и FF с CLKx2. Естественно, PAR долго думает и не сходится в итоге.

Как правильно задавать констрейнты в этом случае ?

P.S. Может и правильно все работает, но я не задал где-то TIG ? Появляются HOLD с какими-то дикими значениями -6.ххх нс.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Jun 1 2017, 16:08
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Констрейн для ддр это в любом случае такая штука где легко облажаться.
Так что если уж пошли таким путём (не уверен что правильным), то идите до конца:: ПЛЛ пусть умножает на 4, и никаких IFDDR.
Go to the top of the page
 
+Quote Post
DS
сообщение Jun 1 2017, 16:14
Сообщение #3


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



На 4 уже нельзя умножить.

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


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
krux
сообщение Jun 1 2017, 17:46
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



дык это.... x4 это нифига уже не IDDR, это должен быть ISERDES.

с другой стороны QDR-II/QDR-II+ SRAM от Cypress - это не х4, а х2 и с темпом запросов не 1, а 1/2.

итого: у вас таки-что?


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jun 1 2017, 18:30
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



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

То есть DDR по переднему и заднему фронту двойного принимаются, потом по двойному их в FIFO, а потом по одинарному из FIFO забрать, как то так должно сойтись вроде как...
Go to the top of the page
 
+Quote Post
DS
сообщение Jun 5 2017, 20:50
Сообщение #6


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Цитата(krux @ Jun 1 2017, 20:46) *
дык это.... x4 это нифига уже не IDDR, это должен быть ISERDES.

с другой стороны QDR-II/QDR-II+ SRAM от Cypress - это не х4, а х2 и с темпом запросов не 1, а 1/2.

итого: у вас таки-что?


У меня асинхронный вход. Разобрался уже с модой OVERSAMPLING, пока работает (надо в другом банке еще то же сделать, с того же PLL).

Вопрос - есть какой-нибудь стандартный документированный способ синхронного перехода от домена 2х к 1х с удвоением данных ? Что-то всякие примеры констрейнов дают неустойчивые (в смысле результатов компиляции) результаты на частотах 600 и больше.

Когда есть сдвиг клоков PLL в сторону ухудшения, XST за 1 такт 2х не может построить переход между триггерами. И возникают 2 вопроса - 1. как в этих условиях правильно задать выбор периода 2х , в котором писать в регистр, и 2. как объяснить XST, что смотреть надо через 2 такта (это вроде понятно, что в UCF 2 цикла можно задать, но что-то невразумительное я получаю, может потому что п.1 не выполняется).

C HOLD ошибками я разобрался, это из-за сдвига клока.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Jun 6 2017, 02:19
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(DS @ Jun 1 2017, 19:49) *
Но почему-то ISE лепит регистр, который тактируется от CLK через несколько регионов от места, где разведен IFDDR и FF с CLKx2. Естественно, PAR долго думает и не сходится в итоге.

Как правильно задавать констрейнты в этом случае ?

P.S. Может и правильно все работает, но я не задал где-то TIG ? Появляются HOLD с какими-то дикими значениями -6.ххх нс.

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

З Ы Важное замечание. Ваши клоки CLK и CLKx2 должны из одной PLLки делаться и одинаковым способом, иначе потом замучаетесь тайминги сводить, либо сетап расползётся, либо холд.
Go to the top of the page
 
+Quote Post
DS
сообщение Jun 6 2017, 07:13
Сообщение #8


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Естественно, из одного PLL.
Проблем вытащить из ISERDES нет.

Нужно перейти уже внутри фабрики между двумя клоками, которые оказываются сдвинутыми между собой в "плохую" сторону, так что не хватает времени на то, чтобы уложиться в период x2 минус сдвиг.

P.S. Нашел правильный ответ у Xilinx - нужно сделать тестовую пару ISERDES-OSERDES и достаточно сложную логику привязки фаз с управлением MMCM. Решения средствами языка/констрейнсов нет.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 21:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01432 секунд с 7
ELECTRONIX ©2004-2016