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

 
 
> Virtex 6. Прием данных с АЦП. Констрейны, Дифференциальный сигна, параллельная шина, ддр
Ethereal
сообщение Jul 10 2014, 15:14
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 114
Регистрация: 7-05-08
Из: РФ, Москва
Пользователь №: 37 354



Здравствуйте.

Имеется проект на шестом виртексе с параллельными АЦП на 400 МГц.
Выходная шина АЦП 10 бит, сопровождаются тактом 200 МГц с привязкой к центру UI. Сигналы дифференциальные. Передача идет с удвоенной скоростью. tsu, th относительно переднего фронта синхросигнала 1нс

В проекте, соответственно реализован приемник.
Дифференциальная шина пропускается сначала через IBUFDS.
С выхода IBUFDS она идет на IDDR и далее на синхронизатор на FIFO.

Клок от АЦП пропускается через IBUFDS и далее идет на клок IDDR, на котором защелкивается входная шина.

В .ucf описаны констрейны:

Код
NET InputAdcClockPos TNM_NET = TnmAdcClockPos;
TIMESPEC TsAdcClockPos = PERIOD TnmAdcClockPos 200 Mhz HIGH 50%;

TIMEGRP GrpRiseAdcClockPos = RISING TnmAdcClockPos;
TIMEGRP GrpFallAdcClockPos = FALLING TnmAdcClockPos;

OFFSET = IN 750 ps VALID 1500 ps BEFORE InputAdcClockPos TIMEGRP GrpRiseAdcClockPos;
OFFSET = IN 750 ps VALID 1500 ps BEFORE InputAdcClockPos TIMEGRP GrpFallAdcClockPos;


Описал с запасом на разбег в длинах проводников, хотя он там настолько влиять не должен.

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

После этого клок стал пропускать не через IBUFDS, а IBUFGDS, и стало намного лучше в части скорости работы, но фейл с констрейнами остался.
Например.

Код
Slack (setup path):     -1.144ns (requirement - (data path - clock path - clock arrival + uncertainty))
  Source:               InputAdcDataPos<3> (PAD)
  Destination:          GenDdr[3].IDDR_inst (FF)
  Destination Clock:    AdcClock rising at 0.000ns
  Requirement:          0.750ns
  Data Path Delay:      5.235ns (Levels of Logic = 1)
  Clock Path Delay:     3.366ns (Levels of Logic = 2)
  Clock Uncertainty:    0.025ns


где AdcClock - это клок на выходе IBUFGDS.

Tsu всей шины на переднем фронте болтается в районе 1.86нс. Th в районе минус 0.1.

Не подскажете, чем можно вылечить данную проблему?

Заранее спасибо.


--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 18:46
Рейтинг@Mail.ru


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