GrAlexI 0 30 мая, 2012 Опубликовано 30 мая, 2012 (изменено) · Жалоба Подскажите, пожалуйста. В своем проекте использую память lpm_ram_dq Плис семейства Flex10K. Мне хотелось бы в ModulSim отслеживать содержимое памяти. Как добавить сигналы памяти Waveform? Описал память ------------- memery ------------------- mem : lpm_ram_dq GENERIC MAP ( intended_device_family => "FLEX10K", lpm_address_control => "REGISTERED", lpm_file => "mem8_256_I.hex", lpm_indata => "REGISTERED", lpm_outdata => "UNREGISTERED", lpm_type => "LPM_RAM_DQ", lpm_width => 8, lpm_widthad => 8 ) PORT MAP ( address => m_addr, inclock => clk, data => m_data_in, we => m_we, q => m_data_out ); Команда добавление сигнала должна напоминать такую наверно структуру add wave proect/mem… - как именно должно быть Изменено 30 мая, 2012 пользователем GrAlexI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 30 мая, 2012 Опубликовано 30 мая, 2012 · Жалоба Насколько я вижу по коду симуляционной модели LPM_RAM_DQ, содержимое памяти хранится в переменной, а не в сигнале. Поэтому в wave вы её не увидите. Если вам нужны интерфейсные сигналы памяти, то надо в окне структуры найти инстанцированный компонент и драг'н'дропнуть его в wave. Это проще всего. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GrAlexI 0 30 мая, 2012 Опубликовано 30 мая, 2012 (изменено) · Жалоба Насколько я вижу по коду симуляционной модели LPM_RAM_DQ, содержимое памяти хранится в переменной, а не в сигнале. Поэтому в wave вы её не увидите. А есть другой способ увидить? Если вам нужны интерфейсные сигналы памяти, то надо в окне структуры найти инстанцированный компонент и драг'н'дропнуть его в wave. Это проще всего. "драг'н'дропнуть его" - :01: (не понимаю, что значит?) Есть скрин-шот нашел в instance - \mem|sram|segment[?] - может четез него модно увидеть, а в нем есть Qbject - mem1 - может это. К тому же я немогу добавить (из \mem|sram|segment) ничего командой add wave /tstbnch/a/\mem|sram|segment[0][0]/mem1 ошибка # invalid command name "0" Изменено 30 мая, 2012 пользователем GrAlexI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Putnik 0 30 мая, 2012 Опубликовано 30 мая, 2012 · Жалоба добавьте сигнал в гуях как вам и говорят, а если интересен правильный путь к сигналу то в консоли ваша команда add wave /../../тратата оттранслируется сам использую сочетание команд do $questa/wave.do - запуск сохраненного списка сигнала, можно добавить в основной скрипт и описываю процесс его сохранения proc w {} { write format wave -window .main_pane.wave.interior.cs.body.pw.wf wave.do } после добавления сигнала ручками, жму w в консоли, если выведенные сигналы требуются при следующем запуске скрипта моделирования Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GrAlexI 0 30 мая, 2012 Опубликовано 30 мая, 2012 (изменено) · Жалоба proc w {} { write format wave -window .main_pane.wave.interior.cs.body.pw.wf wave.do } после добавления сигнала ручками, жму w в консоли, если выведенные сигналы требуются при следующем запуске скрипта моделирования команда write format очень интересная :rolleyes: как добавлять сигнал нашел add wave {sim:/tstbnch/a/\mem|sram|segment[0][0] /mem1 } Но не то, что я хочу - Я хочу просматривать память EAB (RAM внутри ПЛИС), какие там байты? Изменено 30 мая, 2012 пользователем GrAlexI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Putnik 0 30 мая, 2012 Опубликовано 30 мая, 2012 · Жалоба чтобы прояснить картину, объясните зачем вам знать что у вас за плис при моделировании. вы нетлист гоняете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GrAlexI 0 30 мая, 2012 Опубликовано 30 мая, 2012 (изменено) · Жалоба чтобы прояснить картину, объясните зачем вам знать что у вас за плис при моделировании. вы нетлист гоняете? вы нетлист гоняете? - :05: нетлист - разве не описывает процессы в плис с учетом задержек, и где-то же описывает и память EAD, как это просмотреть? Наверно я что-то не до понимаю или вообще туплю? Я создал проект в Quartus в проекте я указал ПЛИС Flex10K20, у него есть EAB, один из них я использую. При компиляции создается файл simulation\modelsim\save_RxD.vo – который я так понимаю мой проект но с учетом задержек Flex10K20 Создал файл TestBench. Запустил Tools->Run EDA Simulation Tool->EDA Gate Level Simulation, появился симулятор ModelSim от Altera, где у меня моделируется мой проект с учетом задержек Flex10K20, ни так ли? Или это вообще не моделирование? Под моделирование я понимаю возможность отслеживать все процессы происходящие непосредственно в ПЛИС с учетом всех внутренних процессов (ну или хотя бы состояние регистров). Но так как используется EAB, могу ли я просматривать в симуляторе, какие байты я записал в него, что бы отлаживать? Прошу извинение если под моделированием понимается реализация на физическом макете, на верно правильно сказать ”симуляция” процессов внутри ПЛИС - программное описание без физической прошивки ПЛИС Изменено 30 мая, 2012 пользователем GrAlexI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Putnik 0 30 мая, 2012 Опубликовано 30 мая, 2012 · Жалоба вы нетлист гоняете? - :05: нетлист - разве не описывает процессы в плис с учетом задержек, и где-то же описывает и память EAD, как это просмотреть? Наверно я что-то не до понимаю или вообще туплю? Я создал проект в Quartus в проекте я указал ПЛИС Flex10K20, у него есть EAB, один из них я использую. При компиляции создается файл simulation\modelsim\save_RxD.vo – который я так понимаю мой проект но с учетом задержек Flex10K20 Создал файл TestBench. Запустил Tools->Run EDA Simulation Tool->EDA Gate Level Simulation, появился симулятор ModelSim от Altera, где у меня моделируется мой проект с учетом задержек Flex10K20, ни так ли? Или это вообще не моделирование? Под моделирование я понимаю возможность отслеживать все процессы происходящие непосредственно в ПЛИС с учетом всех внутренних процессов (ну или хотя бы состояние регистров). Но так как используется EAB, могу ли я просматривать в симуляторе, какие байты я записал в него, что бы отлаживать? Прошу извинение если под моделированием понимается реализация на физическом макете, на верно правильно сказать ”симуляция” процессов внутри ПЛИС - программное описание без физической прошивки ПЛИС да нет это тоже моделирование у вас, только как раз нетлиста. обычно гоняю RTL, и далее SignalTap и констрейны, как ув. des00 учил. всегда хватало Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sparcmaster 0 30 мая, 2012 Опубликовано 30 мая, 2012 · Жалоба "Я хочу просматривать память EAB (RAM внутри ПЛИС), какие там байты? " Открываете закладку "Memory list" (она видна на вашей картинке), выбираете нужный компонент памяти двойным щелчком и просматриваете или редактируете по ходу моделирования Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 30 мая, 2012 Опубликовано 30 мая, 2012 · Жалоба Под моделирование я понимаю возможность отслеживать все процессы происходящие непосредственно в ПЛИС с учетом всех внутренних процессов (ну или хотя бы состояние регистров). Но так как используется EAB, могу ли я просматривать в симуляторе, какие байты я записал в него, что бы отлаживать? Посмотрите у меня на сайте в статьях - "краткий курс", разделы об отладке. И хоть там Верилог, но принципы все те же... На сайте Мегратекса было описание Моделсима на русском... Удачи! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GrAlexI 0 30 мая, 2012 Опубликовано 30 мая, 2012 · Жалоба "Я хочу просматривать память EAB (RAM внутри ПЛИС), какие там байты? " Открываете закладку "Memory list" (она видна на вашей картинке), выбираете нужный компонент памяти двойным щелчком и просматриваете или редактируете по ходу моделирования Просматривал я Memory list там ненашел! Я сейчас проведу один эксперемент, может что-то неверно в проекте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GrAlexI 0 30 мая, 2012 Опубликовано 30 мая, 2012 (изменено) · Жалоба Я решил начать с самого малого создал простейший проект. В котором есть только возможность записи и чтение в память EAB, также создал TestBench, в котором видно что запись в память производится, но как просмотреть ячейки памяти? Проект исходника прикреплен - в архиве. mem.rar Изменено 30 мая, 2012 пользователем GrAlexI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Putnik 0 30 мая, 2012 Опубликовано 30 мая, 2012 · Жалоба Я решил начать с самого малого создал простейший проект. В котором есть только возможность записи и чтение в память EAB, также создал TestBench, в котором видно что запись в память производится, но как просмотреть ячейки памяти? Проект исходника прикреплен - в архиве. в objects -> Add to Wave -> Selected Signals. работает для всех сигналов имеющихся в objects. ваша mem там есть мы чего с этим все время разбирались? Сначала подумал вы тикль пишете, и думаете как лучше вывод сигналов сделать, но судя по повторяющемся одним и тем же вопросам вам лень мышкой просто потыкать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться