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

Shevnnov

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный

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

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

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Исходя их своего опыта посоветовал бы Belief-Propagation (или даже лучше Layerd Belief Propagation алгоритм, если структура матрицы позволяет) с Min-Sum аппроксимацией (sum-product - дальше компьютерных симуляций использовать не стоит, слишком высока вычислительная сложность). В качестве кода лучше использовать QC-LDPC - они обладают лучшим потенциалом к эффективной аппаратной параллелизации-серелизации алгоритма декодирования. А вообще переход на LDPC довольно грамотное решение, тут только надо учитывать доступные вычислительные ресурсы (размер ПЛИС) и желаемую пропускную способность декодера.
  2. Вопрос с Иксами решился. В Nios II/f есть кеширование данных. Отключил его - всё стало нормально, данные считываются как надо, без иксов. Буду разбираться с VIC
  3. Суть в том, что был проект - в котором работало всё (и работает, если поставить Nios II/s) и запустить на симуляторе. Но если в нём заменяю на проц Nios II/f пересобираю систему, перегенерирую BSP - то получаю такую картину.
  4. Нет, использовал Enhanced API. Вопрос с чтение с щины Avalon остается открытым. В чем проблема?
  5. Есть рабочий проект (вернее был). В нем есть свой компонентс примитивным DMA, который по заданному адресу по команде читает из памяти sdram. До сегодняшнего дня всё работало, всё читалось. Но возникла проблема - в ходе работы компонента используется прерывание. А так как компонент, обрабатывает пакеты, приходящие из вне, то время задержки при обработке прерывания (т.н. latency) оказалось слишком большое (что-то порядка 11us, против желаемых 0,9us). Решил использовать векторный контроллер прерываний (VIC). Как я понял внешие прерывания обрабатываются только Nios II/f. До этого проект в проекте использовался Nios II/s. Поменял процессор, выставли Interrupt Controller - External. Поправил IRQ у компонентов системы. Остальное всё оставил старое. И запустил на Model Sim. Получил картинку, приведенную ниже. Данные tx_data_readdata =32'hxxxxxxx. Плохой результат было списал на то, что неправильно преывание внешнее обрабатываю (инициализация и ф-ия обработки осталась та же, что и была для Innternal IC). Во вкладке Nios II -> Advanced Features Поставил Interrupt Controller = Internal. Эффекта ноль. Временные диаграммы симуляции точно такие же. Вопрос? В чем проблема? Кода возвращаю назад Nios II/s то данные tx_data_readdata читаются. И еще вопрос. Нужно ли переделывать инициализацию прерывания и обработчик прерывания компонента при замене IIC на EIC (внутреннего на внешний контроллер)? Если надо то как?
  6. Я бы задумался над корректностью такого описания RTL. Если даже ModelSim выкидывает его, то вопрос что с ним сделает Quartus или аналогичный о Xilinx (вроде ISE - не знаю так как не пользую). Просто есть строгое описание регистра (тригера), которого стоит придерживаться
  7. Рррррррр. В 9.1 и в 10.0sp1 всё работало а тут на тебе. Жуть
  8. А что, в 10.1 версии sopc-builder обленился и сам не инициализирует свой системный clock? Input clock инициализируется в тестбенче. А тот, что в состоянии x - из pll идет.
  9. Спасибо за совет. Проект запустился но одно но. Системный clock - clk постоянно в состоянии x при симулировании в ModelSim. В чем тут суть?
  10. Народ? Никто не разбирался с симуляцией Nios II приложения в Model Sim. Имею аналогичную проблему с озвученой выше под пунктом 3 в посте #21. Такая проблема появилась в 10.1 версии. В 10.0sp1 не было такого ((( Но 10.0sp1 очень глючила, теряя elf файлы в Nios II SBT На альтеровском форуме видел только один пост на эту тему. Но решение не совсем устраивает http://www.alteraforum.com/forum/showthrea...ed+Executing%3A
  11. Проблема вырисовалась снова. И нпонятно почему авалон шина не даёт добро на передачу данных. Вроде все сигналы выставляю как надо. Отбой. Ответ нашелся при подробном рассмотрении диаграммы. По ошибке я приравнял arbiterlock другого компонента к 1. И вот ничего и не работало
  12. Перефирийный компонент генерирует прерывание. Драйвер компонента обрабатывает это прерывание и сбрасывает флаг irq. Проблема в то, что время обработки (вернее время от поднятия флага до его сброса) где то 2,4 мкс. Флаг сбрасывается сразу после входа в тело функции обработчика прерывания Это слишком много. Нужны времена не больше 0,96мкс. Как это время сократить? В приложении кусок Wave-диаграммы
  13. Действительно охинея. Разобрался, неправильное было присвоение значения для него. Теперь всё нормально.
  14. Трудно сказать. К тому Слейву так же подключен Nios II. Но блин, он не может же занимать шину начиная с 265us и до 1ms. За это время симуляции waitrequestd значение 0 не опустился.
  15. Ситуация изображена на файле, прикрепленом к сообщению. Записываю данные в памать. Десять раз происходит удачно, но на одинадцатый раз waitrequest поднимается в значение "1" и не опускается. В чем может быть проблема?
×
×
  • Создать...