|
|
 |
Ответов
(15 - 29)
|
Feb 4 2005, 10:12
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 2-02-05
Пользователь №: 2 385

|
Цитата(Oleg @ Jul 17 2004, 17:46) Сколько это приблизительно может занять по времени освоение FPGA для опытного в других областях разработчика (микроконтроллеры, C++) но не знакомого с HDL языками, для разработки достаточно сложного устройства (прогнозирую в районе 1000-2000 LE's на Altera Cyclone)? Расскажите о вашем личном опыте! Самый простой путь взять MAX+ и освоить схемный ввод с моделированием, на все это достаточно и недели. Вообще говоря можно всю жизнь рисовать схемы в графике не зная HDL, плисы от этого работать хуже не будут.
|
|
|
|
|
Feb 7 2005, 14:43
|
Местный
  
Группа: Свой
Сообщений: 284
Регистрация: 21-01-05
Пользователь №: 2 104

|
ПЛИСы то работать хуже точно не будут. Но разработчик, рисуя проект, будет работать хуже, при проектировании крупных проектов. Знать языки проектирования нужно. И не один. Во первых, из за того, что языковое описание более читабельно. По своему опыту знаю, что через пол года разобраться в сложном схемном проекте, даже в своем, сложно. Во вторых, языковое описание позволяет абстрагироваться от схемотехники, сконцентрироваться на алгоритме работы устройства, что очень важно. Графическое описание основывается в основном на неформализованном, а империческом синтезе. Сам начинал в MAX Pluse со схемного ввода. За пол года освоился. Даже устройство разработал.
|
|
|
|
|
Feb 26 2005, 02:40
|

Частый гость
 
Группа: Свой
Сообщений: 161
Регистрация: 17-08-04
Из: Караганда
Пользователь №: 516

|
Можно я вставлю свои пять копеек? Для меня проще было писать на языке AHDL нежели разбираться с графическим вводом. Когда понадобилось написать несложный проект для программируемой логики, я ориентировался на такого редкого зверя как WinCupl фирмы Atmel. Данную фирму, судя по сообщениям не очень то жалуют на данном форуме в области FPGA и CPLD, хотя с моей точки зрения не совсем заслуженно. Их кристаллы раза в три дешевле по сравнению с Altera. Со слов самой Atmel фиттер может разместить такие проекты которые не по зубам Altera. Однако при всем этом счастье условно бесплатная WinCupl отказалась компилировать более менее сложный проект. То есть, компиляция проходила, но jed файл не генерился. Техническая поддержка отморозилась чем, то в роде "такого быть не может" и " рады, что воспользовались нашим продуктом". Решение - строчно нужно было переходить с WinCupl на MAX II. Перебил без проблем конфигурацию на AHDL, на все про все, начиная с WinCUPL ушел месяц. Большая часть времени ушла на отвыкание мыслить ЛАтретьими. Никогда не пользовался графическим вводом, хотя на данный момент времени считаю, что AHDL не отличается сильно от графического ввода, а от конструкций VHDL становится страшно, хотя и не смертельно. Но самое главное иметь под рукой какой-нибудь рабочий KIT, и проверенный ByteBlaster. Неделю упертой работы и ты приобщился к великому движению reconfiguration systems. Извините за пафос.
|
|
|
|
|
Mar 2 2005, 11:23
|
Участник

Группа: Новичок
Сообщений: 28
Регистрация: 18-01-05
Из: Тула
Пользователь №: 2 035

|
На мой взгляд освоить за 3 месяца реально..... Но вспомните поговорку "Гладко было на бумаге, да забыли про овраги". Всегда присутствуют подводные камни а вот их за 3 месяца ну никак не выучить :-(.
--------------------
Опыт - это такая вещь, которая появляется сразу после того, как была нужна.
|
|
|
|
|
Mar 6 2005, 14:23
|

Местный
  
Группа: Свой
Сообщений: 449
Регистрация: 28-10-04
Из: Украина
Пользователь №: 1 002

|
По моему опыту, "въехать" в FPGA с нуля можно за два-три месяца. Но необходимы некоторые условия. 1 - принципиальное понимание цифровых логических схем. То есть вы должны знать что такое триггер, логический элемент и их основные разновидности. 2 - Несложный стартер-кит со всем необходимым для работы софтом. Причем это обязательное условие, иначе застрянете в конфигурации и прочих мелких но ОЧЕНЬ важных подробностях надолго. Причем софт желателен такой, на котором кто-то уже поработал. Настоятельно рекомендую Спартан и ISE6.2 (or WEBPack) by Xilinx. Лично мне не повезло - начинал работу с ФПГА на чипах ФПСЛИК от Атмел. Сам чип - ничего, но софт - ужасно крив и глюкав до безобразия. При этом я "имел понятие" в проектировании CPLD от XILINX - только схемный ввод, разумеется. Сразу забудьте о схематическом вводе. Только VHDL. Звучит зловеще. На самом деле мне с самого начала попался Актив-ХДЛ (чего и вам желаю!). И я получил ЗАМЕЧАТЕЛЬНУЮ возможность строить верхний уровень проекта СХЕМОТЕХНИЧЕСКИ, получая результат в VHDL. Простенькие модульки (типа счетчик, триггер и тд) я делал в виде отдельных файлов на VHDL (благо Актив ХДЛ имеет встроенный генератор типовых элементов) , а соединял их проводами на верхнем уровне (как по мне, самая муторная в VHDL вещь) в виде схемы. Красота! Конечно, со временем научился делать процессы ("элементы") "как положено" - в теле большого файла. Понравилась сила и мощь VHDL, но верхний уровень по-прежнему делаю в схематике - так нагляднее. В одном письме и не расскажешь всего... Очень важной частью проектирования ФПГА является моделирование устройства. Попробовав всякого, пришел к такой форме моделирования: простое устройство\единичный модуль моделирую в Актив ХДЛ - проверяя таким образом отсутствие логических ошибок. Когда заработало как ожидалось, следует имлементирование проекта в кристалл и моделирование post-layout версии в Modelsim. Это конечно дело вкуса и личных предпочтений, чем моделировать. НО! Моделсим входит в состав софта от Ксилинкс. Он уже содержит все нужные библиотеки. Он АВТОМАТИЧЕСКИ запускается из среды проектирования Ксилинкса. Это огромное преимущество для начинающего. Моделсим - еще тот предмет для изучения. Попозже, когда ваши действия станут более осмысленными  вы сами сможете подобрать под себя среду и стратегию моделирования . Ээх, гулять так гулять! Рекомендую особо обратить внимание на такую вещь как цифровые автоматы. Их еще называют FSM. Замечательное средство, если требуется организовать какую-либо последовательностную процедуру в вашем кристалле. Сам вижу, что определение корявое, но знающий поймет, а незнающему - достаточно прозрачный намек, где искать информацию. Актив ХДЛ позволяет работать с машинами состояний ОЧЕНЬ ЛЕГКО. В визуальной форме. И потом генерит исходник на VHDL. Это было откровением, когда я впервые это увидел. Главное, не плодить много состояний, сверхсложных условий и немерянно разрядных переменных, которые инкрементируются и проверяются (ха-ха) в одном и том же состоянии. Сейчас-то я способен написать стейт-машину на чистом VHDL. А тогда Актив ХДЛ меня сильно выручал.
--------------------
Умею молчать на 37 языках...
|
|
|
|
|
Mar 6 2005, 15:15
|

Местный
  
Группа: Свой
Сообщений: 449
Регистрация: 28-10-04
Из: Украина
Пользователь №: 1 002

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

Группа: Свой
Сообщений: 46
Регистрация: 7-08-04
Пользователь №: 464

|
Цитата Всегда присутствуют подводные камни а вот их за 3 месяца ну никак не выучить :-(. Подводные камни - это на всю жизнь, поэтому не стоит их бояться - все равно столкнетесь Цитата САМАЯ ГЛАВНАЯ РЕКОМЕНДАЦИЯ звучит весьма буднично: весь дизайн должен быть СИНХРОННЫМ. Э-эх, вашими бы устами мед пить, а у нас какой-то м#$%к придумал тактовую частоту отключать в моменты, когда девайс вроде бы не должен работать, а девайсу иногда в это время подпихивают параметры для работы  . Потому приходиться изгаляться с асинхронной частью - Quartus плачется, ругается но мы упорно заставляем его жрать этот кактус  .
|
|
|
|
|
Mar 9 2005, 02:21
|
Участник

Группа: Свой
Сообщений: 43
Регистрация: 4-02-05
Пользователь №: 2 412

|
Цитата(Gorby @ Mar 6 2005, 19:15) Ну и напоследок, несколько штрихов по проектированию цифровых устройст на ФПГА. Меня отягощал более чем 15-летний опыт работы с логическими микросхемами. Поэтому ничего зазорного в том, чтобы подсоединить КЛОК следующей микросхемы к выходу предыдущей , я не усматривал - классический асинхронный счетчик. Или разрешение\запрещение работы счетчика путем сложения по "И" его клока и разрешающего сигнала. И так далее. Перлов таких было много и пречислять их можно долго. Теперь самому смешно. А тогда... В общем, САМАЯ ГЛАВНАЯ РЕКОМЕНДАЦИЯ звучит весьма буднично: весь дизайн должен быть СИНХРОННЫМ. Это правило на данном этапе (начального изучения) не обсуждается , а просто выполняется. Что это значит на практике? Очень просто. У всего дизайна есть ОДИН (и только один) вход для тактовой частоты. ВСЕ (!!!) триггеры вашего дизайна должны переключаться по положительному перепаду тактового импулься. Поверьте на слово, это сэкономит вам много времени и нервов. Потом вы с улыбкой будете смотреть на эти рекомендации. Если вам понадобится запретить\разрешить работу счетчика, сделайте это путем подачи на его вход разрешения соотв. сигнала. Источником этого сигнала ДОЛЖЕН быть триггер, тактируемый тем же клоком что и весь дизайн. (Как помните, он у нас ОДИН). Или выход логической схемы, входами которой являются сигналы с триггеров, тактируемых..... и так далее в доме, который построил Джек. Особое внимание уделяйте ВХОДНЫМ сигналам. Они АСИНХРОННЫ. Поэтому обязательно пропускайте их через триггеры, тактируемые клоком. Зачем это все? Помимо всего прочего, такой подход позволит вам задать ограничения программе-разводчику чипа в виде всего одного параметра - желаемой тактовой частоты. Это самый простой и быстрый путь построения работающего изделия. Мда. почитал я это... Не совсем понял. Я тут свой один дизайн маленький выложил. http://www.yakovenko.net/asyaled.zipНе будете ли вы так добры глянуть и пояснить, если возможно? проект этот написан под ISE для spartan 3 starter kit'а. Весь в схематике. (vhdl только начал читать и на момент рисования проекта еще не начинал читать) зараннее спасибо большое.
|
|
|
|
|
Mar 9 2005, 09:10
|

Местный
  
Группа: Свой
Сообщений: 449
Регистрация: 28-10-04
Из: Украина
Пользователь №: 1 002

|
Цитата(asya @ Mar 9 2005, 05:21) Цитата(Gorby @ Mar 6 2005, 19:15) Ну и напоследок, несколько штрихов по проектированию цифровых устройст на ФПГА. Меня отягощал более чем 15- Мда. почитал я это... Не совсем понял. Я тут свой один дизайн маленький выложил. http://www.yakovenko.net/asyaled.zipНе будете ли вы так добры глянуть и пояснить, если возможно? проект этот написан под ISE для spartan 3 starter kit'а. Весь в схематике. (vhdl только начал читать и на момент рисования проекта еще не начинал читать) зараннее спасибо большое. Заповеди, их выполнять надо, а не понимать. Понимание позже придет. Ваш проект посмотрю в свободное время. Но на какой результат вы рассчитываете? Никто за вас вашу работу делать не будет. Посмотрел. За пару дней постараюсь сделать на VHDL - в качестве примера. ТОлько расскажите общую идею устройства. Своими словами.
--------------------
Умею молчать на 37 языках...
|
|
|
|
|
Mar 9 2005, 12:48
|

Местный
  
Группа: Свой
Сообщений: 449
Регистрация: 28-10-04
Из: Украина
Пользователь №: 1 002

|
FOR ASYA Здесь ваш проект на VHDL. Второй счетчик теперь тактируется тоже общим клоком. А вот считать ему разрешается только по сигналу от предыдущего - divider, пропущенного через триггер. Как вы понимаете, эта часть схемы может быть реализована по-разному. Разрядность я уменьшил, чтобы на симуляции хоть что-то было видно. У меня ISE63 SP3 - у вас может и не открыться. Для упрощения работы все исходные ВХД файлы скопированы в один - main.vhd и он является единственным входным файлом для ISE.
--------------------
Умею молчать на 37 языках...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|