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

3 minutes ago, Maverick_ said:

как ни странно, страница устарела. сейчас генерируется IP с другим интерфейсом🤷‍♂️

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


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

В 23.08.2023 в 09:47, Maverick_ сказал:

Это уже обсуждалось.

На эту корку актуальный мануал вот тут

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

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


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

3 hours ago, Worldmaster said:

На эту корку актуальный мануал вот тут

ууу, судя вот по этой строке:

Quote

7 I_sdrc_cmd I {O_sdram_ras_n, O_sdram_cas_n,O_sdram_wen_n}

это не нормальный контроллер памяти. По управлению это часть ctrl path нормального контроллера памяти. Т.е. она не умеет делать ras/cas из адреса, отслеживать переход на другую строку, другой банк и все такое. Надо самому вручную делать ras, потом cas и т.д. Вангую что вы, без штудирования документа как работает SDRAM память, пробовали делать чтение/запись в закрытые банки) и естественно ничего не работало)

Подытожу: моделирование, моделирование и еще раз моделирование. 

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


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

В 23.08.2023 в 13:36, des00 сказал:

7 I_sdrc_cmd I {O_sdram_ras_n, O_sdram_cas_n,O_sdram_wen_n}

А где вы это нашли то?? Ткните пальцем?? почему я не нашел этого.

 

В 23.08.2023 в 13:36, des00 сказал:

Т.е. она не умеет делать ras/cas из адреса, отслеживать переход на другую строку

так ведь по осцилограммам очень даже умеет.

 

image.thumb.png.6b8d41b0091a8d64cce30ff990cdd97a.png

На какие то команды же он нормально отвечает. И меняет состояние линий. И на линиях BA ADR выставляется то что ожидается.

 

 

 

 

В 23.08.2023 в 13:36, des00 сказал:

делать чтение запись в закрытые банки)

 

Что значит в закрытые. Я же сделал команду ACTIVATE.

Единственное что в отличии от даташита подавать надо было 

sdram_addr_request <= bank_addr & row_addr & col_addr;

а не bank/row или bank/col

O_sdram_ba содержит ровно тот банк который нужен. А счетчик O_sdram_addr содержит нужный сдвиг col_adr. Также ожидаемый.

И он его изменяет.

В примере кода также заметил что PLL сделан так что второй сигнал сдвинут по фазе на 22,5. 

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


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

22 minutes ago, Worldmaster said:

А где вы это нашли то?? Ткните пальцем?? почему я не нашел этого.

страница 7(16) документа по вашей ссылке, раздел 5.2 用户侧信号

22 minutes ago, Worldmaster said:

 

так ведь по осцилограммам очень даже умеет.

Вот только она не правильная) Правильная последовательность записи в сдрам должна быть вот такая

image.thumb.png.4ffad8f2ec3327afa9893be238fe9ec5.png

 

22 minutes ago, Worldmaster said:

Что значит в закрытые. Я же сделал команду ACTIVATE.

На ваших вейвформах, где вы показываете чтение, этой команды нет. Банк нельзя держать открытым вечно, его надо закрыть за время не больше чем tras, для вон той микроновской памяти это 120мкс. В общем, без моделирования с моделью памяти разбираться очень долго. Ваш код + модель + симмулятор и будет ляпота)

А про то что сигналы меняются, естественно они меняются, это же болванка должна что-то делать, иначе зачем она нужна

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


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

Еще момент, присмотрелся к тому что вы выложили. А почему у вас команда {ras_n, cas_n, we_n} LMR это HHH (NOP), тогда как по документам это должно быть LLL (LMR). И ни на одной вейвформе у вас нет команды ACTIVATE LHH

 

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


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

Тема создана 16 августа. Сегодня 23. Считай неделя прошла.

Вопросы автору:

1. Вы скачали и подключили модель памяти ?

2. Вы прочитали даташит на память ?

3. Вы поняли как работать с динамической памятью ?

 

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


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

10 minutes ago, Flip-fl0p said:

Тема создана 16 августа. Сегодня 23. Считай неделя прошла.

Вопросы автору:

1. Вы скачали и подключили модель памяти ?

2. Вы прочитали даташит на память ?

3. Вы поняли как работать с динамической памятью ?

 

возможно и больше судя 

 

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


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

В 23.08.2023 в 13:54, des00 сказал:

документа по вашей ссылке, раздел 5.2 用户侧信号

так это сказано что команда формируется по этим сигналам.

Ниже есть таблица с описанием.

