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

Как по мне, начинать изучение ПЛИС с проектирования PCIe это перебор. А вот поиграться с кнопочкой, 7-ми сегментный индикатор поджечь, для новичка - в самый раз.

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

правда я все время забываю, что тут полно игрунов... для них и светодиод - это вершина...

 

А уж материалов для изучения - полно... Дальше писать не буду, сами их найдете.. А то ведь и нервных тоже хватает, и если я напишу, то...

 

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


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

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

Серьёзные вещи делаются профессионалами на работе, за заработную плату. А профессионалом ещё стать надо, и начинать надо с малого.

 

правда я все время забываю, что тут полно игрунов... для них и светодиод - это вершина...

Мда, мощный аргумент...

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


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

Серьёзные вещи делаются профессионалами на работе, за заработную плату. А профессионалом ещё стать надо, и начинать надо с малого.

 

Согласен, начинать надо с малого, я год со Spartan3 возился, пока чего то начало получаться, сделал измеритель емкости :)

PCIE это конечно круть, но если с нее начать, можно интерес потерять, все равно что в тренажерном зале сразу 150 взять на грудь, треснет все что может треснуть.

С гантелек надо :)

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


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

Светодиодом поморгать надо, куда же без этого. Но это действительно надоест на второй день. По-моему есть смысл купить для начала самую дешёвую плату с FPGA. Баксов за 10-15. Просто чтобы пощупать железо. Её будет достаточно и выкинуть не жалко. А дальше надо SignalTap изучать. Возможности для обучения грандиозные и совершенно бесплатно. А появятся конкретные проекты, вот тогда можно покупать конкретно под них дорогие платы.

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


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

ПЛИС - всего- лишь инструмент..

Тут важно понять его возможности, методы моделирования и грамотного синхронного проектирования. Опыт придет не сразу. Я бы советовал идти от МатЛаба. От модели. Если вы с контроллерами на короткой ноге,- стоит соорудить тандем для генерации нужного входного и выходного потока данных для ПЛИС. Математика прежде всего! Скучно уже не будет! =)

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


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

А дальше надо SignalTap изучать.

А это еще зачем? Еще ни одного проекта не было, чтобы там был настолько тяжелый случай, чтобы подключать и разбираться в нем. Совершенно лишняя сущность (пока совсем не приперло).

 

Надо изучать написание тестбенчей и моделирование своего кода, а в ПЛИС оно само собой будет работать потом. Так что, какую плату брать - просто любую, которая с виду понравилась.

 

 

ЗЫ я бы посоветовал - http://www.digikey.com/product-detail/en/L...1167-ND/2674690

хотите, на столе светодиодом поморгать, хотите, PCIe, хотите, DDR3... Любой каприз за 300 баксов.

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


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

А это еще зачем? Еще ни одного проекта не было, чтобы там был настолько тяжелый случай, чтобы подключать и разбираться в нем. Совершенно лишняя сущность (пока совсем не приперло).

А меня вот как то приперло, надо было написать интерфейс к внешнему устройству, параллельный, все просто до безобразия, данные, строб, клок. А вот отсылаю данные и не работает. Не отвечает хоть тресни. Уже все перепроверили, и только потому что постоянно смотрел в диаграммы SignalTap увидел, устройство на передачу постоянно держит "дежурное значение", которое отлично от нуля. Ради интереса вместо нулей, на передачу вставил пустое вот то дежурное значение, и все заработало.

Так что без Signal Tap никак не получилось бы. Уверен очень нужная вещь.

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


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

Так что без Signal Tap никак не получилось бы

 

Как я понимаю, такая ситуация обычным осциллом отлавливается в шесть секунд, для этого же не требуется мониторить внутренние сигналы. Да и по опыту, обычно достаточно бывает вывести на плате штук 6-8 тест-падов и при необходимости выводить туда какие-то тест сигналы для наблюдения человеческим прибором... Быстрее и эффективнее. В любом случае, сигналтап это не то, что надо изучать, пока не припрет ну уж совсем.

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


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

