Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не корректно работает Сhipscope (ISE v14.2)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
misyachniy
Автомат производит запись в буфер BRAM (TDP режим), затем Microblaze считывает через второй порт через AXI компонент BRAM контроллера.

Данные двоятся каждое значение в файл попадает 2 раза.
При тестировании определил, что некорректно происходит запись, Прогон в Modelsim показывает корректную запись и считывание.

Для проверки в железе переделал проект на запись в данные BRAM его собственного адреса а эффект тот же.
Решил использовать Chipscope.
Код
// Чипскоп
wire [35:0] CONTROL;

chipscope_frame chipscope_frame_control (
    .CONTROL0(CONTROL) // INOUT BUS [35:0]
);

chipscope_ila chipscope_frame_ila (
    .CONTROL(CONTROL), // INOUT BUS [35:0]
    .CLK(clock_100Mhz), // IN
    .DATA(D), // IN BUS [9:0]
    .TRIG0(frame_wr) // IN BUS [0:0]
);


D- данные
clock_100Mhz - синхронизация записи
frame_wr - разрешение записи взводимое на 1 такт clock_100Mhz

Условие записи - frame_wr == 1. (рис chipsсope.PNG).

Данные которые захватывает chipsсope похожы на корректные, но почему то постоянно обновля.ются при нажатии на клавишу "T!".
Я вывел frame_wr наружу и проконтролировал осциллографом - сигнал стабильно равен 1. Но обновляет данные при каждом нажатии
на клавишу "T!".

Вот пожалуй и весь вопрос.


crono
Цитата(misyachniy @ Mar 25 2013, 20:48) *
Данные которые захватывает chipsсope похожы на корректные, но почему то постоянно обновля.ются при нажатии на клавишу "T!".
Я вывел frame_wr наружу и проконтролировал осциллографом - сигнал стабильно равен 1. Но обновляет данные при каждом нажатии
на клавишу "T!".

Так если frame_wr = 1 то ведь даные и должны обновляться на каждом таке. Вот при нажатии на Т! (теущее состояние буфера чипскопа) данные каждый раз новые. Или я что-то не понял?sm.gif
dm.pogrebnoy
Для съема буфера с тригером нужно жать на кнопку с треугольником. При нажатии на кнопку Т! данные будут сниматься всегда пока есть такт. Если триггер стоит все время в единице, то и буфер будет сниматься всегда. Т.е. очевидно у вас этот сигнал встает нена один такт, как вы писали. Чипоскоп вроде бы подразумевает уровневые триггеры, а не фронтовые.
Kuzmi4
Цитата(dm.pogrebnoy @ Mar 25 2013, 20:04) *
...Чипоскоп вроде бы подразумевает уровневые триггеры, а не фронтовые.

Меняем в настройках при генерации "Basic" triggering на "Basic with Edges" и появляется возможность ловить фронты laughing.gif
dm.pogrebnoy
Цитата(Kuzmi4 @ Mar 26 2013, 12:16) *
Меняем в настройках при генерации "Basic" triggering на "Basic with Edges" и появляется возможность ловить фронты laughing.gif

Век живи - век учись.
misyachniy
Напутал, frame_wr стабильно равен 0.
SFx
Цитата(misyachniy @ Mar 26 2013, 20:49) *
Напутал, frame_wr стабильно равен 0.

в к вашим Данным есть сигнал значимости (valid или Enable) ? Если да - используйте его вместо frame_wr.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.