Sign in to follow this  
Tesla

Тестирование Проекта Quartus

8 posts in this topic

Tesla    46

Возник вопрос: создал, допустим, я в Quartus'е проект - модуль, сопрягаемый с внешним микроконтроллером. Перед изготовлением реального устройства хочется как следует потестировать в симуляторе ПЛИСину и микроконтроллер в связке. Но вот беда - Proteus ничего не знает про ПЛИС, а Quartus - про её периферию. Есть ли какая-нибудь возможность получить из проекта квартуса модель, подцепляемую протеусом или другим симулятором, или специализированный софт для симуляции ПЛИС и периферии?

Share this post


Link to post
Share on other sites
Lexus    992

Я задавался подобным вопросом, но, похоже, что такой возможности нет.

В Quartus и MaxPlus есть возможность подключить файл вектора входных сигналов (*.vec). Внутри файла возможно описание любых входных сигналов.

Share this post


Link to post
Share on other sites
Tesla    46

А нельзя ли к Quartus'у подключиться через какой-либо API, чтобы, грубо говоря, программно рассчитывать входные сигналы для ПЛИС на следующем шаге исходя из выходных сигналов предыдущего шага, т. е. создать обратную связь?

Share this post


Link to post
Share on other sites

DC/DC-преобразователи MORNSUN R3. Повышенная надёжность - сниженная стоимость!

Особенностью преобразователей R3 являются улучшенные технические характеристики, повышенная надёжность и сниженная стоимость. Электрическая прочность изоляции представленных преобразователей не менее 1500 В, а температурный диапазон применения -40…105ºС.

Подробнее...

Lexus    992

API - вряд ли. В принципе, обратная связь в синхронных проектах работает без проблем. Можно попробовать в проект Квартуса (на время описания конфигурации и моделирования) добавить модуль, внутри которого разместить таблицу истинности, которая и будет формировать выходные сигналы, исходя из входных.

Что у Вас за проект, если не секрет? Может, получится обойтись одной ПЛИС (без МК). Мне их пришлось совмещать только один раз - когда потребовалось формирование длительных задержек (секунда и более) при основном такте около 30 МГц.

Share this post


Link to post
Share on other sites
Tesla    46

Серьёзного проекта пока нет, хочется просто разобраться на будущее. Но однажды была необходимость разработать недорогое устройство с пятью последовательными портами (для объединения 4 потоков NMEA в один). Тогда я кое-как выкрутился, реализовав 4 UART'а программно (тем более, от них требовался только приём), но это, ИМХО, было некоторым извращением, так как занимало большую часть процессорного времени atmega8 (на 11.0592 мгц), плюс для стабильности работы пришлось отключить все прерывания, кроме таймера. А сейчас я бы попробовал реализовать UART'ы аппаратно, на ПЛИС, оставив основную задачу (буферизация, определение границ пакетов, проверка контрольной суммы) на микроконтроллере. Мне кажется, что такое комбинированное решение обошлось бы дешевле, чем микроконтроллер с 5 UART, или жирная ПЛИС, которая потянет задачу полностью.

P. S. Кстати, ещё не разобрался - для чего в ПЛИС нужна основная тактовая частота? Это ведь не микроконтроллер, где все операции должны происходить синхронно. Или она применяется только для вспомогательных целей (формирование временных интервалов)?

Edited by Tesla

Share this post


Link to post
Share on other sites
Lexus    992
А сейчас я бы попробовал реализовать UART'ы аппаратно, на ПЛИС, оставив основную задачу (буферизация, определение границ пакетов, проверка контрольной суммы) на микроконтроллере.

Разумно. Я вообще плохо представляю себе ПЛИС в качестве АЛУ. Хоть большие кристаллы с этим и справятся, логичнее использовать ПЛИС в оптимальной для нее среде, то есть ЦОС, а всю арифметику оставить МК.

Кстати, ещё не разобрался - для чего в ПЛИС нужна основная тактовая частота? Это ведь не микроконтроллер, где все операции должны происходить синхронно. Или она применяется только для вспомогательных целей (формирование временных интервалов)?

Основной такт не обязателен. Вам же никто не запрещает сделать на ПЛИС элемент NAND. :) Просто это является расточительством ресурсов. Да и ПЛИС сами по себе очень "гибкие" изделия. То, что можно оформить даже в маленький кристалл EPM7032, едва ли получится заставить работать на дискретной логике при аналогичных требованиях к быстродействию.

