Jump to content

    

novartis

Свой
  • Content Count

    428
  • Joined

  • Last visited

Community Reputation

0 Обычный

About novartis

  • Rank
    Местный

Контакты

  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

6164 profile views
  1. Мы другую захотели. И цена была такая же, поэтому глючную отправили им обратно, а они нам новую другую прислали. Там все их тесты прогнал, и свои проекты позапускал. Ошибок не было.
  2. Купили плату от Терасика с Ариией 10 год назад (DE5a-Net-DDR4). Начал их тесты запускать, дошел до тестов памяти QDRII. Не проходят тесты. Начал разбираться, свои проекты собирать с нуля. Если одну микросхему QDRII в проекте задействую, тест проходит, данные записываются, считываются, никаких ошибок, хоть сутками тестируй. Проверил все четыре микросхемы QDRII по одиночке - нет ошибок. Как только в проекте задействуются две и больше микросхем - изредка начинают идти битовые ошибки в читаемых данных, причем по любому каналу может ошибка прилететь. Переписывалсиь с Терасиком (долгий процесс, то у них китайский новый год, то день независимости Тайваня...), договорились, что они сами потестят плату онлайн, дали им удаленный доступ. Сначала они свои тесты гоняли, потом еще какую то прошивку залили (там какие то расширенные тесты). Ошибки подтвердили, сделали возврат платы и денег.
  3. нет. Почему вы такой вопрос задали?) TLP пакет содержит заголовок 16 байт и данные. Хост в простейшем случае может послать IO32 запрос на запись или на чтение, для запроса "запись" в TLP пакете будет заголовок 16 байт и 4 байта данных. Если заюзать функцию типа такой _mm256_storeu_si256, то в TLP пакете будет заголовок 16 байт и 32 байта данных. PCIE пакеты.pdf
  4. да, это рабочий вариант Логично) Чтобы хосту записать в плис по pcie 64 байта, нужно отправить 16 TLP пакетов по 4 байта данных, пусть время между TLP пакетами 50нс-100 нс, значит на пересылку 64 байт уйдет 800нс-1600 нс. При дма будет так: хост записывает команду на старт дма, плис посылает TLP пакет на чтение 64 байт, хост отвечает одним TLP пакетом с 64 байтами данных. Где-то 1100 нс выйдет. Я так понимаю Nios+PCIE собраны в QSYS, у модуля PCIE есть порт Txs (Avalon Memory Mapped Slave), если в этот порт послать транзакцию на чтение данных, указать адрес (который неким образом соответствует адресу, переданному с хоста), указать burst (длину читаемых данных), то получится dma. Но у вас к PCIE подключен Nios, не знаю вроде не умеет ниос посылать burst транзакции, он обычными IO операциями по 4 байта оперирует, так что надо ставить dma контроллер, можно свой написать, подключить его к Txs параллельно ниосу.
  5. С помощью такой команды можно записать 32 байта за раз _mm256_storeu_si256. Это на чтение они медленные (может и микросекунда быть, зависит от платформы), а на запись пауза между TLP пакетами 50-100нс (ну тоже зависит от платформы)
  6. 17.1 Standard Спасибо за подсказку, надо глянуть, что в pro выдает (Quartus 19.4 Pro такой у меня установлен)
  7. atman скорей всего предлагает такую же плату, как в объявлении на авито, но за 35 тыс. руб.
  8. У Интела (Альтеры) есть готовые ip корки для вещественной арифметики. Мне понадобилось сложение. Если выбрать Single формат, то задержка на расчет будет 3 такта на частоте 250МГц и будут задействованы 2 аппаратных блока Аррии 10. А вот если выбрать Double формат, то задержка на расчет будет 11 тактов на частоте 250МГц, и почему то без аппаратных блоков. Это в интеле (алтере) инженеры ленивые и не захотели на аппаратных блоках реализацию писать, или для double есть какие то существенные отличия, сложности? Single: Double:
  9. можно поэкспериментировать с logic lock регионами, создать одинаковые регионы по размеру и по расположению и там, и там, и запретить размещение других модулей в этом регионе.
  10. Нужно сделать: 1). запись в регистр root_conf_space флагов Memory Space Enable, Bus Master Enable (X"00000006") TX TLP пакет: 00000006 00000004 0000000F 44000001 В ответ придет RX TLP пакет: 00000000 00000000 00000004 0A000000 2). запись в регистр root_conf_space номера шины Endpoint устройства (X"00" & PCIE_SECONDARY_BUS_NUM & PCIE_SECONDARY_BUS_NUM & X"00") TX TLP пакет: 00000000 00000018 0000010F 44000001 00000000 00000000 00000000 00010100 В ответ придет RX TLP пакет: 00000000 00000100 00000004 0A000000 3). Можно читать регистры root_conf_space Запрос: 00000000 00000000 0000020F 04000001 Ответ: 00000000 00000200 00000004 4A000001 00000000 00000000 00000000 00014987
  11. Купил эту плату на ebay в декабре, вместе с доставкой вышло чуть больше 5 тысяч рублей. Включил, лампочки мигают, на большее пока руки не дошли, купил именно из-за низкой цены и на предыдущей работе с ней много работал, нормальная плата. Помню у продавца их много было (>10 шт), сейчас нет, еще и в описании было написано с ошибкой, что это просто Arria GX, а не Arria V GX.
  12. Я в 2013 году разбирался с Bar Expansion Если Bar Expansion у Pcie устройства разрешен, то bios прочитает первые 4 байта этого бара, если там 0x55aa (вот сейчас уже не помню, может и 0xaa55), bios поймёт, что у вас действительно option rom, и bios его прочитает весь. Если же в памяти будут другие начальные байты, то bios все вычитывать не будет. Нужно убедиться, что процесс чтения Бара происходит корректно. Это вопрос к вашим разработчикам проекта для ПЛИС, пусть добавят signal tap и покажут, какие запросы приходят по pcie (должен прийти запрос на чтение Bar Expansion) и как они отвечают на эти запросы. "посмотреть в соответствующей области ОЗУ ПЭВМ" - это не то, это уже результат, а как пришли к этому результату можно понять только через signal tap. Вполне возможно, что старые процессоры читают по 32 бита за раз, а новые процессоры по 256 бит, а на такой вариант запроса у ваших разработчиков проекта для ПЛИС не корректно формируется ответ с данными. Если тут все будет в порядке, то надо читать документацию на AMD Ryzen и Intel Сascade Lake, смотреть как там устроена работа с option rom.
  13. А еще вопрос. Сейчас удаленно из квартуса могу залить прошивку. В консоле jtag удаленный видится. А залить из консоли прошивку удаленно не получается C:\altera\17.1\quartus\bin64>jtagconfig.exe 1) DE5 on 193.169.11.115 [3-2] 02E660DD 10AX115H1(.|E2|ES)/10AX115H2/.. C:\altera\17.1\quartus\bin64>quartus_pgm.exe -m jtag -c 1 -o "p;E:\Work\User\projects\pr.sof" Error (213013): Programming hardware cable not detected Что не так?
  14. Полное отключение фаервола на линукс машине помогло: systemctl stop firewalld Теперь буду думать какое правило надо прописать для jtadg