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

Не стартует SDRAM GW2AR-LV18EQ144C8/I7

Здравствуйте.

Чип GW2AR-LV18EQ144C8/I7

Подскажите пожалуйста где я что не заметил?

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

В железе запросы в периферии тоже на ура. Но вот встроенная оператива SDRAM никак не хочет запускаться.

Сама корка SDRAM_Controller_HS_Top вроде бы работает. через GAO видно что при запросах меняется состояние линий выходных данных. К тому же на команды всегда приходит ответ ACK. 

image.thumb.png.91626ffd381a1df5d1402b6f5d6bd408.png

 

image.thumb.png.76b338e8ae8c8809fa34dcf94528ea2d.png

 

А вот при команде на чтение всегда FFF идет. Даже мусора нет никакого. 

image.thumb.png.2d1c83e22b3008f4b9dbd27216b00657.png

 

 

Вот тот же фрагмент в моделсиме: 

image.thumb.png.e0559de26b63e2a03128a3e36f411e3c.png

 

Тут все нормально читается и данные приходят.

image.thumb.png.a8bf98661f1da28b4b646b0be0abe41e.png

 

Все стабильно. 

Даташит уже вдоль и поперек перерыл. Менял фазы сигналов по всякому. Частоту sdram снижал до минимум. И нивкакую. 

Линии указал в топе с таким же именем, все собралось. Нигде в логах ошибок по раме нет.

Референса именно на эту корку в природе я так понял что нет. На сайте старая версия лежит но в ней тоже ничего такого нет. 

 

Может есть какие нибудь идеи что вообще можно еще сделать то? Врядли же чип бракованный попался и внутри не стартует рама? Но как проверить ??

К линиям выхода IO_sdram_dq gao подключиться не дает. 

 

Подкиньте хоть каких нибудь идей пожалуйста, уже проект в финальной части, вся периферия отлажена и работает. осталось только эта злосчастная SDRAM. 

Спасибо.

 

 

 

 

 

 

 

 

IPUG756-1.0.1E_Gowin SDRAM HS IP User Guide.pdf

Изменено пользователем Worldmaster

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


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

А вас не смущает частота 160 Мгц ?

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


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

В 08.07.2024 в 17:34, Flip-fl0p сказал:

А вас не смущает частота 160 Мгц ?

Нет. А где вы увидели 160?

Вообще в корке старого образца вообще 166 установлено и если верить даташита то работает. 

В этом проекте частота снижена до 100мгц. И 70 ставил и 20. Результат всегда один и тот же. 

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


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

4 минуты назад, Worldmaster сказал:

Нет. А где вы увидели 160?

Вообще в корке старого образца вообще 166 установлено и если верить даташита то работает. 

В этом проекте частота снижена до 100мгц. И 70 ставил и 20. Результат всегда один и тот же. 

В GAO

Состояние DQM какое ? 

Как инициализирована SDRAM ?

Точно ли у вас двунаправленный буффер правильно подключен.

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


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

В 08.07.2024 в 18:09, Flip-fl0p сказал:

В GAO

На картинках название сигнала показано но поскольку я его меняю туда сюда я уже забил на то чтобы переименовывать сигналы постоянно. Сейчас работает на частоте 100мгц. Частота на sdram сдвинута на 90градусов относительно частоты корки.

В 08.07.2024 в 18:09, Flip-fl0p сказал:

Как инициализирована SDRAM ?

Если верить тестбенчу то вот такие:

# testbench.SDRAMV : at time  427783.0 ns AREF : Auto Refresh
# testbench.SDRAMV : at time  427883.0 ns AREF : Auto Refresh
# testbench.SDRAMV : at time  427983.0 ns LMR  : Load Mode Register
# testbench.SDRAMV :                             CAS Latency      = 2
# testbench.SDRAMV :                             Burst Length     = 1
# testbench.SDRAMV :                             Burst Type       = Sequential
# testbench.SDRAMV :                             Write Burst Mode = Programmed Burst Length
# testbench.SDRAMV : at time  428053.0 ns AREF : Auto Refresh

