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

Насколько сложно это - освоить FPGA?

Цель не схема а работающее устройство

Но а если ближе к теме то надо иметь хотяб общие сведения о структуре самих плис чтоб сделать выбор под схему и понимать что это за зверь

Для начала ведь можно вводить и схемы хоть в ORCAD, а освоение языков на потом. Сразу из схемотехника писатель поведенческого описания схемы вряд ли получиться все таки разные подходы. Это уже когда будет понимание что без этого нельзя.

Потом сам язык(и). Хоть Верилог и С братья близнецы но пока дойдешь что цепи типа wire он добавляет сам и опечатка в название любой цепи может привести к не предсказуемому результату может пройти и не один месяц(в С даст ошибку и здесь подвохов не ждешь)

особености софта и микрух если нужна полная отдача

Ну и симуляция (софт, язык) не все же осцилографом проверишь

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


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

Не в тему - но все таки - микросхема К155ЛА3 - ЛЕГЕНДАРНАЯ. На ней делалось (а многие и продолжают) все от кукушки до бегущей строки (правда - с регистрами *), включая недокументированные возможности работы на повышенных частотах.

Спасибо Союзу за девайс, который до сих пор живет!

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


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

Сколько это приблизительно может занять по времени освоение FPGA для опытного в других областях разработчика (микроконтроллеры, C++) но не знакомого с HDL языками, для разработки достаточно сложного устройства (прогнозирую в районе 1000-2000 LE's на Altera Cyclone)?

 

Расскажите о вашем личном опыте!

 

Самый простой путь взять MAX+ и освоить схемный ввод с моделированием, на все это достаточно и недели. Вообще говоря можно всю жизнь рисовать схемы в графике не зная HDL, плисы от этого работать хуже не будут.

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


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

ПЛИСы то работать хуже точно не будут. Но разработчик, рисуя проект, будет работать хуже, при проектировании крупных проектов.

Знать языки проектирования нужно. И не один.

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

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

Графическое описание основывается в основном на неформализованном, а империческом синтезе.

Сам начинал в MAX Pluse со схемного ввода. За пол года освоился. Даже устройство разработал.

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


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

А дельфисты от схемотехники

По стилю сразу видно человека от C :)

(Не в обиду языку будь сказано)

Не надо бы трогать Delphi вот таким образом, а?

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


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

Можно я вставлю свои пять копеек? Для меня проще было писать на языке AHDL нежели разбираться с графическим вводом.

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

Однако при всем этом счастье условно бесплатная WinCupl отказалась компилировать более менее сложный проект. То есть, компиляция проходила, но jed файл не генерился. Техническая поддержка отморозилась чем, то в роде "такого быть не может" и " рады, что воспользовались нашим продуктом".

Решение - строчно нужно было переходить с WinCupl на MAX II.

Перебил без проблем конфигурацию на AHDL, на все про все, начиная с WinCUPL ушел месяц. Большая часть времени ушла на отвыкание мыслить ЛАтретьими.

Никогда не пользовался графическим вводом, хотя на данный момент времени считаю, что AHDL не отличается сильно от графического ввода, а от конструкций VHDL становится страшно, хотя и не смертельно.

Но самое главное иметь под рукой какой-нибудь рабочий KIT, и проверенный ByteBlaster. Неделю упертой работы и ты приобщился к великому движению reconfiguration systems. Извините за пафос.

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


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

Про дельфистов

 

Я же не сказал "паскалисты"

 

Главная фича дельфи(отличиеб преймущество для некоторых проектов если хотите перед VC ) это возможность програмирования методом бросания компонентов на форму не забивая себе голову про что происходит внутри приложения.

 

это не хорошо и не плохо ЭТО ТАК ЕСТЬ

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


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

