Почему-то не работает (некорректно работает) сигнал byteenable, который использую для записи байтов в DDR2-память из своего 32-битного MM-мастера. Мастер подключен к памяти через Avalon MM Clock Crossing Bridge. По сигналтапу времянка записи моим мастером вроде ок, но чтение памяти ниосом дает неверный результат: я не только не вижу всех записанных байтов, но они еще и переставлены в каком-то неведомом порядке. Подскажите куда смотреть, а то времянка вроде соответствет даташиту на шину авалон, но результат - нет.

Запись:
Нажмите для просмотра прикрепленного файла

Код чтения ниосом:
Код
  alt_u32 i = 0;
  alt_u32 mem_offset = 0;
  alt_u8 block_size = 100;
  alt_u8 src[block_size];

      for(i = 0, mem_offset = 0; i < block_size; i++, mem_offset+=1){
          src[i] = IORD_8DIRECT(DDR2TOP_BASE, mem_offset);
      }

      for(i = 0, mem_offset = 0; i < block_size; i++, mem_offset+=1){
          printf("%8X: %8X\n", mem_offset, src[i]);
      }


Лог чтения ниосом:
Код
       0:        6
       1:        0
       2:        0
       3:        0
       4:       A5
       5:        0
       6:        0
       7:        0
       8:       80
       9:        0
       A:        0
       B:        0
       C:       A5
       D:        0
       E:        0
       F:        0
      10:        0
      11:        0
      12:        0
      13:        0
      14:       AA
      15:        0
      16:        0
      17:        0
      18:        0
      19:        0
      1A:        0
      1B:        0
      1C:        0
      1D:        0
      1E:        0
      1F:        0
      20:        0
      21:        0
      22:        0
      23:        0
      24:        0
      25:        0
      26:        0
      27:        0
      28:        0
      29:        0
      2A:        0
      2B:        0
      2C:        0
      2D:        0
      2E:        0
      2F:        0
      30:        0
      31:        0
      32:        0
      33:        0
      34:        0
      35:        0
      36:        0
      37:        0
      38:        0
      39:        0
      3A:        0
      3B:        0
      3C:        0
      3D:        0
      3E:        0
      3F:        0
      40:        0
      41:        0
      42:        0
      43:        0
      44:        0
      45:        0
      46:        0
      47:        0
      48:        0
      49:        0
      4A:        0
      4B:        0
      4C:        0
      4D:        0
      4E:        0
      4F:        0
      50:        0
      51:        0
      52:        0
      53:        0
      54:        0
      55:        0
      56:        0
      57:        0
      58:        0
      59:        0
      5A:        0
      5B:        0
      5C:        0
      5D:        0
      5E:        0
      5F:        0
      60:        0
      61:        0
      62:        0
      63:        0


Ааа, написал тему и сразу же понял где ошибка: мастер всегда выставляет данные на нулевом байте, а должен - на том байте, который подчеркивается сигналом byteenable. Думаю, что тема закрыта.
blush.gif