В МК работает синхронно только внутренняя переферия и порты I/O, сами же операции несинхронны. Это основной недостаток МК, которого можно избежать только отключением прерываний и полным контролем последовательности выполнения команд, что возможно только при листинге на ассемблере. В ПЛИС этого недостатка нет. Языки описания конфигурации являются параллельными. Более того, моделирование ПЛИС архитектуры CPLD позволяет практически со 100% гарантией вычислить все задержки внутри кристалла. Для архитектуры FPGA несколько сложнее, так как многое зависит от умения разработчика трассировать модули внутри кристалла. Я, например, с FPGA еще не работал и практики в этом нет.

Говоря об обратной связи в цифровой технике, я всегда подразумеваю наличие синхронизации, так как в асинхронных проектах ОЧЕНЬ велика вероятность получить метастабильные состояния. В Вашем случае можно использовать тактовую частоту для ПЛИС 22.1184 MHz и все внутренние операции выполнять синхронно с этим тактом. А для синхронизации с портами МК, внутри ПЛИС поделить mclk на 2 и тактировать МК.

Share this post


Link to post
Share on other sites
Tesla    46

Спасибо за ответ!

Если я правильно понял, то тактовый вход ПЛИС отличается от остальных только оптимизированной разводкой внутри кристалла?

Edited by Tesla

Share this post


Link to post
Share on other sites
Lexus    992
Если я правильно понял, то тактовый вход ПЛИС отличается от остальных только оптимизированной разводкой внутри кристалла?

Да. Это так называемые глобальные входы. Их, как минимум, три - тактовый, сброс и разрешение. Но совсем не обязательно их использовать по назначению. Можно не использовать вообще. Главное преимущество глобальных линий - это малое время распространения по кристаллу даже у "тормознутых" грейдов.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Сообщения

    • Помехи из-за биения частот ИИП и усилителя. Либо на железо перейти либо помехи от ИИП устранять. У меня вобще было жуткое шипение. Пока не заземлил всё по человечески. Могут помехи идти и по входу, если нет фильтра ВЧ, и сигнал идёт с какого-нибуть цифрового проигрывателя....телефон, компьютер. В основном от компьютера всякая бяка в сигнал лезит. А если не осциллографом меряли частоту, то может быть большая погрешность от помех там всяких.
    • )) ауди80 например ,бмв Х5 - это те что были у меня ,- машины которые на слуху 
    • DesAlex Легче переделать входной и выходной каскад  чем делать кучу датчиков да потом таскать их с собой - можно сделать дополнительный  согласующий блок - все возможности в нашей голове и также руках  - параллельно датчику Я делаю передающие устройства чтобы возбуждать катушку прямоугольными импульсами как сделано в GPZ 7000 или CTX 3030 ... Возможно у меня не получиться реализовать данную идею  - зато мы все получим дополнительный опыт .
    • Чиню этот ресивер. Среди вылеченных болезней было: - рандомное изменение громкости вместо ожидаемого увеличения\уменьшения. вылечилось заменой крутилки - один сгоревший предохранитель. вылечилось заменой - отсутсвие звука (точнее очень тихий звук). вылечилось чисткой контактов шлейфа Остался один глюк с которым не уверен как бороться. При переключении на дисплее меняется надпись на правильный источник, но звук идет от любого подключенного источника. При нескольких источниках звук смешивается. Искать LC7822 под замену или может быть что-то другое? Схему прилагаю   hfe_sony_ta-av561_service (1).pdf
    • С человеческим что ли? На ум приходит только Toyota Nadia
    • Люблю маршрутки.
      Там можно наблюдать за людьми.
      Часть пассажиров в маршрутке слушает музыку.
      Один вынимает наушник, говорит: "На Ленина остановите." Засовывает обратно.
      Второй вынимает наушник, говорит: "На Ленина остановите. "Засовывает обратно, и так ещё три человека. Пауза.
      Водитель вынимает наушник и кричит: "Кто-нибудь на Ленина выходит?!" Переписывался с начальницей и та попросила фото моего малыша.
      Кто ж знал, что ей нужно было фото сына?
      Ищу работу.