На мой взгляд освоить за 3 месяца реально..... Но вспомните поговорку "Гладко было на бумаге, да забыли про овраги". Всегда присутствуют подводные камни а вот их за 3 месяца ну никак не выучить :-(.

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


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

По моему опыту, "въехать" в FPGA с нуля можно за два-три месяца. Но необходимы некоторые условия. 1 - принципиальное понимание цифровых логических схем. То есть вы должны знать что такое триггер, логический элемент и их основные разновидности. 2 - Несложный стартер-кит со всем необходимым для работы софтом. Причем это обязательное условие, иначе застрянете в конфигурации и прочих мелких но ОЧЕНЬ важных подробностях надолго. Причем софт желателен такой, на котором кто-то уже поработал.

Настоятельно рекомендую Спартан и ISE6.2 (or WEBPack) by Xilinx.

 

Лично мне не повезло - начинал работу с ФПГА на чипах ФПСЛИК от Атмел. Сам чип - ничего, но софт - ужасно крив и глюкав до безобразия. При этом я "имел понятие" в проектировании CPLD от XILINX - только схемный ввод, разумеется.

 

Сразу забудьте о схематическом вводе. Только VHDL. Звучит зловеще. На самом деле мне с самого начала попался Актив-ХДЛ (чего и вам желаю!). И я получил ЗАМЕЧАТЕЛЬНУЮ возможность строить верхний уровень проекта СХЕМОТЕХНИЧЕСКИ, получая результат в VHDL. Простенькие модульки (типа счетчик, триггер и тд) я делал в виде отдельных файлов на VHDL (благо Актив ХДЛ имеет встроенный генератор типовых элементов) , а соединял их проводами на верхнем уровне (как по мне, самая муторная в VHDL вещь) в виде схемы. Красота! Конечно, со временем научился делать процессы ("элементы") "как положено" - в теле большого файла. Понравилась сила и мощь VHDL, но верхний уровень по-прежнему делаю в схематике - так нагляднее.

 

В одном письме и не расскажешь всего... Очень важной частью проектирования ФПГА является моделирование устройства. Попробовав всякого, пришел к такой форме моделирования: простое устройство\единичный модуль моделирую в Актив ХДЛ - проверяя таким образом отсутствие логических ошибок. Когда заработало как ожидалось, следует имлементирование проекта в кристалл и моделирование post-layout версии в Modelsim. Это конечно дело вкуса и личных предпочтений, чем моделировать. НО! Моделсим входит в состав софта от Ксилинкс. Он уже содержит все нужные библиотеки. Он АВТОМАТИЧЕСКИ запускается из среды проектирования Ксилинкса. Это огромное преимущество для начинающего. Моделсим - еще тот предмет для изучения. Попозже, когда ваши действия станут более осмысленными :) вы сами сможете подобрать под себя среду и стратегию моделирования .

 

Ээх, гулять так гулять!

Рекомендую особо обратить внимание на такую вещь как цифровые автоматы. Их еще называют FSM. Замечательное средство, если требуется организовать какую-либо последовательностную процедуру в вашем кристалле. Сам вижу, что определение корявое, но знающий поймет, а незнающему - достаточно прозрачный намек, где искать информацию. Актив ХДЛ позволяет работать с машинами состояний ОЧЕНЬ ЛЕГКО. В визуальной форме. И потом генерит исходник на VHDL. Это было откровением, когда я впервые это увидел. Главное, не плодить много состояний, сверхсложных условий и немерянно разрядных переменных, которые инкрементируются и проверяются (ха-ха) в одном и том же состоянии. Сейчас-то я способен написать стейт-машину на чистом VHDL. А тогда Актив ХДЛ меня сильно выручал.

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


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

Ну и напоследок, несколько штрихов по проектированию цифровых устройст на ФПГА. Меня отягощал более чем 15-летний опыт работы с логическими микросхемами. Поэтому ничего зазорного в том, чтобы подсоединить КЛОК следующей микросхемы к выходу предыдущей , я не усматривал - классический асинхронный счетчик. Или разрешение\запрещение работы счетчика путем сложения по "И" его клока и разрешающего сигнала. И так далее. Перлов таких было много и пречислять их можно долго. Теперь самому смешно. А тогда... В общем, САМАЯ ГЛАВНАЯ РЕКОМЕНДАЦИЯ звучит весьма буднично: весь дизайн должен быть СИНХРОННЫМ. Это правило на данном этапе (начального изучения) не обсуждается , а просто выполняется. Что это значит на практике? Очень просто. У всего дизайна есть ОДИН (и только один) вход для тактовой частоты. ВСЕ (!!!) триггеры вашего дизайна должны переключаться по положительному перепаду тактового импулься. Поверьте на слово, это сэкономит вам много времени и нервов. Потом вы с улыбкой будете смотреть на эти рекомендации. Если вам понадобится запретить\разрешить работу счетчика, сделайте это путем подачи на его вход разрешения соотв. сигнала. Источником этого сигнала ДОЛЖЕН быть триггер, тактируемый тем же клоком что и весь дизайн. (Как помните, он у нас ОДИН). Или выход логической схемы, входами которой являются сигналы с триггеров, тактируемых..... и так далее в доме, который построил Джек.

Особое внимание уделяйте ВХОДНЫМ сигналам. Они АСИНХРОННЫ. Поэтому обязательно пропускайте их через триггеры, тактируемые клоком.

Зачем это все? Помимо всего прочего, такой подход позволит вам задать ограничения программе-разводчику чипа в виде всего одного параметра - желаемой тактовой частоты. Это самый простой и быстрый путь построения работающего изделия.

 

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

Опыт, он таки действительно "сын ошибок трудных"... :)

Удачи в освоении ФПГА!

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


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

Всегда присутствуют подводные камни а вот их за 3 месяца ну никак не выучить :-(.

Подводные камни - это на всю жизнь, поэтому не стоит их бояться - все равно столкнетесь :)

 

САМАЯ ГЛАВНАЯ РЕКОМЕНДАЦИЯ звучит весьма буднично: весь дизайн должен быть СИНХРОННЫМ.