image.png.569f55a1c7ad52dce4d86885776b3ad5.png

 

Переписал алгоритм как вы сказали.

Вначале включаюсь, жду когда зафиксируется тактирование с PLL затем иду на инициализацию и жду пока флаг O_sdrc_init_done будет 1. хз что именно делает в этот момент модуль.

Далее последовательно :

Команда REFRESH с ACK

image.thumb.png.437899564379763f19f66c6e224c5594.png

Команда ACTIVATE c ACK

image.thumb.png.e2ed5726f9c9b85336ea54a16352666e.png

 

WRITE c ACK

image.thumb.png.5274e509c461b18290ab5af30d9b18d5.png

 

read не влез в выборку. но там FF читает.

 

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

 

В 23.08.2023 в 13:54, des00 сказал:

иначе зачем она нужна

Вот и у меня вопрос тот же самый. Если как вы говорите можно руками написать свою реализацию. Но видимо с помощью этого модуля происходит связывание внутренних сигналов.

 

 

В 23.08.2023 в 13:54, des00 сказал:

его надо закрыть за время не больше чем tras,

Как я понял это надо команду PRECHARGE выполнить но контроллер ее также не подтверждает.

 

 

В 23.08.2023 в 13:36, des00 сказал:

моделирование, моделирование и еще раз моделирование. 

да оно и понятно но ... ладно попробую прикрутить модель памяти. Хотя мне не очень ясно как я ее прикручивать буду к внутренним сигналам контроллера. Ну ладно. Попробую.

 

 

 

 

 

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


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

В 23.08.2023 в 14:23, Flip-fl0p сказал:

1. Вы скачали и подключили модель памяти ?

В процессе.

В 23.08.2023 в 14:23, Flip-fl0p сказал:

2. Вы прочитали даташит на память ?

да.

В 23.08.2023 в 14:23, Flip-fl0p сказал:

3. Вы поняли как работать с динамической памятью ?

Да.

 

Вот добавляю диаграмму READ.

image.thumb.png.3f75330e3c28909a46d59ab0a3ab9da8.png

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


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

а почему когда я пытаюсь добавить в осцилограф линию клока то пишет ошибку?

Instance 'MySDRAM/u_sdrc_hs_top/U_ODDR_clk'(ODDR) of module 'top' cannot drive instance 'gw_gao_inst_0/u_la0_top/u_ao_mem_ctrl/data_reg_dly_0_s0'(DFF) by wire 'O_sdram_clk_d'

 

Остальные то линии нормально захватывает..

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


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

Remark, placed here before, was intentionally deleted.

Изменено пользователем Zversky
моё участие считаю бессмысленным

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


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

Ну вот . Вынес код сдрам в отдельный модуль. Сделал тестбенч.

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

На выходах всегда непонятные значения.

image.thumb.png.e0210ba908576a7561ce51507f4d1816.png

 

Каким образом предполагается работа с моделью памяти если линии O_sdram не выдают никаких сигналов.

 

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


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

1 hour ago, Worldmaster said:

Каким образом предполагается работа с моделью памяти если линии O_sdram не выдают никаких сигналов.

а ничего что время конфигурации памяти как минимум 100мкс? а у вас максимум 2мкс)

собирайте пакет: тестбенч, модель памяти, модель контроллера для моделирования + скомпилированная библиотека под квесту. только тогда можно будет что-то обьективное сказать.

ЗЫ. компиляция библиотеки должна быть в режиме максимальной отладки (-novopt или в новых +acc=bnpr)

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


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

Цитата

о что время конфигурации памяти как минимум 100мкс? 

Так памяти но не контроллера же который от корки. Ну подождал 2 сек. Состояние линий не изменилось.

Цитата

модель контроллера для моделирования 

Это вы имеете в виду тот что зашифрованый ??Так как я его добавлю если он шифрованый. Добавить то я добавлю но моделсим сказал что там ошибки и компилировать отказался.

Где то в темах кто то говорил что якобы все эти файлы уже расшифровали и где то в секретном месте их можно взять. Может вы знаете где это?

Такую же модель как для памяти у говина я не нашел. Поделитесь пожалуйста если такая имеется.

Нашел в папках IDE либу SDRC_HS.dll . Это та самя либа контроллера для моделирования или что?

 

Цитата

под квесту.

Можно линк на нее с лекарством?? Наверняка тут на внутреннем хранилище есть?

 

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


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

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

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

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

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

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

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

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

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

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