Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА: Файлы ALTUFM_NONE и COUNTER в структуре проекта

Файлы ALTUFM_NONE и COUNTER в структуре проекта 8 года 8 мес. назад #5283

  • Milka14
  • Milka14 аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 0
Расскажите, пожалуйста, о структуре этих файлов. Каким образом реализован генератор 5 МГц и ПЗУ в первом файле, для чего мы используем это ПЗУ. И как реализован счетчик во втором.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Файлы ALTUFM_NONE и COUNTER в структуре проекта 8 года 8 мес. назад #5284

Не понятно о каком проекте идёт речь, поэтому и ответ будет самый общий.

5 МГц на Марсоходе можно получить с помощью PLL, которая разделит 100 МГЦ тактового генератора на 20. В принципе, такой счётчик можно собрать и на логике, но PLL вроде бы как лучше. PLL создаётся и настраивается с помощью меггафунции.

ПЗУ делается мегафункцией, создающей ОЗУ. На последней странице визарда будет предложено инициализировать память данными из внешнего файла - вот так получается "ПЗУ".

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Файлы ALTUFM_NONE и COUNTER в структуре проекта 8 года 8 мес. назад #5285

  • Milka14
  • Milka14 аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 0
Речь идет о первом Марсоходе. Зачем нам реализовывать ПЗУ внутри проекта, если оно и так у нас вроде как есть в CPLD?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Файлы ALTUFM_NONE и COUNTER в структуре проекта 8 года 8 мес. назад #5286

Дело в том, что ПЗУ в проекте это только эмуляция. В нём можно хранить константы, которые загружаются вместе с проектом. А флэш память нужна для того, чтобы каждый раз не загружать SOF извне, а подгрузить его из внутренней флэш-памяти.

Т.е. содержимоое ПЗУ, сгенериванное мегафункцией, является частью "прошивки" и загружается в чип вместе с проектом при включении питания из внутренней флэш памяти CPLD. Вот как-то так, но в деталях могу ошибаться.
Спасибо сказали: Milka14

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Файлы ALTUFM_NONE и COUNTER в структуре проекта 8 года 8 мес. назад #5314

  • Milka14
  • Milka14 аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 0
Как появился код в файлах ALTUFM_NONE и COUNTER? Он сам генерируется, мы его сами пишем или мы его сами копируем? И где посмотреть описание функций, которые в нем вызываются?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Файлы ALTUFM_NONE и COUNTER в структуре проекта 8 года 8 мес. назад #5315

Немного уточню предыдущий ответ от alman.
alman пишет:

Дело в том, что ПЗУ в проекте это только эмуляция...

Это относится к FPGA (например на Марсоход2), где нет внутреннего ПЗУ (есть свое внутреннее ОЗУ, заполняемое из внешней конфигурационной флешки или через JTAG).

UFM блок в MAXII (CPLD) на Марсоход1 содержит флеш ПЗУ небольшого объема (пользовательская флеш память),
т.е. пользователь может сам модифицировать его содержимое из своего проекта (не трогая основную прошивку с конфигурацией (sof) которая хранится в блоке CFM (конфигурационная флеш память)) или заливать содержимое из Квартуса, и от включения к включению оно будет сохраняться.
Milka14 пишет:

Зачем нам реализовывать ПЗУ внутри проекта, если оно и так у нас вроде как есть в CPLD?

В ней можно хранить какие-то значения внешних или внутренних событий после выключения платы (предварительно записывая их в UFM), или просто хранить какие-то константы.
Возможно многое прояснится, если воспользоваться поиском по блогу, введите UFM и гляньте статьи, где упоминается этот блок.
О структуре и работе UFM блока можно почитать в этом документе с официального сайта Алтеры (там же есть и о работе внутреннего генератора):
www.altera.com/en_US/pdfs/literature/hb/max2/max2_mii51010.pdf
гляньте еще документ по архитектуре MAXII:
www.altera.com/content/dam/altera-www/gl...x2/max2_mii51002.pdf

На второй вопрос:
Весь код генерится приложением Квартуса MegaWizard Plug-In Manager. В нем же производится настройка различных модулей (Мегафункций) под Ваши нужды. Своего рода это библиотека различных компонентов (буферов, счетчиков, регистров, логики, разных контроллеров и т.д.).
Мегавизард генерит помимо файлов реализации на языке Verilog или VHDL файлы для симуляции и графические файлы компонентов, которые можно вставлять в проект.

Непонятно о каком COUNTER идет речь,
если о мегафункции LPM_COUNTER, то можно глянуть:
www.altera.com.cn/content/dam/altera-www...g_lpm_counter_mf.pdf
или воспользоваться помощью Квартуса по названию Мегафункции.
Спасибо сказали: alman, Milka14

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.140 секунд
Работает на Kunena форум