|
Проблема приема данных Spartan-6 от АЦП |
|
|
|
Nov 26 2013, 13:39
|
Местный
  
Группа: Участник
Сообщений: 229
Регистрация: 16-11-09
Пользователь №: 53 649

|
Требуется принять поток данных в SPARTAN-6 с двухканальной АЦП LTC2195. Частота 100 МГц, режим DDR 4 lane, т.е данные в АЦП приходят с частотой 200 МГц по переднему и заднему фронту.
Это второй релиз платы (разводка сильно не менялась). В первом релизе, потратив много времени, удалось подобрать смещение фазы DCO (такт с АЦП) с помощью DCM (PHASE_SHIFT). В последнем релизе сделать это не удается. Видно искажение входного сигнала. Пытались подобрать фазу DCO, закреплять в PlanAhead, но безрезультатно. Бывает, что при определенном значении Phase Shift данные принимаются верно, но достаточно что-нибудь поменять в проекте, как все "уезжает". В чем может таиться ошибка? Как лучше организовать прием? Файл с исходным кодом:
ADC2195_receiver.vhd ( 9.53 килобайт )
Кол-во скачиваний: 638
|
|
|
|
|
 |
Ответов
|
Nov 26 2013, 14:21
|
Местный
  
Группа: Участник
Сообщений: 229
Регистрация: 16-11-09
Пользователь №: 53 649

|
Цитата(TRILLER @ Nov 26 2013, 16:59)  А вы входные триггеры в "лапы" поместили? Что есть "лапы"?
|
|
|
|
|
Nov 26 2013, 16:35
|
Местный
  
Группа: Участник
Сообщений: 230
Регистрация: 29-08-09
Пользователь №: 52 094

|
Цитата(maxics @ Nov 26 2013, 18:21)  Что есть "лапы"? IO timing из даташита гарантируется только для случая, когда входные/выходные регистры располагаются в IO-cell. Это достигается атрибутом IOB=true на соответствующих регистрах проекта. При этом между регистром и пином никакой дополнительной логики быть не должно.
|
|
|
|
|
Dec 6 2013, 06:33
|
Местный
  
Группа: Участник
Сообщений: 229
Регистрация: 16-11-09
Пользователь №: 53 649