Для начала работы с ПЛИС вариант DE0-Nano мне больше нравится. У самого валяется подобная плата, но только просто DE0 (без нано).

Отлаживать на ней не очень быстрые и навороченные проекты можно вполне комфортно.

Но мне и железо и софт у Xilinx более симпатичны.

Начать я посоветовал бы с простейших проектов и базовых структур и сопоставления того, что записано в виде HDL-кода с тем, что получается после синтеза и после разводки проекта.

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

Напишите тестбенчи для всех вариантов.

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

Разберитесь с тем, каким образом достигается синхронность проектов и какой стиль проектирования для этого используется.

Для синхронных проектов обязательно разберитесь с PLL, конфигурированием, режимами работы.

 

 

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


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

Знающие люди, подскажите со своей профессиональной точки зрения, с чего лучше стартануть?

Может есть ещё какие-нибудь варианты? (кроме самопала, FTDRL для меня тяжеловат был в пайке. Такое дома делаю не часто. Только затяжной проект.)

Єто смотря какой ваш начальній уровень

 

Если ви есче не делали проектов на Verilog\VHDL то советую начать с установки симулятора (ModelSim напр) и пробовать опиивать устройства. Также установите SP&R тулзи типа Quartus (синтез, плейс, роут) и проверте качество кода там (синтезится-ли он)

Єто как сначала С изучить, перед тем как микроконтроллер програмировать.

 

Когда уже с Verilog\VHDL и симулятором на ти - то советую не кит покупать (где кто-то разобрался как подать напряжение, сброс, клок и тп.) а начать паять самомтоятельно, попутно розбираясь в требованиях к железу...

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


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

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

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

Затруднение вызвал следующий момент:

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

Т.е. в списке чувствительности процесса 2 сигнала- clock (такты) и Enable (разрешение)

в данный момент решил задачу сл. образом:

pp: process (clock, Enable)

begin

if (Enable='0') then

Start<=not Enable after 10 ns;

elsif (rising_edge(clock) and Start='1') then

...........................

код

...........................

end if;

end process;

 

Start- флаг сдитетельствующий о приеме сигнала разрешения процесса

 

если переписываю код сл. образом, то синтеза не происходит, появляются ошибки типа 'сигнал не может быть синтезирован из-за плохой синхронизации'

pp: process (clock, Enable)

begin

if (falling_edge (Enable)) then

Start<=1;

elsif (rising_edge(clock) and Start='1') then

...........................

код

...........................

end if;

end process;

 

какие еще могут быть варианты, когда в списке чувствительности процесса 2 сигнала- тактовые и сигнал запуска?

заранее благодарен!

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


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

Т.е. в списке чувствительности процесса 2 сигнала- clock (такты) и Enable (разрешение)

в данный момент решил задачу сл. образом:

pp: process (clock, Enable)

begin

if (Enable='0') then

Start<=not Enable after 10 ns;

 

какие еще могут быть варианты, когда в списке чувствительности процесса 2 сигнала- тактовые и сигнал запуска?

заранее благодарен!

 

Вот это: Start<=not Enable after 10 ns; несинтезируемая конструкция

В списке Enable быть не должно...

 

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


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

Как же тогда узнать что Enable "случился"?

Каждый клок запускается процесс... А Enable должен быть выставлен до клока...

Если есть вопросы - то могу ответить по скайпу, а колотить буквы - лень...

 

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


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

спасибо большое за ответы, к сожалению скайп у меня отсутствует...

дело в том, что сигнал запуска-Enable является асинхронным, он может появиться в любой момент времени и никак не привязан к clockАМ... это всего-лишь импульс, продолжительностью несколько микросекунд (переход из '1' в '0' несколько микросекунд в нуле, а далее вновь '1') Так вот, именно этот импульс необходимо обнаружить, а далее процесс выполняется по clockАМ.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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