Skip to Content

Блог пользователя des00

Автоматизация задания номеров пинов ПЛИС Altera для плат разведенных в PCAD

Последние 4 года я специализируюсь только на разработке систем на ПЛИС, процами и разводкой ПП уже давно не занимался. Поэтому когда приходит новая железка, для создания top файла системы на ПЛИС мне нужно перебить пины из sch файла PCAD в qsf файл Quartus а, для того что бы начать работать.

Заниматься этим вручную достаточно занудное и чреватое ошибками занятие. Мой бывший коллега разработал скрипт на языке Python для автоматизации этого процесса, а я потом немного его подрихтовал для удобства пользования, в частности добавил фильтр игнорируемых цепей.

SVN для чайников. Часть II

Работа с рабочей копией 

В предыдущей части мы рассмотрели основу основ SVN – репозиторий и научились с ним работать. Теперь рассмотрим операции с файлами проекта, с которыми разработчики сталкиваются чаще всего. Как мы помним наши программисты Вася и Петя создали локальный репозиторий. Импортировали туда  проект и создали рабочую копию проекта demo_project1. Оба наших программиста работают в своих собственных рабочих копиях.

SVN для чайников. Часть I.

Данный цикл статей посвящен введению в использование SVN, с точки зрения обычного пользователя. Статья была написана в помощь моим коллегам для быстрого освоения и использования SVN. Итак начнем с азов.

Данный материал был опубликован в журнале "Компоненты и технологии"

Введение

Зачем нужны системы контроля версий типа SVN?

Данный опус написан на основании собственного опыта. Для начала нужно понять что данный вопрос является философским, особенно для разработчиков полагающихся на свою память и предубеждение что они никогда не ошибаются и лучше чем машина знают что и где хранить.

У таких разработчиков на жестком диске в проектах часто можно найти следующие папки:

TimeQuest для чайников. Приложение 3 (Добрый и злобный Multicycle)

Добрый день уважаемый читатель.

В предыдущих блогах я рассказывал о том, что есть волшебный констрейн set_false_path с помощью которого можно творить прямо таки "чудеса" укладывания проекта в констрейны. У этого констрейна есть своеобразный друг. Добрый, но в то же время злобный, констрейн описания мультициклового пути set_multicycle_path.

Подход к автоматизации разработки HDL проектов

Добрый день уважаемые коллеги!!

Часто начинающие плисоводы, начав изучать какой либо из HDL языков, задаются вопросом почему в них громоздко и не оптимально описываются соединения блоков между собой. Рассмотрим это на примере языка Verilog.

Действительно, при создании любого компонента, нужно объявить его интерфейс, т.е. описать его порты(имена, типы, направления). Для синтеза, только эти порты и будут видны компонентам более высокого уровня. Дальше этих интерфейсов прыгнуть нельзя. Почему так?

TimeQuest для чайников. Приложение 2 (Хак для System Synchronus Ouput на cycloneIII)

Решал недавно одну непростую задачу, танцевал с бубном достаточно долго. Итак имеем 3 асинхронных потока данных на частоте 180 МГц и нужно было выдать их на внешний DAC включенный в режиме System Synchronus Ouput.

Что сложного скажет кто-то, берем еще один клок на PLL, немного двигаем его по фазе и вуаля. Но в том-то и дело что PLL у меня не было. А не было ее потому, что два клока шли с других PLL, а еще один клок шел с обычного порта. ПЛИС cycloneIII, как известно не поддерживает подачу на PLL абы какого сигнала, поэтому пришлось выкручиваться без нее.

TimeQuest для чайников. Приложение 1 (Внешняя обратная связь по клоку).

Вопрос возник на форуме electronix.ru и его правильное решение предложили пользователи des333 и SM. Я в этом вопросе целиком и полностью опростоволосился %).

Задача такая, как правильно описать констрены для такой системы

TimeQuest для чайников. Часть 5 (Заключение)

Мы рассмотрели основные вопросы по заданию констрейнов для различных проектов.

За границами рассмотрения остались такие виды задания ограничений как : мультицикловые пути в проекте (мы рассмотрели их использование только в интерфейсах), интерфейсы с работой по обеим фронтам.

Цель охватить все возможные ситуации не ставилась, предоставленной информации достаточно для начала использования TimeQuest.  То что будет не понятно можно найти в документации на TimeQuest и в хендбуке на квартус. Все это доступно на сайте альтеры. 

TimeQuest для чайников. Часть 4 (Как много интерфейсов разных)

Вот мы и подошли к основному таинству TimeQuesta. Это таинство задания временных ограничений для интерфейсов ввода/вывода. Интерфейсов существует великое множество, но относительно методов их обработки и задания констрейнов их можно разделить на 2 основные группы : асинхронные и синхронные интерфейсы.

Под синхронностью я понимаю метод обработки интерфейса в ПЛИС. Если для обработки потока данных используется логика, тактируемая от частоты этого интерфейса, то такой интерфейс я называю синхронным. В противном случае интерфейс асинхронный.

Асинхронные я делю на истинно асинхронные (т.е. обрабатываемые полностью на  комбинационной логике) и асинхронные с обработкой на системном клоке. Синхронные же в свою очередь делятся по признаку местоположения источника тактовой частоты на system-synchonus и source-synchronus интерфейсы.

Есть еще самосинхронные интерфейсы работающие с Clock Data Recovery (CDR), но их мы рассматривать не будем. Также не будем рассматривать подробно вопросы реализации интерфейсов, нас интересует только задание временных ограничений в TimeQuest. 

RSS-материал