kincajou: (Default)
[personal profile] kincajou
В схеме есть некий процесс, в зависимости от состояния флагов инкрементирующий-декрементирующий некий счётчик по каждому тактовому импульсу. Микроконтроллер, сидящий на той же плате рядом с ПЛИС, может считать состояние этого счётчика и поиграть флажками. Я даж понял и победил глюк, когда вместо ожидаемого числа считывалось что-то иное -- счётчик 16-битный, а микроконтроллер 8-битный, соотв. любая транзакция занимает как минимум два цикла (с т.з. микроконтроллера ПЛИС выглядит как асинхронная память, внутри же ПЛИС модули соединены по синхронной шине Wishbone), поэтому вероятны ситуации, когда я считал один байт от предыдущего значения счётчика, а другой уже от следующего (да ещё и так, что там произошёл переход через FF). Дополнительный теневой регистр выправил ситуацию.

Но остался странный эффект - при первом запуске системы из счётчика всёравно может считаться абракадабра. Несмотря на то, что и сброс работает вполне корректно, и запись инициализирующего значения нормально проходит.. нипанятна. Эффект то есть, то нет - как его ловить, не знаю.

December 2016

S M T W T F S
    123
45678910
11121314151617
18192021222324
25 262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 14th, 2025 09:07 am
Powered by Dreamwidth Studios