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

Вопрос по использованию on chip ram в cyclone4

Посмотрите результат после P&R на Technology map viewer (Post-Fit) остались ли эти модули в дизайне в целости и сохранности. И куда от них сигналы идут.

Спасибо, сделаю это!

 

Что касается не задействованных блоков, натыкался на такую ситуацию:

в каждом блоке есть сигналы сброса и предварительной загрузки, назначаю им принудительные 0 или 1. После компиляции квартус выдавал итог 0 задействованных ресурсов (памяти, регистров и т.п.) при этом в RTL честно рисует все блоки. Загружал - не работает.

Переназначал эти сигналы на выход ниоса (прошивка ниоса не менялась и на выходах всегда статический 0), компилировал, в RTL все отрисовалось, в отчете число занятых ресурсов, при загрузке на выходах интересующие меня сигналы.

Я тоже с этим сталкивался. Как я понимаю, это квартус упрощает дизайн, и он считает, что в вашем проекте не описано никакой логики (после всех "упрощений"). Иногда проблема была очевидна, а если нет, то проверял последовательно весь код, или переписывал проблемный кусок с нуля, это помогало.

 

На самом деле как и ожидалось сам по себе вопрос задается неправильно.... Говорилось о том, как "размножить память"...

А теперь давайте посчитаем. Максимальная скорость - "921600". Грубо 1Мбит/с... А когда придет байт, то это 0,1 МБайт/с. А тактовая "внутри", даже без применения умножителей частоты вдвое, - 50Мгц. Теперь считаем такты. Пусть даже у нас будет 10 каналов, тогда за время приема байтов по всем 10 каналам, у нас будет 50 тактов внутренней частоты. Так за 50 тактов можно будет циклически опрашивать эти 10 каналов и полученные данные записать в единственный блок памяти, но соответственно по разным адресам.... И дя этого нужен только один FSM и десяток регистров-указателей для записи слов данных...

Даже более того. Можно и сам приемник сделать только один и к нему крошечный блок двухпортовки. Соответственно за 50 тактов "внутренней" частоты, можно легко обмолотить 10 каналов по 5 тактов на канал... А в этой двухпортовке хранить временные результаты приема по каналам...

 

Как показывает мой опыт работы в техподдержке, большинство вопросов задаются тогда, когда "лобовое" решение не работает, А не работает оно только потому, что задача поставлена неверно. Начинать то надо с карты поля дураков, а то с утра и не вспомнить будет, где закопаны 4 сольдо. :)

Скорость 921600 я указал в бит/с. Поэтому 5 тактов, это если 10 каналов и писать по биту. На деле, я пишу по 8 бит, а кадр представляет из себя 10 бит (+старт стоп биты). По тактам запас будет побольше, раз в 10. Можно использовать один примитив памяти, хорошо, проблем нет. Нет проблем в этом проекте, в другом, возможно, я не смогу обойтись без параллельных процессов работы с памятью. Поэтому и разбираюсь с ними сразу, чтобы потом не уткнуться.

Изменено пользователем jkabra

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скорость 921600 я указал в бит/с. Поэтому 5 тактов, это если 10 каналов и писать по биту. На деле, я пишу по 8 бит, а кадр представляет из себя 10 бит (+старт стоп биты). По тактам запас будет побольше, раз в 10. Можно использовать один примитив памяти, хорошо, проблем нет. Нет проблем в этом проекте, в другом, возможно, я не смогу обойтись без параллельных процессов работы с памятью. Поэтому и разбираюсь с ними сразу, чтобы потом не уткнуться.

Ну так если один суперканал на 10-20 приемников, то потом поставите таких два...

А на самом деле и этого не потребуется. потому как здесь мы считали тактовую в 50Мгц, а на новых чипах она может быть и 150-200 Мгц... А уж о более чем 40 каналов UART и говорить нет смысла...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...