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

Добавление сигналы содержимого RAM в Waveform (ModelSim)

Подскажите, пожалуйста.

В своем проекте использую память 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… - как именно должно быть

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

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


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

Насколько я вижу по коду симуляционной модели LPM_RAM_DQ, содержимое памяти хранится в переменной, а не в сигнале. Поэтому в wave вы её не увидите.

 

Если вам нужны интерфейсные сигналы памяти, то надо в окне структуры найти инстанцированный компонент и драг'н'дропнуть его в wave. Это проще всего.

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


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

Насколько я вижу по коду симуляционной модели 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"

post-65818-1338363898_thumb.jpg

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

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


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

добавьте сигнал в гуях как вам и говорят, а если интересен правильный путь к сигналу то в консоли ваша команда add wave /../../тратата оттранслируется

 

сам использую сочетание команд

 

do $questa/wave.do - запуск сохраненного списка сигнала, можно добавить в основной скрипт

 

и описываю процесс его сохранения

proc w {} {

write format wave -window .main_pane.wave.interior.cs.body.pw.wf wave.do

}

 

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

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


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

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 внутри ПЛИС), какие там байты?

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

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


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

чтобы прояснить картину, объясните зачем вам знать что у вас за плис при моделировании. вы нетлист гоняете?

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


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

чтобы прояснить картину, объясните зачем вам знать что у вас за плис при моделировании. вы нетлист гоняете?

 

вы нетлист гоняете? - :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, могу ли я просматривать в симуляторе, какие байты я записал в него, что бы отлаживать?

 

 

 

Прошу извинение если под моделированием понимается реализация на физическом макете, на верно правильно сказать ”симуляция” процессов внутри ПЛИС - программное описание без физической прошивки ПЛИС

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

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


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

вы нетлист гоняете? - :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 учил. всегда хватало

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


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

"Я хочу просматривать память EAB (RAM внутри ПЛИС), какие там байты? "

 

Открываете закладку "Memory list" (она видна на вашей картинке), выбираете нужный компонент памяти двойным щелчком и просматриваете или редактируете по ходу моделирования

 

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


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

Под моделирование я понимаю возможность отслеживать все процессы происходящие непосредственно в ПЛИС с учетом всех внутренних процессов (ну или хотя бы состояние регистров).

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

Посмотрите у меня на сайте в статьях - "краткий курс", разделы об отладке. И хоть там Верилог, но принципы все те же...

На сайте Мегратекса было описание Моделсима на русском...

Удачи!

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


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

"Я хочу просматривать память EAB (RAM внутри ПЛИС), какие там байты? "

 

Открываете закладку "Memory list" (она видна на вашей картинке), выбираете нужный компонент памяти двойным щелчком и просматриваете или редактируете по ходу моделирования

 

Просматривал я Memory list там ненашел! Я сейчас проведу один эксперемент, может что-то неверно в проекте.

 

 

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


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

Я решил начать с самого малого создал простейший проект. В котором есть только возможность записи и чтение в память EAB, также создал TestBench, в котором видно что запись в память производится, но как просмотреть ячейки памяти?

Проект исходника прикреплен - в архиве.

mem.rar

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

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


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

Я решил начать с самого малого создал простейший проект. В котором есть только возможность записи и чтение в память EAB, также создал TestBench, в котором видно что запись в память производится, но как просмотреть ячейки памяти?

Проект исходника прикреплен - в архиве.

в objects -> Add to Wave -> Selected Signals. работает для всех сигналов имеющихся в objects. ваша mem там есть

 

мы чего с этим все время разбирались? Сначала подумал вы тикль пишете, и думаете как лучше вывод сигналов сделать, но судя по повторяющемся одним и тем же вопросам вам лень мышкой просто потыкать

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


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

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

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

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

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

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

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

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

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

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