Sh@dow 0 2 октября, 2012 Опубликовано 2 октября, 2012 (изменено) · Жалоба Использую ChipScope Inserter 13.1. В User Guide есть пример для захвата данных при работе с памятью: Trigger on the first memory write cycle (CE = rising edge, WE = 1, OE = 0) to Address = 0xFF0000; • Capture only memory read cycles (CE = rising edge, WE = 0, OE = 1) from Address = 0x23AACC where the Data values are between 0x00000000 and 0x1000FFFF; для этого надо задать такие условия: • Trigger Condition = M0 && M2, where: − M0[2:0] = CE, WE, OE = “R10” (where ‘R’ means “rising edge”) − M2[23:0] = Address = “FF0000” • Storage Qualification Condition = M1 && M3 && M4, where: − M1[2:0] = CE, WE, OE = “R10” (where ‘R’ means “rising edge”) − M3[23:0] = Address = “23AACC” − M4[31:0] = Data = in the range of 0x00000000 through 0x1000FFFF не могу найти где они задаются. В ChipScopeInserter можно только выбрать количество Matching Units и их тип. А как задать условие M0[2:0] = CE, WE, OE = “R10” например? Изменено 2 октября, 2012 пользователем Sh@dow Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 2 октября, 2012 Опубликовано 2 октября, 2012 · Жалоба не могу найти где они задаются. В ChipScopeInserter можно только выбрать количество Matching Units и их тип. А как задать условие M0[2:0] = CE, WE, OE = “R10” например? В ChipScopeInserter выбираются сигналы, которые будут подключены к Matching Unit, и вот для нулевого MU надо выбрать три сигнала CE,WE,OE, и, аналогично, для остальных MU. А в самом ChipScope задать "R10", как условие срабатывания M0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sh@dow 0 3 октября, 2012 Опубликовано 3 октября, 2012 (изменено) · Жалоба Спасибо. Сделал простой восьмибитный счетчик. По клоку инкрементирую на один. Когда счетчик переполняется на выход подаю 1. В остальных случаях вывожу ноль. В чипскопе смотрю этот выход. Выбрал 512 сэмплов и сбор по возрастающему фронту. Клок счетчика завел на клок чипскопа. Чипскоуп показывает 512 сэмплов но не могу понять почему каждый пятый сэмпл импульс. Я так понимаю данные собираются по каждому клоку с учетом триггера. Чтоб переполнить счетчик надо 256 клоков. Соответственно каждый 256 сымпл должен быть импульс. Почему каждый пятый? Изменено 3 октября, 2012 пользователем Sh@dow Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 4 октября, 2012 Опубликовано 4 октября, 2012 · Жалоба Проверьте, что Storage Qualification condition выключено(то есть в режиме записи каждый такт). Если выключено, проверьте на симуляторе, вдруг что не так со счётчиком:). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться