des00 26 August 23, 2023 Posted August 23, 2023 · Report post 3 minutes ago, Maverick_ said: Посмотрите референс дизайн как ни странно, страница устарела. сейчас генерируется IP с другим интерфейсом🤷♂️ Quote Share this post Link to post Share on other sites More sharing options...
Worldmaster 0 August 23, 2023 Posted August 23, 2023 (edited) · Report post В 23.08.2023 в 09:47, Maverick_ сказал: Посмотрите референс дизайн Это уже обсуждалось. На эту корку актуальный мануал вот тут Edited August 23, 2023 by Worldmaster Quote Share this post Link to post Share on other sites More sharing options...
des00 26 August 23, 2023 Posted August 23, 2023 · Report post 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 память, пробовали делать чтение/запись в закрытые банки) и естественно ничего не работало) Подытожу: моделирование, моделирование и еще раз моделирование. Quote Share this post Link to post Share on other sites More sharing options...
Worldmaster 0 August 23, 2023 Posted August 23, 2023 · Report post В 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 из адреса, отслеживать переход на другую строку так ведь по осцилограммам очень даже умеет. На какие то команды же он нормально отвечает. И меняет состояние линий. И на линиях 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. Quote Share this post Link to post Share on other sites More sharing options...
des00 26 August 23, 2023 Posted August 23, 2023 · Report post 22 minutes ago, Worldmaster said: А где вы это нашли то?? Ткните пальцем?? почему я не нашел этого. страница 7(16) документа по вашей ссылке, раздел 5.2 用户侧信号 22 minutes ago, Worldmaster said: так ведь по осцилограммам очень даже умеет. Вот только она не правильная) Правильная последовательность записи в сдрам должна быть вот такая 22 minutes ago, Worldmaster said: Что значит в закрытые. Я же сделал команду ACTIVATE. На ваших вейвформах, где вы показываете чтение, этой команды нет. Банк нельзя держать открытым вечно, его надо закрыть за время не больше чем tras, для вон той микроновской памяти это 120мкс. В общем, без моделирования с моделью памяти разбираться очень долго. Ваш код + модель + симмулятор и будет ляпота) А про то что сигналы меняются, естественно они меняются, это же болванка должна что-то делать, иначе зачем она нужна Quote Share this post Link to post Share on other sites More sharing options...
des00 26 August 23, 2023 Posted August 23, 2023 · Report post Еще момент, присмотрелся к тому что вы выложили. А почему у вас команда {ras_n, cas_n, we_n} LMR это HHH (NOP), тогда как по документам это должно быть LLL (LMR). И ни на одной вейвформе у вас нет команды ACTIVATE LHH Quote Share this post Link to post Share on other sites More sharing options...
Flip-fl0p 4 August 23, 2023 Posted August 23, 2023 · Report post Тема создана 16 августа. Сегодня 23. Считай неделя прошла. Вопросы автору: 1. Вы скачали и подключили модель памяти ? 2. Вы прочитали даташит на память ? 3. Вы поняли как работать с динамической памятью ? Quote Share this post Link to post Share on other sites More sharing options...
Maverick_ 17 August 23, 2023 Posted August 23, 2023 · Report post 10 minutes ago, Flip-fl0p said: Тема создана 16 августа. Сегодня 23. Считай неделя прошла. Вопросы автору: 1. Вы скачали и подключили модель памяти ? 2. Вы прочитали даташит на память ? 3. Вы поняли как работать с динамической памятью ? возможно и больше судя Quote Share this post Link to post Share on other sites More sharing options...
Worldmaster 0 August 23, 2023 Posted August 23, 2023 · Report post В 23.08.2023 в 13:54, des00 сказал: документа по вашей ссылке, раздел 5.2 用户侧信号 так это сказано что команда формируется по этим сигналам. Ниже есть таблица с описанием. Переписал алгоритм как вы сказали. Вначале включаюсь, жду когда зафиксируется тактирование с PLL затем иду на инициализацию и жду пока флаг O_sdrc_init_done будет 1. хз что именно делает в этот момент модуль. Далее последовательно : Команда REFRESH с ACK Команда ACTIVATE c ACK WRITE c ACK read не влез в выборку. но там FF читает. команду NOP я вообще убрал потому что контроллер не подтверждает ее. и не меняет никакие сигналы. В 23.08.2023 в 13:54, des00 сказал: иначе зачем она нужна Вот и у меня вопрос тот же самый. Если как вы говорите можно руками написать свою реализацию. Но видимо с помощью этого модуля происходит связывание внутренних сигналов. В 23.08.2023 в 13:54, des00 сказал: его надо закрыть за время не больше чем tras, Как я понял это надо команду PRECHARGE выполнить но контроллер ее также не подтверждает. В 23.08.2023 в 13:36, des00 сказал: моделирование, моделирование и еще раз моделирование. да оно и понятно но ... ладно попробую прикрутить модель памяти. Хотя мне не очень ясно как я ее прикручивать буду к внутренним сигналам контроллера. Ну ладно. Попробую. Quote Share this post Link to post Share on other sites More sharing options...
Worldmaster 0 August 23, 2023 Posted August 23, 2023 · Report post В 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. Quote Share this post Link to post Share on other sites More sharing options...
Worldmaster 0 August 23, 2023 Posted August 23, 2023 · Report post а почему когда я пытаюсь добавить в осцилограф линию клока то пишет ошибку? 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' Остальные то линии нормально захватывает.. Quote Share this post Link to post Share on other sites More sharing options...
Zversky 21 August 25, 2023 Posted August 25, 2023 (edited) · Report post Remark, placed here before, was intentionally deleted. Edited August 25, 2023 by Zversky моё участие считаю бессмысленным Quote Share this post Link to post Share on other sites More sharing options...
Worldmaster 0 August 25, 2023 Posted August 25, 2023 · Report post Ну вот . Вынес код сдрам в отдельный модуль. Сделал тестбенч. Но как я предполагалось моделсим не может эмулировать корку. На выходах всегда непонятные значения. Каким образом предполагается работа с моделью памяти если линии O_sdram не выдают никаких сигналов. Quote Share this post Link to post Share on other sites More sharing options...
des00 26 August 25, 2023 Posted August 25, 2023 · Report post 1 hour ago, Worldmaster said: Каким образом предполагается работа с моделью памяти если линии O_sdram не выдают никаких сигналов. а ничего что время конфигурации памяти как минимум 100мкс? а у вас максимум 2мкс) собирайте пакет: тестбенч, модель памяти, модель контроллера для моделирования + скомпилированная библиотека под квесту. только тогда можно будет что-то обьективное сказать. ЗЫ. компиляция библиотеки должна быть в режиме максимальной отладки (-novopt или в новых +acc=bnpr) Quote Share this post Link to post Share on other sites More sharing options...
Worldmaster 0 August 25, 2023 Posted August 25, 2023 · Report post Цитата о что время конфигурации памяти как минимум 100мкс? Так памяти но не контроллера же который от корки. Ну подождал 2 сек. Состояние линий не изменилось. Цитата модель контроллера для моделирования Это вы имеете в виду тот что зашифрованый ??Так как я его добавлю если он шифрованый. Добавить то я добавлю но моделсим сказал что там ошибки и компилировать отказался. Где то в темах кто то говорил что якобы все эти файлы уже расшифровали и где то в секретном месте их можно взять. Может вы знаете где это? Такую же модель как для памяти у говина я не нашел. Поделитесь пожалуйста если такая имеется. Нашел в папках IDE либу SDRC_HS.dll . Это та самя либа контроллера для моделирования или что? Цитата под квесту. Можно линк на нее с лекарством?? Наверняка тут на внутреннем хранилище есть? Quote Share this post Link to post Share on other sites More sharing options...