Перейти к содержанию
    

Напишу свой вопрос в теме, чтобы не плодить очередную.

Возник вопрос по констрейнам. В частности про set_multicycle_path - мультициклы.

Сам смысл констрейна мне понятен - указать трассировщику, что данные на определенном регистре меняются не каждый такт, а раз в несколько тактов.

Но возникло некоторое непонимание, а на какие регистры правильно накладывать эти констрейны.

Приведу пример:

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

Передаваемое слово имеет 10 разрядов.

Данную задачу решаю так:

Принимаю данные на 10 кратной частоте в 10 разрядный сдвиговый регистр(SHREG).

Каждые 10 тактов, счетчик(CNT) генерирует сигнал по которому данные со сдвигового регистра переписываются в обычный регистр(REG).

Потом, данные с обычного регистра я передаю в FIFO буфер(destination FIFO) для пересылки между клоковыми доменами.

Так вот на какой путь необходимо накладывать констрейн мультицикла ?

На путь от SHREG до REG.

Или на путь от REG до destination FIFO.

Основная задача которую я хочу решить - написать собственный приёмник LVDS, поскольку встроенные приёмники по определенным причинам мне не подходят. Поэтому необходимо выжать максимум скорости с этого приёмника. На данный момент выше 450 Мгц не получается принимать данные. Хотя в теории каждый из модулей(REG, SHREG, CNT) может работать на частоте до 800 МГц.

 

LVDS_RX.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так вот на какой путь необходимо накладывать констрейн мультицикла ?

Почитайте статьи des00 - там понятно все и просто http://kit-e.ru/articles/plis/2010_12_38.php

У меня принципиальный вопрос по схеме, приведенной Вами - там на входе отсутствует DDR-регистр, это так и задумано?

Ну и, соответственно, эти значения частот взяты из документации - 800МГц? Я просто не видел таких частот для SDR-режима, может все-таки там 800Mb/s для DDR-режима (для arriav максимальные предельные внутренние частоты - региональные/периферийные/глобальные клоки 450-550МГц)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почитайте статьи des00 - там понятно все и просто http://kit-e.ru/articles/plis/2010_12_38.php

У меня принципиальный вопрос по схеме, приведенной Вами - там на входе отсутствует DDR-регистр, это так и задумано?

Ну и, соответственно, эти значения частот взяты из документации - 800МГц? Я просто не видел таких частот для SDR-режима, может все-таки там 800Mb/s для DDR-режима (для arriav максимальные предельные внутренние частоты - региональные/периферийные/глобальные клоки 450-550МГц)?

Пока да, так и задумано приём на SDR. Поскольку хочу разобраться с мультициклами. Но в любом варианте потом сделаю на DDR.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока да, так и задумано приём на SDR. Поскольку хочу разобраться с мультициклами. Но в любом варианте потом сделаю на DDR.

Я к тому, что если сдвиговый регистр и счетчик реализованы на обычной логике, то это все и не заработает на частоте выше 450МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я к тому, что если сдвиговый регистр и счетчик реализованы на обычной логике, то это все и не заработает на частоте выше 450МГц.

Хм... Вы абсолютно правы. Если верить описанию на Clock Tree Specications for Cyclone V Devices то выше 550 MHz внутренняя логика работать не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...