Jump to content

    

nice_vladi

Свой
  • Content Count

    103
  • Joined

  • Last visited

Community Reputation

0 Обычный

About nice_vladi

  • Rank
    Частый гость

Контакты

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

Информация

  • Город
    Томск

Recent Profile Visitors

1045 profile views
  1. Прикольно, спасибо, буду применять)
  2. Эклипсу нужно явно рассказать, как и какие компиляторы-линкеры использовать. Напимер, мой сетап: После этого делаете сборку и смотрите выхлоп в консольке Эклипса. Как правило, все ошибки довольно просто гуглятся, благо, тема распространненая =)
  3. Есть вот такой хороший документ. Я брал за основу и запуска 100/1G ethernet - все было ОК. https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an477.pdf Вендор другой, но сути дела не меняет)
  4. Попробуйте Device... -> Device and pin Options -> Unused Pins -> Reserve all unused Pins выставить As input tristated или As output drived to ground (но тут надо смотреть, что бы чего полезного на плате не грохнуть) ПС. А вообще, какая разница, что во время конфигурации пин == 1? Я так понял, это ресет на внешнюю память (аля ддр). Ну и пусть она включена во время конфигурации ПЛИС. Просто после загрузки дернете ее ресетом с правильной паузой - и погнали работать)
  5. Не знаком с тонкостями запуска квесты из-под других продуктов (квартус/вивадо), но даже с обычным запуском испытывал опеределенные сложности. Можете попробовать вот такой скрипт: #!/bin/bash export LM_LICENSE_FILE=/media/volume/soft/Mentor/LM/license.dat PATH=$PATH:/media/volume/soft/Mentor/QuestaSim10.7c/questasim/bin/ vsim Но все равно - только через консоль. Запустить с лаунчера на рабочем столе так и не получилось. Возможно, дело в самой квесте...
  6. 100-500 МГц - довольно большой диапазон. Предложенный выше вариант (два сдвиговых регистра + счётчик) точно заработает на 100 МГц. А вот на 500 - уже не точно. Так что, первым дело, стоит определиться с частотой интерфейса и от этого отталкиваться. Можно без фифо. Перекладываете строб RDY на внутреннюю тактовую, заводите по нему счётчик и, допустим, на 10й такт (те когда ВСЕ пришедшие биты ТОЧНО легли в сдвиговые регистры) перекладываете эти регистры на внутренний клок.
  7. Понял, спасибо. Я люблю, когда все так просто)
  8. Спасибо. Вопрос (пока под рукой нет железки проверить): По этому пути Эклипс СКОПИРУЕТ собранный файл, или по этому пути Эклипс ОЖИДАЕТ увидеть исполняемый файл, что бы к нему зацепится? Т.е. из Makefile я могу ПОСЛЕ сборки вызвать scp, который сложит мне артефакты сборки на таргет?
  9. Всем привет, Собственно, дело в следующем: Есть хост Ubuntu и есть таргет ARM. Пишу и собираю в Eclipse. Для запуска ручками копирую собранное на хосте на таргет. Это неудобно. Подскажите, как правильно организовать передачу собранного софта с хоста на таргет через SSH? Я представляю примерно следующие этапы: 1. Написал; 2. Скомпилировал; 3. Eclipse сложил скомпилированное на таргет по заранее известному пути через SSH; 4. Профит - либо запускаешь отладку, либо через консольку на таргете запускаешь свежесобранное ПО. Гугл особо ничем не помог. Спасибо.
  10. Подскажите, пожалуйста, в чем смысл такого приведения разрядностей в счетчиках? Не проще ли явно указывать разрядность инкремента, типа: cnt <= cnt + 1’b1; ? Или это просто «на вкус и цвет»?
  11. Вообще не профессионал, но: Выбросил бы запись "& data" и попробовал заполнить буфер 0x00ffffff. После этого станет понятно, что ломается: итератор или данные. Если все ОК и буфер заполняется ff - значит ломается переменная data; Если буфер все равно заполняется мусором - значит ломается итератор (point_time). Ну так далее, пока не станет точно понятно, в какой переменной возникает проблема.
  12. Разрядности здесь ни при чем. Quartus развел 2мерный массив констант как модуль памяти. Соответственно, варнинги говорят о том, что некоторые порты железного блока памяти (data_a - данные на запись, waddr_a - адрес на запись, we_a - разрешение на запись) никуда не подключены. Если нет тяги к прекасному - можно смело забить на них)
  13. На самом деле, на wiki altera-intel есть много design examples под различные ядра. Но у них в текущий момент какой-то переезд с движка на движок, поэтому почти все ссылки на файлы - битые. Однако, поддержка все-таки ответила, прислали архивчик с проектом. Выкладываю, мб пригодится кому. Cv_custom_auto_sync_sm_qii15.0.zip
  14. Больше двух выражений в условных операторах if-else - нечитабельно; FSM на два состояния, к тому же не case, а опять же if-else - на мой взгляд криво; Строки 31-36 - многоэтажный assign - вообще непонятно, что там происходит. Ну, это все ИМХО. Каждый ...пишет как хочет. Но это ж учебник. Я по нему учить хочу, а не разгребать какую-то невнятицу в коде. Как говорил один программист "Пишите проще" =)
  15. Я регулярно в обучающей литературе вижу конструкции языка, как на приведенной картинке. Почему это так? Почему не пишут просто - это же обучающая литература. При виде строк типа 17, 18, 32-36 вообще пропадает всякое желание читать и разгребать это всё. Разработчики АСИК и ПЛИС действительно так пишут?