|
Сделал все как было написано выше. Такт пускаю через BUFIO2 и затем на PLL, где делаю такт для IDDR.
Стабильности не прибавилось. Не выполняются тайминги для констрейнтов описанных в UCF: Код NET "out2a_p" LOC = L3; NET "out2a_n" LOC = L1;
NET "FR_p" LOC = K2; NET "FR_n" LOC = K1;
NET "DCO_p" LOC = J3; NET "DCO_n" LOC = J1;
NET "reset" LOC = D13;
INST "x_ADC2195_receiver/ibuf_2a" IOB =TRUE; INST "x_ADC2195_receiver/IBUFGDS_inst2" IOB =TRUE; #INST "x_ADC2195_receiver/ibuf_FR" IOB =TRUE;
INST "x_ADC2195_receiver/IDDR2_inst_a" IOB =TRUE; #INST "x_ADC2195_receiver/IDDR2_inst_b" IOB =TRUE; #INST "x_ADC2195_receiver/IDDR2_inst_c" IOB =TRUE; #INST "x_ADC2195_receiver/IDDR2_inst_d" IOB =TRUE;
# NET "DCO_p" TNM_NET = "DCO_p"; TIMESPEC TS_DCO_p = PERIOD "DCO_p" 5 ns HIGH 50 %;
#NET "x_ADC2195_receiver/DCO" TNM_NET = DCO;
NET "x_ADC2195_receiver/CLK0" TNM_NET = CLK0_GRP; NET "x_ADC2195_receiver/CLK180" TNM_NET = CLK180_GRP;
NET "out2a*" TNM = "out2a"; TIMEGRP "out2a" OFFSET = IN 1.25 ns VALID 2.5 ns BEFORE "DCO_p" TIMEGRP "CLK0_GRP"; TIMEGRP "out2a" OFFSET = IN 1.25 ns VALID 2.5 ns BEFORE "DCO_p" TIMEGRP "CLK180_GRP";
NET "Data_SV_out_I[0]" LOC = b20; NET "Data_SV_out_I[1]" LOC = b21; NET "Data_SV_out_I[2]" LOC = b22; NET "Data_SV_out_I[3]" LOC = d20; NET "Data_SV_out_I[4]" LOC = d21; NET "Data_SV_out_I[5]" LOC = d22; NET "Data_SV_out_I[6]" LOC = c20; NET "Data_SV_out_I[7]" LOC = c22; NET "Data_SV_out_I[8]" LOC = f20; NET "Data_SV_out_I[9]" LOC = h19; NET "Data_SV_out_I[10]" LOC = h18; NET "Data_SV_out_I[11]" LOC = e20; NET "Data_SV_out_I[12]" LOC = e22; NET "Data_SV_out_I[13]" LOC = f21; NET "Data_SV_out_I[14]" LOC = f22; NET "Data_SV_out_I[15]" LOC = h20;
NET "test[0]" LOC = k16; NET "test[1]" LOC = j16; NET "test[2]" LOC = h16; NET "test[3]" LOC = h17; //////////////////////////////////////////////////// Timing constraint: TIMEGRP "out2a" OFFSET = IN 1.25 ns VALID 2.5 ns BEFORE COMP "DCO_p" TIMEGRP CLK0_GRP; For more information, see Offset In Analysis in the Timing Closure User Guide (UG612). 2 paths analyzed, 1 endpoint analyzed, 1 failing endpoint 1 timing error detected. (1 setup error, 0 hold errors) Minimum allowable offset is 2.404ns. -------------------------------------------------------------------------------- Paths for end point x_ADC2195_receiver/IDDR2_inst_a (ILOGIC_X0Y83.D), 2 paths -------------------------------------------------------------------------------- Slack (setup path): -1.154 ns (requirement - (data path - clock path - clock arrival + uncertainty)) Source: out2a_n (PAD) Destination: x_ADC2195_receiver/IDDR2_inst_a (FF) Destination Clock: x_ADC2195_receiver/clk0 rising at 1.111ns Requirement: 1.250ns Data Path Delay: 2.975ns (Levels of Logic = 3)(Component delays alone exceeds constraint) Clock Path Delay: -0.236ns (Levels of Logic = 4) Clock Uncertainty: 0.304ns Clock Uncertainty: 0.304ns ((TSJ^2 + DJ^2)^1/2) / 2 + PE Total System Jitter (TSJ): 0.050ns Discrete Jitter (DJ): 0.132ns Phase Error (PE): 0.233ns В чем может быть причина ошибок?
Причина редактирования: используйте теги для оформления кода (с) модератор
|
|
|
|
Сообщений в этой теме
maxics Проблема приема данных Spartan-6 от АЦП Nov 26 2013, 13:39  Maverick Цитата(maxics @ Nov 26 2013, 16:21) Что е... Nov 26 2013, 14:33   elzaro Цитата(Maverick @ Nov 26 2013, 17:33) лап... Nov 26 2013, 16:27    o_khavin Цитата(maxics @ Dec 6 2013, 10:33) Сделал... Dec 8 2013, 08:43     XVR Цитата(o_khavin @ Dec 8 2013, 12:43) А на... Dec 8 2013, 14:00      o_khavin Цитата(XVR @ Dec 8 2013, 18:00) Смотрел, ... Dec 8 2013, 15:20       XVR Цитата(o_khavin @ Dec 8 2013, 19:20) Во п... Dec 9 2013, 09:44        o_khavin Цитата(XVR @ Dec 9 2013, 13:44) Пока ТС н... Dec 10 2013, 19:56 dmitry-tomsk Цитата(maxics @ Nov 26 2013, 16:39) Требу... Nov 26 2013, 14:07 Bad0512 Цитата(maxics @ Nov 26 2013, 20:39) Требу... Nov 26 2013, 16:34 XVR Судя по этим строкам в отчете -
ЦитатаData Path De... Dec 6 2013, 09:48 TRILLER Извините, со спартанами не работал, но.. каким обр... Dec 9 2013, 10:19 maxics Между IDDR2 и данными никакой доп. логики нет. Это... Dec 11 2013, 10:27 TRILLER Хм.. А в обратной связи, значит, оставили? Может п... Dec 12 2013, 06:20 Mityan Здравствуйте.
В ПЛИС новичок. Изучаю вопрос подклю... Dec 20 2013, 13:01 Bad0512 Цитата(Mityan @ Dec 20 2013, 20:01) Здрав... Dec 22 2013, 05:01  Mityan Цитата(Bad0512 @ Dec 22 2013, 07:01) Это ... Dec 22 2013, 18:31   Bad0512 Цитата(Mityan @ Dec 23 2013, 01:31) То ес... Dec 23 2013, 04:51    Mityan Цитата(Bad0512 @ Dec 23 2013, 06:51) Не с... Dec 23 2013, 06:35     Timmy Цитата(Mityan @ Dec 23 2013, 10:35) По по... Dec 23 2013, 07:22     Bad0512 Цитата(Mityan @ Dec 23 2013, 13:35) ПЛИС ... Dec 23 2013, 08:09 Mityan Большое спасибо за идею по поводу понижения тактов... Dec 23 2013, 13:24 Mityan Нашел еще один несколько похожий документ - харр88... Dec 24 2013, 09:32
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|