Э-эх, вашими бы устами мед пить, а у нас какой-то м#$%к придумал тактовую частоту отключать в моменты, когда девайс вроде бы не должен работать, а девайсу иногда в это время подпихивают параметры для работы :( . Потому приходиться изгаляться с асинхронной частью - Quartus плачется, ругается но мы упорно заставляем его жрать этот кактус :) .

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


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

Ну и напоследок, несколько штрихов по проектированию цифровых устройст на ФПГА. Меня отягощал более чем 15-летний опыт работы с логическими микросхемами. Поэтому ничего зазорного в том, чтобы подсоединить КЛОК следующей микросхемы к выходу предыдущей , я не усматривал - классический асинхронный счетчик. Или разрешение\запрещение работы счетчика путем сложения по "И" его клока и разрешающего сигнала. И так далее. Перлов таких было много и пречислять их можно долго. Теперь самому смешно. А тогда...  В общем, САМАЯ ГЛАВНАЯ РЕКОМЕНДАЦИЯ звучит весьма буднично: весь дизайн должен быть СИНХРОННЫМ. Это правило на данном этапе (начального изучения) не обсуждается , а просто выполняется. Что это значит на практике? Очень просто. У всего дизайна есть ОДИН (и только один) вход для тактовой частоты. ВСЕ (!!!) триггеры вашего дизайна должны переключаться по положительному перепаду тактового импулься. Поверьте на слово, это сэкономит вам много времени и нервов. Потом вы с улыбкой будете смотреть на эти рекомендации. Если вам понадобится запретить\разрешить работу счетчика, сделайте это путем подачи на его вход разрешения соотв. сигнала. Источником этого сигнала ДОЛЖЕН быть триггер, тактируемый тем же клоком что и весь дизайн. (Как помните, он у нас ОДИН). Или выход логической схемы, входами которой являются сигналы с триггеров, тактируемых..... и так далее в доме, который построил Джек.

Особое внимание уделяйте ВХОДНЫМ сигналам. Они АСИНХРОННЫ. Поэтому обязательно пропускайте их через триггеры, тактируемые клоком.

Зачем это все? Помимо всего прочего, такой подход позволит вам задать ограничения программе-разводчику чипа в виде всего одного параметра - желаемой тактовой частоты. Это самый простой и быстрый путь построения работающего изделия. 

Мда. почитал я это... Не совсем понял.

Я тут свой один дизайн маленький выложил. http://www.yakovenko.net/asyaled.zip

Не будете ли вы так добры глянуть и пояснить, если возможно? проект этот написан под ISE для spartan 3 starter kit'а. Весь в схематике. (vhdl только начал читать и на момент рисования проекта еще не начинал читать)

зараннее спасибо большое.

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


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

Ну и напоследок, несколько штрихов по проектированию цифровых устройст на ФПГА. Меня отягощал более чем 15-

Мда. почитал я это... Не совсем понял.

Я тут свой один дизайн маленький выложил. http://www.yakovenko.net/asyaled.zip

Не будете ли вы так добры глянуть и пояснить, если возможно? проект этот написан под ISE для spartan 3 starter kit'а. Весь в схематике. (vhdl только начал читать и на момент рисования проекта еще не начинал читать)

зараннее спасибо большое.

 

Заповеди, их выполнять надо, а не понимать. Понимание позже придет.

Ваш проект посмотрю в свободное время. Но на какой результат вы рассчитываете? Никто за вас вашу работу делать не будет.

 

Посмотрел. За пару дней постараюсь сделать на VHDL - в качестве примера.

ТОлько расскажите общую идею устройства. Своими словами.

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


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

2 asya

 

Насчет "заповеди" о синхронной схеме:

Еще в институте нам всем рассказывали про гонки в цифровых автоматах.

Гонки приводят в возникновению пичков (glitches) на выходах логических элементов (за счет разной скорости нарастания фронтов сигналов и т.п). К слову на С1-55 эти пички Вы будете ловить до пенсии и не поймаете, а на работе схемы они будут отражаться совершенно чудесным образом с непредсказуемыми симптомами.

Синхронные схемы такие приколы полностью устраняют.

 

ЗЫ: мне сначала было жалко тратить триггеры на "осинхронизацию", но потом я понял, что без них только глюки.

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


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

FOR ASYA

 

Здесь ваш проект на VHDL.

Второй счетчик теперь тактируется тоже общим клоком. А вот считать ему разрешается только по сигналу от предыдущего - divider, пропущенного через триггер. Как вы понимаете, эта часть схемы может быть реализована по-разному. Разрядность я уменьшил, чтобы на симуляции хоть что-то было видно. У меня ISE63 SP3 - у вас может и не открыться.

 

Для упрощения работы все исходные ВХД файлы скопированы в один - main.vhd и он является единственным входным файлом для ISE.

asyaled_1.zip

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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