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

    

Swup

Свой
  • Публикаций

    127
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Swup

  • Звание
    Частый гость
  • День рождения 14.07.1989

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Москва
  1. Кажется так: PAGE_SIZE = log2(4096) BLOCK_SIZE = log2(4096*64) 4096 размер страницы 64 количество страниц в блоке
  2. Просто режьте ваш стрим на пакеты, пакеты заворачиваете на проходе в udp. посмотрите вот на этот пример.
  3. А как вы его включаете? Вообще кажется, что он срабатывает снова, сразу как вы его сбрасываете. Посмотрите просто в сигнал тапе и все будет понятно. вот например у меня устанавливается таймер и сбрасывается (но это с VIC, хотя разницы особо нет: void ru_timer_isr() { IOWR(PERIPHERAL_TIMER_RU_BASE,0,0); ... } void ru_timer_irq_init() { alt_u32 timer_cnt = sys_freq; // 1sec IOWR(PERIPHERAL_TIMER_RU_BASE, 2, timer_cnt & 0xFFFF); IOWR(PERIPHERAL_TIMER_RU_BASE, 3, (timer_cnt>>16) & 0xFFFF); IOWR(PERIPHERAL_TIMER_RU_BASE, 0, 0x00); IOWR(PERIPHERAL_TIMER_RU_BASE, 1, 0x07); // timer start, cont, irq alt_ic_isr_register( 0x00, PERIPHERAL_TIMER_RU_IRQ, ru_timer_isr, NULL, 0x00 ); }
  4. да, дата производства, ревизия, страна. подробнее: https://www.micron.com/resource-details/a4b...6c-3d1622a62161
  5. память микрон 1Gb: x8/x16, 3V, MT28EW Embedded Parallel NOR FBGA Code (вторая строчка) decoder на сайте микрона выдает её;
  6. Поставить память рядом и не сбрасывать её, когда сбрасывается процессор. Но не понятно зачем это вообще нужно.
  7. Matlab. histogram

    Скобки круглые для индексов массивов и параметров функций, квадратные для явного задания массивов, фигурные - для cell arrays. Ну про функции сложно сказать что-то. Как в любом программировании. Вэйтбар есть строенный:Кодh = waitbar(0,'byte reseived:0/0'); for K = 1 : SLIM     B = fread(Port, 2);     T = bitor(bitand(B(1),63), bitsll(bitand(B(2),63),6));     M(K) = T;     waitbar(K / SLIM,h,['byte reseived:',num2str(K),'/',num2str(SLIM)]) end close(h) Можно сбросить все открытые устройства функцией instrreset.
  8. Цитата(limbast @ Oct 13 2017, 10:31) PS Я задумывался о контроллерах Avalon-MM, но мне показалось это избыточно громоздко ради двух значений, думал может есть какой то простой и изящный способ передать данные в Qsys. Это не громоздко и не избыточно. При синтезе это вообще практически бесплатно. Во вторых это и есть изящно и просто, потому что это тот путь, который естественен для среды в которой вы работаете (qsys). И ни у одного пользователя он не вызовет недоумения.
  9. Ксли один такой периферийный модуль и он сам по себе - сложная система, то может и да. Если у вас 10-20 таких модульков, отвечающих за всякое разное, то проще держать все в qsys. Генерировать систему это ведь не что-то невероятно сложное. К тому же интегрируемый модуль обычно уже оттестирован отдельно.
  10. Цитата(limbast @ Oct 12 2017, 16:34) можно ли сделать чтобы регистры данных железа (40 и 56 бит) отображались в адресное пространство NIOS На сколько я понял вашу проблему, то передача этих значений ваших, довольно редкая операция. И вот этот вариант мне кажется наиболее удобным, чем городить отдельную память и так далее. Проблема в том, что вы видимо не достаточно осведомлены как работает qsys и avalon-mm в частности. В общих чертах я бы сделал ваш модуль весь целиком, блоком qsys. Сделал бы на нем avalon-mm slave с 32х битной шиной данных и irq sender. В 0 адресе имел бы регистр управления с прерыванием и маской прерывания. При получении данных писал бы их в регистры по 32 бита в адреса 1,2,3,4 и выставлял бы прерывание. По прерыванию в ниосе читал бы эти 4 регистра (можно через указатель, можно через IORD. Второе лучше). Сбрасывал бы прерывание. Это все достаточно просто. Стоит разобраться один раз. Вариант с памятью вообще выглядит избыточно. А с пио, как-то кривовато. Зато можете сделать прямо сейчас, если спешите.
  11. Кодvec.insert = (vec.end(), a, b+1 ) Почему бы и нет.
  12. vec.insert = (vec.end(), a,b ) данные вставляются перед vec.end() от а до b не включая b. т.е. [a,b ); Вот последний и не вставляется.
  13. Настройки линкера в bsp editor. Если у вас есть еще какая-то память проекте, то может там указано не туда куда нужно. ПС Там еще отдельно в main есть настройка указателей на стек прерываний и стек исключений.
  14. Уберите flash контроллер. Он вам сейчас явно не нужен. Поставьте вектор сброса тоже на ончип память.
  15. Цитата(alexadmin @ Aug 31 2017, 13:27) Вериложники, ваш ход Кодlogic [7:0] [7:0] data = {0:6 ,4:12, 6:3, default:'0}; Но я бы не стал так писать. Не достаточно прозрачно для беглого понимания и правки. Лучше так: Кодlogic [7:0] [7:0] data = {default:'0}; initial begin     data[0] = 6;     data[4] = 12;     data[6] = 3; end ПС Кстати во всех примерах не нужно писать '0, можно просто 0. Черточка подчеркивает, что происходит обнуление массива в контексте битов, а не в контексте чисел. В пример выше на VHDL эту функцию выполняет (others=>'0') как я понял.