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

 
 
> ADC DDR and setup slacks
andrew_b
сообщение Sep 28 2015, 10:55
Сообщение #1


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Имееется ADC AD6649, выдающая 14-разрядные данные в DDR-режиме на частоте до 250 МГц. Приёмником выступает Cyclone V.

Не получается разводка без ошибок в STA. Причём ошибки в одном и том же месте: на пути от выхода ddio до ближайшего триггера. Там небегает какое-то дикая задержка по данным, что никак не укладывается в 4-нс тактовую. Что с этим делать, я уже не знаю. LogicLock ситуацию не спасает. Задержки меньше, чем без него (естественно), но слаки не уходят.

Приложен минимальный проект: ddio->регистры->выход. Буду признателен, если кто-то взглянет.

Прикрепленные файлы
Прикрепленный файл  slacks.qar.txt ( 3.38 килобайт ) Кол-во скачиваний: 50
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
des00
сообщение Sep 29 2015, 07:04
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Мне удобнее с верилогом работать. Поправил код :
Код
module slacks #(parameter pDAT_W = 14) (input Clk, input [pDAT_W-1 : 0] Din, output logic [pDAT_W-1 : 0] dout_re, dout_im);

  logic [pDAT_W-1 : 0] ddio__dataout_h;
  logic [pDAT_W-1 : 0] ddio__dataout_l;
  logic [pDAT_W-1 : 0] dat_re [2];
  logic [pDAT_W-1 : 0] dat_im [2];

  altddio_in
  #(
    .intended_device_family ( "Cyclone V"  ) ,
    .invert_input_clocks    ( "OFF"         ) ,
    .lpm_hint               ( "UNUSED"     ) ,
    .lpm_type               ( "altddio_in" ) ,
    .power_up_high          ( "OFF"        ) ,
    .width                  ( pDAT_W       )
  )
  ddio
  (
    .datain     ( Din             ),
    .inclock    ( Clk             ),
    .dataout_h  ( ddio__dataout_h ),
    .dataout_l  ( ddio__dataout_l ),
    .aclr (1'b0),
    .aset (1'b0),
    .inclocken (1'b1),
    .sclr (1'b0),
    .sset (1'b0)
  );

  always_ff @(posedge Clk) begin
    {dat_re[1], dat_re[0]} <= {dat_re[0], ddio__dataout_h};
    {dat_im[1], dat_im[0]} <= {dat_im[0], ddio__dataout_l};
    //
    dout_re <= dat_re[1];
    dout_im <= dat_im[1];
  end

endmodule

Сделал, адекватный, по моему мнению, sdc
Код
set_time_format -unit ns -decimal_places 3

set CLK_PERIOD 4.0

create_clock -name {Clk} -period $CLK_PERIOD [get_ports {Clk}]

set tskew_min 0.4
set tskew_max 1.0

# setup
set_input_delay -clock {Clk}                     -rise -max  1.0   [get_ports {Din[*]}] -add_delay
set_input_delay -clock {Clk} -clock_fall     -fall -max  1.0     [get_ports {Din[*]}] -add_delay

# hold
set_input_delay -clock {Clk}                     -rise -min -0.4     [get_ports {Din[*]}] -add_delay
set_input_delay -clock {Clk} -clock_fall     -fall -min -0.4     [get_ports {Din[*]}] -add_delay

# remove incorrect from-to paths
set_false_path -rise_from [get_clocks {Clk}] -through [get_pins -compatibility_mode ddio*\|datain] -fall_to [get_clocks {Clk}]
set_false_path -fall_from [get_clocks {Clk}] -through [get_pins -compatibility_mode ddio*\|datain] -rise_to [get_clocks {Clk}]

И вот дальше не понимаю чем занимается квартус. Пути до регистров, одного вектора, отличаются на 2 нс (см. скрин). Картинка в чип эдиторе и просмотрщике ресурсов, вызывает подозрение на багу софта. Я не понимаю как так происходит.

из вариантов вижу подвинуть клок на PLLке или на lcell. Либо сделать все на PLLке
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Sep 29 2015, 09:51
Сообщение #3


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Скомпилировал исходный проект в двух квартусах, результат во вложении. Верхняя картинка Q12.1, нижняя картинка Q15.0.2. Вы в каких квартусах пробовали?.
Прикрепленные файлы
Прикрепленный файл  quest.doc ( 247 килобайт ) Кол-во скачиваний: 25
 
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Sep 29 2015, 10:21
Сообщение #4


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(_Anatoliy @ Sep 29 2015, 13:51) *
Скомпилировал исходный проект в двух квартусах, результат во вложении. Верхняя картинка Q12.1, нижняя картинка Q15.0.2. Вы в каких квартусах пробовали?.

У меня 13, у des00 -- 14.
Предлагаете откатиться на 12?
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Sep 29 2015, 10:28
Сообщение #5


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(andrew_b @ Sep 29 2015, 13:21) *
У меня 13, у des00 -- 14.
Предлагаете откатиться на 12?

Ну я пока с 12.1 не соскакиваю...
Стоп,вспомнил - в новых версиях Квартуса поставили уточнённые задержки,поэтому времянки и валятся. Так что ,похоже, синие слэки в Q12.1 ещё не факт что всё будет гут в железе...

Цитата(des00 @ Sep 29 2015, 08:02) *
вы используете сферического коня в вакууме (виртуальный клок).

А вы читали альтеровский документ "Implementing a Source Synchronous Interface between Altera FPGAs"? Они для подобного интерфейса совсем не брезгуют виртуальным клоком.
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 29 2015, 11:34
Сообщение #6


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(_Anatoliy @ Sep 29 2015, 17:28) *
А вы читали альтеровский документ "Implementing a Source Synchronous Interface between Altera FPGAs"? Они для подобного интерфейса совсем не брезгуют виртуальным клоком.

Читал, физику и логику этого решения тоже не понял, потому и прошу объяснить. Мой вариант основан на физике процесса и логике здравого смысла.


--------------------
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Sep 29 2015, 11:42
Сообщение #7


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(des00 @ Sep 29 2015, 14:34) *
Читал, физику и логику этого решения тоже не понял, потому и прошу объяснить. Мой вариант основан на физике процесса и логике здравого смысла.

Эта картинка вам понятна?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Sep 29 2015, 11:58
Сообщение #8


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(_Anatoliy @ Sep 29 2015, 15:42) *
Эта картинка вам понятна?
Из неё непонятно, зачем использовать какой-то виртуальный клок, если есть вполне реальный clock_out.

Цитата(_Anatoliy @ Sep 29 2015, 14:28) *
Стоп,вспомнил - в новых версиях Квартуса поставили уточнённые задержки,поэтому времянки и валятся.
Ну так в логе и пишется: временные характеристики чипа предварительные.
Цитата
Так что ,похоже, синие слэки в Q12.1 ещё не факт что всё будет гут в железе...
У меня тоже есть эти сомнения. И таки шо делать?
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 29 2015, 12:56
Сообщение #9


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(andrew_b @ Sep 29 2015, 18:58) *
У меня тоже есть эти сомнения. И таки шо делать?

пропустить DCO через PLL, на ней сформировать 2 клока: для IO регистров и для регистров на чипе.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- andrew_b   ADC DDR and setup slacks   Sep 28 2015, 10:55
- - _Anatoliy   Цитата(andrew_b @ Sep 28 2015, 13:55) Име...   Sep 28 2015, 11:32
- - des00   Цитата(andrew_b @ Sep 28 2015, 17:55) При...   Sep 28 2015, 11:45
|- - _Anatoliy   Вот пример для AD9634. Код#***********************...   Sep 28 2015, 11:52
||- - des00   Цитата(_Anatoliy @ Sep 28 2015, 18:52) Во...   Sep 28 2015, 12:03
||- - _Anatoliy   Цитата(des00 @ Sep 28 2015, 15:03) брррр....   Sep 28 2015, 12:14
||- - des00   Цитата(_Anatoliy @ Sep 28 2015, 19:14) А ...   Sep 28 2015, 12:21
||- - _Anatoliy   Цитата(des00 @ Sep 28 2015, 15:21) может ...   Sep 28 2015, 12:37
||- - des00   Цитата(_Anatoliy @ Sep 28 2015, 19:37) Зн...   Sep 28 2015, 12:47
||- - _Anatoliy   Цитата(des00 @ Sep 28 2015, 15:47) Если н...   Sep 28 2015, 13:57
||- - des00   Цитата(_Anatoliy @ Sep 28 2015, 21:57) А ...   Sep 29 2015, 05:02
|- - andrew_b   Цитата(des00 @ Sep 28 2015, 15:45) Всё ст...   Sep 28 2015, 13:03
- - Anton1990   Цитата(andrew_b @ Sep 28 2015, 13:55) Име...   Sep 28 2015, 15:36
|- - andrew_b   Цитата(Anton1990 @ Sep 28 2015, 19:36) Та...   Sep 29 2015, 06:00
|- - _Anatoliy   Думаю что нельзя сказать что один метод хорош,друг...   Sep 29 2015, 12:28
|- - andrew_b   Цитата(des00 @ Sep 29 2015, 16:56) пропус...   Sep 30 2015, 10:30
|- - _Anatoliy   Цитата(andrew_b @ Sep 30 2015, 13:30) Ес...   Sep 30 2015, 11:38
|- - andrew_b   Цитата(_Anatoliy @ Sep 30 2015, 15:38) А ...   Oct 1 2015, 06:03
|- - _Anatoliy   Цитата(andrew_b @ Oct 1 2015, 09:03) Если...   Oct 1 2015, 06:35
- - des00   а так вообще последние квартусы глюкодромы у меня...   Sep 29 2015, 11:51
- - alexadmin   Меня сейчас растопчут ногами, но я давно уже махну...   Sep 30 2015, 15:55
|- - _Anatoliy   Цитата(alexadmin @ Sep 30 2015, 18:55) Ме...   Oct 1 2015, 10:52
- - andrew_b   Начал наконец смотреть распиновку. КодDin [0...   Oct 2 2015, 08:00
|- - des00   Цитата(andrew_b @ Oct 2 2015, 15:00) И ...   Oct 2 2015, 08:26
|- - andrew_b   Цитата(des00 @ Oct 2 2015, 12:26) лечите ...   Oct 2 2015, 11:14
|- - des00   Цитата(andrew_b @ Oct 2 2015, 19:14) Вопр...   Oct 2 2015, 15:28
- - andrew_b   Отпишусь по результатам натурных испытаний. HMCPH...   Nov 14 2015, 13:36
- - otv116   Добрый день. Делаю прошивку под C-III как раз с АЦ...   Mar 3 2018, 09:38
- - otv116   Пробовал бороться с задержкой сигнала от DQ пина д...   Mar 21 2018, 12:57
|- - _Anatoliy   Кстати, насчёт HMCPHY, может есть у кого доступ на...   Mar 21 2018, 13:34
- - otv116   Для интереса поменял CEBA на CEFA, у которого есть...   Mar 21 2018, 13:44
- - _Anatoliy   Цитата(otv116 @ Mar 21 2018, 16:44) Спас...   Mar 22 2018, 04:16
- - Flip-fl0p   ЦитатаСпасибо, коллега! Тоже сталкивался с по...   Mar 22 2018, 04:39


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

 


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


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