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

svedach

Свой
  • Постов

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

  • Посещение

Весь контент svedach


  1. Извините, что целый день отсутствовал, работа... Интересный разговор начался... Сразу конечно стоило оговорить: продукт мелкосерийный, с высокой добавленной стоимостью... Так что передача UID и синтез с ним - не проблема. Вопрос, который я подразумевал, но открыто не задал - что делать, если таких ядер несколько и каждое будет использовать Altera Unique Chip ID IP Core, что делать? Доступа ко всему проекту нет... Неужели все так и передают - сколько хочешь, столько и копируй? Неужели никто подобными вещами не озадачивался?
  2. Привет всем. Появилась задача защиты своего IP-ядра при продаже. Лучший вариант - продавать синтезированный Квартусом файл, но нужно что бы его можно было использовать только один раз для конкретного чипа. Прочитал, что ПЛИС Alter-ы имеют уникальный идентификатор, его можно использовать... заказчик ядра передает мне идентификатор микросхемы, я подставляю его в исходники, синтезирую и передаю результат заказчику. Вот только непонятно, как читать этот идентификатор? Нашел, что есть специальная корка, но возможно ли ее интегрировать в свое ядро и нормальный ли это подход? Спасибо!
  3. Снимаю шляпу, добрейший. Буду разбирать и делать конвеер, как сделаю - выложу сюда.
  4. Не хочется изобретать велосипед, может кто-то уже писал подобный модуль и готов поделиться... Буду очень признателен....
  5. Я по AXI в регистр в своей корке пишу адрес статического массива (это и есть распределенная память :)) и с этого адреса начинаю читать...
  6. В общем это действительно был какой-то специфический регион... Задал смещение в распределенную в SDK память и всегда 0x80.
  7. У меня сейчас sts_tdata периодически становится 0x40 - ошибка от слейва... Не сталкивался с таким? При чем после того, как восстанавливается 0x80 (в конце времянки) дальше всегда вроде 0x80. Похоже на то, что какой-то регион памяти недоступен для чтения, или я не правильно понимаю? P.S. Адреса чтения пока - просто последовательность о 0 до 2621440, заданы только для теста....
  8. Все, разобрался, оказывается шину статуса тоже обязательно надо читать (или хотя бы установить *_sts_tready в "1")...
  9. Алексей, привет! Наблюдаю следующую картину: Это первый запрос пачки данных, после того, как MM2S_CMD_Ready упал последний раз - больше не поднимается... Не могу понять, что не так...
  10. Я тоже генерирую команды датамуверу из логики, почитал доки - структура команд простая:) + есть фифо команд. Он кстати удобно перекладывает прочитанные данные в АКСИ Стрим + можно указывать последний запрос - по нему будет генериться tlast. По этому стробу удобно запускать обработку принятых данных... Делаю автомат состояний для генерации команд, попробую - отпишусь что да как...
  11. Алексей, привет! Проясни "Датамувер это движок sg dma"... Что значит движок? Датамувер вроде неплохо подходит - кенеришь ему команды и на выходе получаешь поток данных, если я правильно понял...
  12. Кажется нащупал верный путь: DataMover!!! Буду пробовать...
  13. Здравствуйте! Столкнулся с проблемой чтения данных из DDR, подключенной к Zynq. Т.е. работа предполагается такая: при старте системы процессор из флешки копирует определенный массив значений, эти значения используются кастомным ядром в PL. При этом выборка значений случайная (массив большой)... Писать поток (тоже надо) в DDR через DMA я умею и прекрасно с этим справляюсь, но вот чтение да еще не поточное а по случайным адресам пока толком не понимаю как сделать... Есть предположение использовать CDMA, при этом к порту S_AXI_LITE подключается моя корка и генерит запросы чтения по нужным адресам (или пишет в регистры CDMA что и откуда прочитать...???)... Это будет работать? Или это не правильный путь? Может есть способ проще?
  14. kosek8, Вы вроде все делаете правильно, просто Vivado - это мегакосячная среда... Возможно лучше сохранить кастомные исходники, удалить всю папочку SDK, заново все экспортировать, создать и настроить проект и потом добавить свои исходники...
  15. Это классно. Я давно использую фриРТОС. Очень нравится...
  16. Так у тебя все получилось? Мне интересно на перспективу...
  17. http://www.freertos.org/Free-RTOS-for-Xili...tan-6-FPGA.html Тут вроде все есть, или то, что там написано - пройденный этап? Мне тоже интересна данная тема...
  18. Как минимум таймер должен быть, и скорее всего он должен быть заведен на прерывание... Какие конкретно ошибки выдает SDK? P.S. Шевяков....
  19. Интересно... Спасибо, Doka. Есть ли туториал по такой схеме работы?
  20. Кстати, переходите на 2017.1 или .2 - прогресс относительно 2016 есть.
  21. Долго работаю с Vivado... Это худший софт в котором доводилось работать... Привыкайте... Интерфейс - ужас, куча окон в окне... Отзывчивость нулевая (комп у меня нормальный...). ILA по сравнению с ChipScope - боль... Извините, накипело...
  22. По поводу чтения как раз и стоит вопрос - вешать это на проц или писать свою корку... Что такое "алгоритм чтения" не совсем понял, чтение выполняется по случайным адресам из заданного диапазона (пока в ДДР это обычный большой статический массив интов...) и перекладывание прочитанного слова в BRAM в PL по адресу, который инкрементируется. Адрес чтения из большого массива берется из BRAM. Это получается что-то вроде гигантской LUT... Если Вы имеете в виду непосредственный обмен с памятью, то туда не лажу...
  23. Простите мне мое невежество, но насколько я разобрался из даташитов (я с флешкой раньше не работал) там чтение выполняется бурстом (т.е. сразу передается страница) и передача этого бурста займет много более 70нс? Или там все-таки можно организовать чтение только слова по случайному адресу за время не более 70нс (с учетем задела на будущее)?
  24. Если можно, про п.2 доскажите подробнее, нашел флешки только со временем доступа около 70 нс, что многовато...
×
×
  • Создать...