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

Hyperlynx FPGA DDR3

Не проходит Batch simulation в разделе Data read. Пишет Bad signal. Data write проходит и сигнал там заметно лучше.

 

Вот так выглядит сигнал FPGA->DDR (Data write). DDR Batch simulation он проходит.

post-11606-1525199760_thumb.png

 

А вот так выглядит та же самая линия в обратном направлении DDR->FPGA (Data read). В DDR Batch simulation пишет Bad signal.

Что с этим делать?

post-11606-1525199917_thumb.png

 

FPGA->DDR (Data write) проходят без проблем все 16 бит шины. В обратную сторону DDR->FPGA (Data read) не проходит ни один.

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


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

А что за модели драйверов выбраны? И клок 300МГц на линии данных - почему?

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


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

Модели прицеплены в архиве.

Сигналы, приведенные выше, соответствуют ноге F2 для памяти и Y14 для циклона.

В sweeps я посмотрел все сочетания входов и выходов. Там нет существенных различий.

300 Мгц хочет заказчик.

ibis.zip

Эквивалентная схема этой линии

post-11606-1525273475_thumb.png

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


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

У меня несколько иначе получается.

Запись в память:

post-4480-1525297193_thumb.png

 

Чтение памяти:

post-4480-1525297212_thumb.png

 

В обоих случаях PRBS 31bit 600Mbps:

post-4480-1525297332_thumb.png

 

Зеленый - сигнал на пине, красный/оранж - на чипе(at die).

На пине выглядит не особо, но на самом приемнике уже вполне ничего.

 

А вообще странно, что в модели sstl135 для FPGA не упоминается какой величины терминирующий резистор используется. Потому как 34 и 40 Ом это для передачи(последовательный резистор), а на приеме обычно 20-30-40-60-120 доступны, и например для ARRIA10 именно такие драйверы прописаны:

post-4480-1525297841_thumb.png

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


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

У вас форма сигнала получилась значительно лучше моих! Может я что-то неправильно делаю.

Может вы какие-то глобальные параметры меняли? Раскажете свой порядок действий?

Модель была взята отсюда https://www.altera.com/support/support-reso...ibis_index.html

Но в таком виде Hyperlynx ее не принимал.

Ее товарищ прогнал через Quartus кажется.

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


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

Обычный порядок, поставил два драйвера, назначил их, добавил линию передачи и просимулировал. Дело не в порядке. В Вашей модели и в моей наверняка отличается линия передачи, отсюда и разница возникает.

Но правильнее было бы взять не эту модель для FPGA, а модель с терминацией. Посмотрите "IBIS Models User Guide" - там в начале идет расшифровка обозначений моделей. Для корректной работы такой линии в режиме чтения памяти в FPGA нужна терминация, т.е. в названии модели должно быть что-то из этого:

g20c - 20ohm parallel on-chip Termination with Calibration

g30c - 30ohm parallel on-chip Termination with Calibration

g40c - 40ohm parallel on-chip Termination with Calibration

g50c - 50ohm parallel on-chip Termination with Calibration

g60c - 60ohm parallel on-chip Termination with Calibration

g120c - 120ohm parallel on-chip Termination with Calibration

Использованная модель sstl135_ctpio_r34c_ms5 этой терминации не имеет(по крайней мере исходя из ее названия), отсюда и плохой результат в направлении DDR->FPGA.

 

Я пробовал с моделью sstl135_rtio_g40c_r34_lv для ARRIA10 (вряд ли они используют для чипов одного поколения разные драйвера, должно быть то же, что и в CYCLONE V или очень близко к нему) и получил вот такой сигнал:

post-4480-1525325404_thumb.png

Как и в предыдущих случаях зеленый - на пине, красный - at die.

 

В исходнике IBIS для CYCLONE V модели разделены на источники и приемники. Т.е. Вам нужно для записи в память использовать модель sstl135_ctpio_r34c (или _r40c, смотря что лучше), а для чтения из нее sstl135_сtpin_g40c (или _g30c/_g60c опять же по результату моделирования).

Разве что Quartus объединяет io+in, но тогда нужно выяснять какую именно терминацию он включил в использованную sstl135_ctpio_r34c_ms5.

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


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

На первых скринах именно они. На последнем - ARRIA. Там же видно, над сигналом схема и названия моделей на ней.

Я просто к тому, что мне кажется модель драйвера пинов FPGA выбрана не совсем правильно. Либо Квартус странно скомпилил целевой IBIS файл.

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


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

Если взять модель с согласованием из исходного файла альтеры, то post-512-1525332479_thumb.png

Форма сигнала очень сильно зависит от выбираемой модели приемника и параметров передающей линии.

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


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

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

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

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

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

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

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

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

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

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