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

 
 
 
Reply to this topicStart new topic
> MIG 3.6 Spartan-6, single read - нестандартное поведение
vugluskr
сообщение Dec 3 2010, 16:36
Сообщение #1


High speed digital design
***

Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786



Иатк, FPGA - SPARTAN-6, версия MIG 3.6, среда сборки ISE12.3 сделал однопортовый DDR2 контроллер, фифо для записи/чтения со стороны пользовательской логики 32 битные слова - в общем все стандартно.
Вот какая странность обнаружена.
1) записал в DDR2 счетчик от 0x0 ... 0xf
2) считываю в burst режиме - все ок
3) теперь делаю считывалку, вычитывающую по одному слову и вот, что вижу в чипскопе:


изображено самое начало чтения из фифо чтения.
в ддр2 записано следующее
0
1
2
.
.
F

Посылаем команду для вычитывания одного слова с адреса 0, ждем когда фифо станет не empty, дергаем строб чтения. И получаем, что до строба видим нужный 0, а после строба видим 1. Хотя в ug388 написано(страница 28):
This active-High signal is the read enable for the
Read Data FIFO. Read Data is clocked out of the
FIFO on the rising edge of pX_rd_clk when
pX_rd_en = 1 and pX_rd_empty = 0.

симуляция дает тоже самое.
Такое ощущение, что сбиваются указатели внутри MIG фифо, кто-нибудь наблюдает такое же?


--------------------
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Dec 3 2010, 20:06
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Спасибо. Учту.
Встречалась такая проблема на spartan 3E при burst size=2. Нашел потом в Release Notes and Known Issues.
Сказано однозначно, при burst size=2 одиночное чтение не работает.
Если аппаратный контроллер в spartan-6 слепили из того что было, то не удивительно.
Ну а кто в кризис будет переписывать давно РАБОТАЮЩИЙ дизайн.
Сейчас полистал документацию - про шестой спартан не нашел такого, должно быть, появится позже или проморгал.
Go to the top of the page
 
+Quote Post
vugluskr
сообщение Dec 3 2010, 20:16
Сообщение #3


High speed digital design
***

Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786



Цитата(Shtirlits @ Dec 3 2010, 23:06) *
Спасибо. Учту.
Встречалась такая проблема на spartan 3E при burst size=2. Нашел потом в Release Notes and Known Issues.
Сказано однозначно, при burst size=2 одиночное чтение не работает.
Если аппаратный контроллер в spartan-6 слепили из того что было, то не удивительно.
Ну а кто в кризис будет переписывать давно РАБОТАЮЩИЙ дизайн.
Сейчас полистал документацию - про шестой спартан не нашел такого, должно быть, появится позже или проморгал.

как я понял и как логично контроллер в спартане-6 изначально ориентирован на бурст - это хорошо и понятно. Между контроллером и моей логикой на самом деле стоит обычная дуал порт РАМ и glue logic (всякие указатели чтения и записи, эмулирующие работу фифо). Мне понятнопочему я вижу второе слово - оно естественно есть в памяти. Очень похоже на неправильную обработку указателей в пограничных состаяних. Тут есть два варианта либо что-то с синхронизацией, либо чисто логическая ошибка. В общем... да Вы правы, кризец.


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

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

 


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


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