Jump to content
    

Предупреждения VHDL

3 minutes ago, Maverick_ said:

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

Share this post


Link to post
Share on other sites

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 память, пробовали делать чтение/запись в закрытые банки) и естественно ничего не работало)

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

Share this post


Link to post
Share on other sites

В 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. 

Share this post


Link to post
Share on other sites

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мкс. В общем, без моделирования с моделью памяти разбираться очень долго. Ваш код + модель + симмулятор и будет ляпота)

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

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

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

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

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

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

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

 

Share this post


Link to post
Share on other sites

10 minutes ago, Flip-fl0p said:

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

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

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

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

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

 

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

 

Share this post


Link to post
Share on other sites

В 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 сказал:

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

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

 

 

 

 

 

Share this post


Link to post
Share on other sites

В 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

Share this post


Link to post
Share on other sites

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

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'

 

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

Share this post


Link to post
Share on other sites

Remark, placed here before, was intentionally deleted.

Edited by Zversky
моё участие считаю бессмысленным

Share this post


Link to post
Share on other sites

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

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

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

image.thumb.png.e0210ba908576a7561ce51507f4d1816.png

 

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

 

Share this post


Link to post
Share on other sites

1 hour ago, Worldmaster said:

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

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

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

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

Share this post


Link to post
Share on other sites

Цитата

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

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

Цитата

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

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

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

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

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

 

Цитата

под квесту.

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

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...