Корка это делает сама. всегда с одинаковыми параметрами. Мне лишь возвращается флаг Ready когда все готово.

 

В 08.07.2024 в 18:09, Flip-fl0p сказал:

Состояние DQM какое ? 

если про O_sdram_dqm то оно всегда 0х000

 

В 08.07.2024 в 18:09, Flip-fl0p сказал:

Точно ли у вас двунаправленный буффер правильно подключен.

В мануале к корке сказано чтобы я просто не менял имена сигналов. Вот я и не менял их. По идее IDE сама все должна подключить как положено.

	IO_sdram_dq: inout  std_logic_vector(31 downto 0);
	O_sdram_clk: out   std_logic := '0';
	O_sdram_cke: out   std_logic := '0';
	O_sdram_cs_n:  out  std_logic := '0';
	O_sdram_cas_n: out   std_logic := '0';
	O_sdram_ras_n:  out  std_logic := '0';
	O_sdram_wen_n: out   std_logic := '0';
	O_sdram_dqm:  out  std_logic_vector(3 downto 0);
	O_sdram_addr: out  std_logic_vector(10 downto 0);
	O_sdram_ba: out  std_logic_vector(1 downto 0)

 

 

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


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

Вижу какую-то хрень на самом деле.

 Вы настроили память на BL = 1. Т.е за одну команду вы записываете только одно слово. (одна команда записи на одно слово) А подкидываете целую кучу данных. Явное несоответствие настроек памяти и работы с ней. Вы на саму память даташит читали ?

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


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

В 08.07.2024 в 19:15, Flip-fl0p сказал:

Вижу какую-то хрень на самом деле.

 Вы настроили память на BL = 1. Т.е за одну команду вы записываете только одно слово. (одна команда записи на одно слово) А подкидываете целую кучу данных. Явное несоответствие настроек памяти и работы с ней. Вы на саму память даташит читали ?

Я же написал что я не настраиваю память. Корка делает все сама. 

Какая там внутри память стоит вообще хз. В корку можно передать длину и подразумевается что можно писать серией. 

Это мне тестовый модуль показал такие настройки но для встроенной рамы возможно эти параметры настраивают другой режим. 

 

Тут же написано что режим вот такой: Write Burst Mode = Programmed Burst Length

Может быть корка сама и определяет длину записи когда я передаю команду запись и длину.

 

Изменено пользователем Worldmaster

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


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

7 минут назад, Worldmaster сказал:

Я же написал что я не настраиваю память. Корка делает все сама. 

Какая там внутри память стоит вообще хз. В корку можно передать длину и подразумевается что можно писать серией. 

Это мне тестовый модуль показал такие настройки но для встроенной рамы возможно эти параметры настраивают другой режим. 

Тогда нельзя однозначно говорить что работа в симуляторе модели памяти будет соответствовать работе памяти в реально железке. Ибо китайцы могли навертеть что угодно. Я например вообще не смог заставить работать на симуляции PSRAM.

Я вот указал на то, что явно мне не понравилось, поскольку имею опыт написания собственного SDRAM контроллера для памяти (для чипов Altera). И меня удивило несоответствие того, как ядро контроллера памяти настроило mode_register. Может для встроенной памяти - это норм. Я не знаю. Но мне кажется все-же китайцы взяли кристалл памяти и просто прилепили его рядом с кристаллом FPGA.

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


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

В 08.07.2024 в 19:50, Flip-fl0p сказал:

Но мне кажется все-же китайцы взяли кристалл памяти и просто прилепили его рядом с кристаллом FPGA.

Так вот хочется в это верить. 

 

В 08.07.2024 в 19:50, Flip-fl0p сказал:

Я например вообще не смог заставить работать на симуляции PSRAM.

А в железе получилось?

 

Все омрачается что нет примера для этой корки. В даташите они ссылаются на код, но на сайте нигде его нет. Валяется только для старой корки. Но с другой стороны все требования даташита то выполнены. 

Пишут что перед любой командой надо делать активацию - делаю командой 3. далее при команде чтения или записи нужно передать длину - тоже делаю. ACK приходит значит контроллер понимает чего от него хотят. 

 

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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