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

    

new123

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Частый гость

Посетители профиля

326 просмотров профиля
  1. сомнений нет, все работает. Просто хотел устранить пробелы в знаниях, неужели операция деления может так сказываться. Сейчас заполняю констрейны, проверю потом просто из любопытства с ними.
  2. Спасибо. вот я так похоже и выкрутился. Я там написал в первом сообщении.
  3. Понятненько. Спасибо, буду заниматься тогда Интересно, если я задействую bsp блок, помогло бы? Чисто из спортивного интереса. Там же они создавались для мат вычислений
  4. 2 - как пример, на нем все работает хорошо. Уже начиная от 10, схема ползет не обконстрейен, но в TimeQuestAnalyzer по этому коду репортов нет. Я тут немного плаваю. Вот рассказываю как вижу.
  5. Добрый день, форумчане. Глупый у меня вопрос, наверное даже должен извиниться за такую глупость =) Но все же. 1) У меня есть счетчик инкрементирую 2) У меня есть fifo 3) У меня есть флаг, который отвечает за запись в fifo В fifo я хочу записывать каждые N значений счетчика. В принципе ничего вроде сложного Свой флаг я взвожу примерно так assign start = ( ( (fifo_counts < LOG_SIZE) || (fifo_empty) ) && ( enabled && (log_id_counter % 2 == 0) ) )? 1'b1: 1'b0; always @ (posedge clk) begin if (enabled) begin log_id_counter <= log_id_counter + 1'b1; end end То есть сама кратность у меня проверяется в конструкции log_id_counter % 2 == 0 Чем больше я делаю шаг кратности, тем больше у меня появляется глюков. FIFO выдает мне потом какую то чехарду. Например каждый шестнадцатый элемент с левым значением счетчика. Выкрутиться, я выкрутился. Примерно так (взвожу некий бит каждый 50 000 счетчик) always @ (posedge CLK_25) begin log_bit_counter <= log_bit_counter + 1'b1; if (log_bit_counter == 16'd50000) begin log_bit <= ~log_bit; log_bit_counter <= 16'b00; end end Выкрутиться выкрутился, я покоя не дает. Что же не так делаю. Может операция остатка от деления такая долгая? Может где по времени не прохожу? Железо у меня Stratix V. Вдруг кто что нибудь подскажет. Буду признателен, если устраните пробел в моей голове.
  6. CVP под LINUX. в новую тему заводить не буду, отпишусь, вдруг кто поиском найдет 1) Тот драйвер, что идет в комплекте quartus подходит только для линукс ядра версии до 2.6. А это год так 2011 2) Altera предлагает пользовать новым драйвером jungle 30 дней, потом купить. 3) В мануалах десятых серий альтера стала аккуратно приписывать ссылочку на opensource драйвер. В новых мануалах пятых серий чипов этого нет 4) Ссылка ведет на драйвер для 10 серий плис. Советую заглянуть сюда https://www.intel.com/content/www/us/en/programmable/support/support-resources/support-centers/devices/cfg-index/cfg-via-protocol.html и выбрать или под 10 или под 5. 5) Внутри нормальный readme. Запускается прошивка для cvp без проблем.
  7. а я вот пока сделал не так. Я выставил update и зашил цельный pof через AS. Потом через partial reconfiguration и cvp зашил core второй ревизии. ps. Спасибо за такое подробное объяснение
  8. Юрий, подскажите. Если использовать intialization mode, можно при этом top модуль изменять и обновлять получается? в Update то квартус не дает ревизии на топ модуле делать И если питание сбросить, плис потом опять в initilization входит?
  9. понятно теперь. Я сотку не беру с разъема, хотя может и стоит. Я все частоты себе делаю на внешней pll на плате. И чтобы она заработала, я ее должен сконфигурировать на старте c помощью fpga по протоколу i2c. Это где то 35млсек при включении
  10. Не совсем понял, что именно работает? Вы тоже конфигурируете pll перед запуском pcie? Решил переводить уже ближе к боевым действиям на линукс. Тут еще до сих пор драйвер не смог воткнуть. Укомплектованный драйвер в квартусе не поддерживает такие новые ядра линуксов
  11. я периферию не шью. Она мне не очень подходит, потому что я при старте еще конфигурирую по протоколу i2c плл'ку на плате, чтобы запить pcie и 10g. поэтому, что я делаю 1) Генерю по базовой ревизии обычный pof с режимом CVP update. Его прошиваю через AS. 2) Генерю core второй ревизии и на всякий случай базовой 3) Стартую железо, потом без проблем шью core по CVP. Шью любой core (и второй ревизии и базовой). Первый раз все прошивается норм. Изменения вступают на лету в силу 100%. А вот последующая прошивка становится проблематичной. У ревизий изменена 1 строчка кода. Просто значения регистра меняю. Мануал этот родной я тоже проштудировал. У меня сразу с первого раза не пошло. С компрессиями проблемы были. Скоро на линуксе попробую. Может это просто программная какая ошибка у quartus_cvp
  12. Форумчане, добрый день. Освоил CVP прошивание у StratixV через pcie. Все проходит по началу хорошо. 1) Зашиваю вторую ревизию, которая изменяет один модуль. CVP в режиме Update изначально. 2) Все проходит удачно. Код начинает работать по новому точно. 3) Решаю откатить на первую ревизию, получаю Access Violation. При этом fpga мне кажется тоже вешается, так перестает подавать признаки жизни. 4) Могу так же зашить первую ревизию (основную), но при прошивке второй, таже самая ошибка. Завожу компьютер в режим "Сон", чтобы рубануть питание. Пробуждаю, начинает опять шиться. Получается нельзя два раза подряд шиться без резета? Может кто сталкивался.
  13. спасибо, буду пробовать к НГ. Пока cvp освоил практически
  14. Как думаете, если я реализую Remote System Upgrade IP, я же смогу и по pcie принять данные и зашиться? Читал пол ночи этот букварь.
  15. Спасибо. Я этот раздел в handbook постоянно пролистывал мимо.