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

Hyperlynx FPGA DDR3

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

Вот так выглядит сигнал FPGA->DDR (Data write). DDR Batch simulation он проходит.
[attachment=112303:001.png]

А вот так выглядит та же самая линия в обратном направлении DDR->FPGA (Data read). В DDR Batch simulation пишет Bad signal.
Что с этим делать?
[attachment=112304:002.png]

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

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


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

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


Ссылка на сообщение
Поделиться на другие сайты
Модели прицеплены в архиве.
Сигналы, приведенные выше, соответствуют ноге F2 для памяти и Y14 для циклона.
В sweeps я посмотрел все сочетания входов и выходов. Там нет существенных различий.
300 Мгц хочет заказчик.
[attachment=112313:ibis.zip]
Эквивалентная схема этой линии
[attachment=112314:pic.png]

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


Ссылка на сообщение
Поделиться на другие сайты
У меня несколько иначе получается.
Запись в память:
[attachment=112318:RAM_Write.PNG]

Чтение памяти:
[attachment=112319:RAM_Read.PNG]

В обоих случаях PRBS 31bit 600Mbps:
[attachment=112320:Eye_Params.PNG]

Зеленый - сигнал на пине, красный/оранж - на чипе(at die).
На пине выглядит не особо, но на самом приемнике уже вполне ничего.

А вообще странно, что в модели sstl135 для FPGA не упоминается какой величины терминирующий резистор используется. Потому как 34 и 40 Ом это для передачи(последовательный резистор), а на приеме обычно 20-30-40-60-120 доступны, и например для ARRIA10 именно такие драйверы прописаны:
[attachment=112321:SSTL135_Drv_List.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 или очень близко к нему) и получил вот такой сигнал:
[attachment=112322:RAM_Read_withODT.PNG]
Как и в предыдущих случаях зеленый - на пине, красный - at die.

В исходнике IBIS для CYCLONE V модели разделены на источники и приемники. Т.е. Вам нужно для записи в память использовать модель sstl135_ctpio_r34c (или _r40c, смотря что лучше), а для чтения из нее sstl135_сtpin_g40c (или _g30c/_g60c опять же по результату моделирования).
Разве что Quartus объединяет io+in, но тогда нужно выяснять какую именно терминацию он включил в использованную sstl135_ctpio_r34c_ms5.

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


Ссылка на сообщение
Поделиться на другие сайты
Я думал вы мои IBIS модели использовали...

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


Ссылка на сообщение
Поделиться на другие сайты
На первых скринах именно они. На последнем - ARRIA. Там же видно, над сигналом схема и названия моделей на ней.
Я просто к тому, что мне кажется модель драйвера пинов FPGA выбрана не совсем правильно. Либо Квартус странно скомпилил целевой IBIS файл.

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


Ссылка на сообщение
Поделиться на другие сайты
Если взять модель с согласованием из исходного файла альтеры, то [attachment=112324:2018_05_...10_57_18.png]
Форма сигнала очень сильно зависит от выбираемой модели приемника и параметров передающей линии.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти