Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FPGA-PC
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Vagant
Здравствуйте

Я начинающий в программировании ПЛИС, поэтому вопрос у меня простой.

Я запрограммировал на Spartan3E-1600E Microblaze Development Kit несложный генератор радиочастотных импульсов для FPGA и хочу научиться задавать параметры импульсов с PC (лучше под Linux), например длительность импульсов и радиочастоту.

Что для этого нужно, и с чего начать? Вообще мне надо учиться с самых основ, поэтому и хочу спросить - с чего именно лучше начать? Надо ли учиться писать драйвер для того чтобы управлять системой на ПЛИС через PC?

P.S.Я вообще хотел бы научиться использовать для своей задачи как Ethernet так и RS232 (на отладочной плате имеются оба эти интерефейса) а потом решить какой мне лучше подходит.
Maverick
Цитата(Vagant @ Apr 29 2008, 13:26) *
Здравствуйте

Я начинающий в программировании ПЛИС, поэтому вопрос у меня простой.

Я запрограммировал на Spartan3E-1600E Microblaze Development Kit несложный генератор радиочастотных импульсов для FPGA и хочу научиться задавать параметры импульсов с PC (лучше под Linux), например длительность импульсов и радиочастоту.

Что для этого нужно, и с чего начать? Вообще мне надо учиться с самых основ, поэтому и хочу спросить - с чего именно лучше начать? Надо ли учиться писать драйвер для того чтобы управлять системой на ПЛИС через PC?

P.S.Я вообще хотел бы научиться использовать для своей задачи как Ethernet так и RS232 (на отладочной плате имеются оба эти интерефейса) а потом решить какой мне лучше подходит.


Для командного интерфейса можно использовать RS232. И с него лучше начинать так как он намного проще в понимании и в реализации в FPGA. Програм для работы с RS232 под Windows много в Интернете например на

http://www.pcports.ru/Developing.php

имеется библиотека для работы с ним.
Если надо могу дать готовую программу, проверенную в работе smile.gif

ЗЫ Посмотри по форуму эти вопросы не однократно поднимались, и выкладывались готовые модули для ПЛИС (во всяком случае для UART точно)
Посмотри здесь

http://electronix.ru/forum/index.php?showforum=48

http://electronix.ru/forum/index.php?showforum=49

http://electronix.ru/forum/index.php?showtopic=44169
Vagant
Цитата(Maverick @ Apr 29 2008, 13:51) *
Для командного интерфейса можно использовать RS232. И с него лучше начинать так как он намного проще в понимании и в реализации в FPGA. Програм для работы с RS232 под Windows много в Интернете например на

http://www.pcports.ru/Developing.php

имеется библиотека для работы с ним.
Если надо могу дать готовую программу, проверенную в работе smile.gif

ЗЫ Посмотри по форуму эти вопросы не однократно поднимались, и выкладывались готовые модули для ПЛИС (во всяком случае для UART точно)
Посмотри здесь

http://electronix.ru/forum/index.php?showforum=48

http://electronix.ru/forum/index.php?showforum=49

http://electronix.ru/forum/index.php?showtopic=44169


Спасибо большое, уже читаю! smile.gif

Пока что я понял что для управления схемкой с помощью PC нужны:

Со стороны PC:

драйвер порта = он устанавливается вместе с Windows и поэтому мне не надо им заниматься.

программа через которую посылаются и принимаются данные в/через порт = это надо написать самому на C (или Visual Basic наверное тоже подойдёт).

Со стороны FPGA Development kit:

Железо там уже всё есть и надо только задать в ucf файле нужные пины для RS232 чтобы данные от компьютера попали на вход системы запрограммированной на ПЛИС.

А надо ли писать (или искать) какой-то драйвер для FPGA?
Maverick
Цитата(Vagant @ Apr 29 2008, 15:25) *
А надо ли писать (или искать) какой-то драйвер для FPGA?


В FPGA пишется модуль, который реализовывает обмен на логическом уровне. smile.gif Модуль пишется на языке VHDL или Verilog или разрабатывается в Shemathic Editor
Vagant
Цитата(Maverick @ Apr 29 2008, 15:58) *
В FPGA пишется модуль, который реализовывает обмен на логическом уровне. smile.gif Модуль пишется на языке VHDL или Verilog или разрабатывается это в Shemathic Editor


А есть ли какое-то специальное (англоязычное) название для этого модуля? Хотелось бы нарыть в Инете про то как его написать. smile.gif
CaPpuCcino
Цитата(Vagant @ Apr 29 2008, 16:25) *
А надо ли писать (или искать) какой-то драйвер для FPGA?

судя по вопросам настоятельно рекомендую перед работой с FPGA ознакомиться с тем, что есть такое FPGA
Vagant
Цитата(CaPpuCcino @ Apr 29 2008, 16:07) *
судя по вопросам настоятельно рекомендую перед работой с FPGA ознакомиться с тем, что есть такое FPGA


...как я понимаю, это просто железо управляемое данными. А про драйверы к FPGA в сети читал, тут например https://portal.beam.ltd.uk/support/astrofft/astroDriver.html smile.gif
CaPpuCcino
Цитата(Vagant @ Apr 29 2008, 17:12) *
...как я понимаю, это просто железо управляемое данными.

коль пошла такая философия, то это не верно, потому что и для МК код программы является (в некотором приближении) потоком данных, и о чётком разделении потока управления и потока данных можно говорить только применительно к вычислительным устройствам последовательной интерпритации комманд (в простонародии "процессоры" wink.gif ), так что лучше бы вам побольше почитать общей литературы по ПЛИС, чтобы картина прояснилась (иначе вы будете задавать вопросы не представляющие технической ценности для данного форума, либо перемещайтесь вот сюда - "В помощь начинающему" http://electronix.ru/forum/index.php?showforum=134 )
Vagant
Цитата(CaPpuCcino @ Apr 29 2008, 16:23) *
так что лучше бы вам побольше почитать общей литературы по ПЛИС


Вообще digital systems are basically data-driven как пишут многие англоязычные авторы, так что не вижу у себя ошибки. Читать конечно буду smile.gif но, имхо, Вы не в теме.
CaPpuCcino
Цитата(Vagant @ Apr 29 2008, 17:36) *
но, имхо, Вы не в теме.

ну с этим даже спорить не буду wink.gif и уже давно
очень рекомендую вот эту книжку: "Проектирование систем на микросхемах программируемой логики" ISBN: 5-94157-002-3 (авт.: Грушвицкий, Мурсаев, Угрюмов) - очень толково, без детского сада, но при этом всё логически стройно и последовательно
chds
Цитата(Vagant @ Apr 29 2008, 13:26) *
...Я запрограммировал на Spartan3E-1600E Microblaze Development Kit ...


Ну если у Вас есть такое чудо, то уже 50% за Вас сделали другие, от Вас прочитать ЭТОТ документ, не обязательно от корки до корки, но понятие, что такое ПЛИС и для чего нужна будет.
Ну а дальше изучаем мануалы по ISE и EDK. Подобная документация находится в соответственно в директории doc куда проинсталирован ISE и EDK.

А на счет блока для RS, зачем мучаться и искать что то, когда в EDK под вашу отладочную плату можно сформировать проект, в который будут включены все узлы, доступные на отладочной плате и дальше только писать программу для MicroBlaze.
Vagant
Цитата(chds @ Apr 29 2008, 18:07) *
А на счет блока для RS, зачем мучаться и искать что то, когда в EDK под вашу отладочную плату можно сформировать проект, в который будут включены все узлы, доступные на отладочной плате и дальше только писать программу для MicroBlaze.


Ну вот я ещё этого не умею делать и с EDK даже не начинал. А программу для MicroBlaze на чём писать? Не на VHDL? 07.gif

P.S.
Пока я осваиваю VHDL и ISE - всё неплохо получается и работает, но я пока только простые проекты делаю (вроде того как включать и выключать LED с частотой 1 Гц и как генерировать простую последовательность РЧ импульсов).
chds
Простенькая реализация RS. Один блок приемник:
Нажмите для просмотра прикрепленного файла
Второй блок передатчик
Нажмите для просмотра прикрепленного файла

На rate устанавливается коэффициент, на который нужно поделить clk, что б получить требуемую частоту на RS (Например при 20МГц clk, скорости передачи/приема 115200 rate="10101101" в бине)
Maverick
Цитата(Vagant @ Apr 29 2008, 16:05) *
А есть ли какое-то специальное (англоязычное) название для этого модуля? Хотелось бы нарыть в Инете про то как его написать. smile.gif


Ранее я тебе/Вам давал ссылку на форум на котором я уже выкладывал подобные модули различных фирм Altera Xilinx и др. в одном архиве с описанием работы, правда реализованные на языке VHDL smile.gif

Ссылка на архив:

http://electronix.ru/forum/index.php?act=A...st&id=18520

Дополнительно почитай/почитайте эти (русский язык) книги по этим ссылкам рекомендую

http://www.infanata.org/2006/04/20/proekti...v_ju_zotov.html

http://www.infanata.org/2006/10/19/proekti...em_na_vhdl.html

Цитата(Vagant @ Apr 29 2008, 18:33) *
Ну вот я ещё этого не умею делать и с EDK даже не начинал. А программу для MicroBlaze на чём писать? Не на VHDL? 07.gif


Для процессора пишется на языке С. Но для лучшего понимания почитай (на русском языке) smile.gif

http://www.infanata.org/2006/11/16/sapr_xi...li_edk_7li.html
Vagant
Цитата(Maverick @ Apr 29 2008, 19:56) *
Ранее я тебе/Вам давал ссылку на форум на котором я уже выкладывал подобные модули различных фирм Altera Xilinx и др. в одном архиве с описанием работы, правда реализованные на языке VHDL smile.gif

Ссылка на архив:

http://electronix.ru/forum/index.php?act=A...st&id=18520

Дополнительно почитай/почитайте эти (русский язык) книги по этим ссылкам рекомендую

http://www.infanata.org/2006/04/20/proekti...v_ju_zotov.html

http://www.infanata.org/2006/10/19/proekti...em_na_vhdl.html
Для процессора пишется на языке С. Но для лучшего понимания почитай (на русском языке) smile.gif

http://www.infanata.org/2006/11/16/sapr_xi...li_edk_7li.html


Эх, книжки Зотова наверное хорошие, но не для начинающих, имхо. Они у меня есть, обе, в бумажном виде, и пока что мне они мало помогли потому что там очень много технических деталей, в которых потонули простые, "на пальцах", обьяснения которые обычно нужнее всего для начинающих, вроде меня. 05.gif


Цитата(chds @ Apr 29 2008, 18:47) *
Простенькая реализация RS. Один блок приемник:
Нажмите для просмотра прикрепленного файла
Второй блок передатчик
Нажмите для просмотра прикрепленного файла

На rate устанавливается коэффициент, на который нужно поделить clk, что б получить требуемую частоту на RS (Например при 20МГц clk, скорости передачи/приема 115200 rate="10101101" в бине)


Спасибо, буду читать и разбираться! smile.gif
Maverick
Цитата(Vagant @ Apr 29 2008, 21:13) *
Эх, книжки Зотова наверное хорошие, но не для начинающих, имхо. Они у меня есть, обе, в бумажном виде, и пока что мне они мало помогли потому что там очень много технических деталей, в которых потонули простые, "на пальцах", обьяснения которые обычно нужнее всего для начинающих, вроде меня. 05.gif
Спасибо, буду читать и разбираться! smile.gif


Что там сложного??? wacko.gif

А эта
http://www.infanata.org/2006/10/19/proekti...em_na_vhdl.html
Vagant
Цитата(Maverick @ Apr 29 2008, 21:47) *
Что там сложного??? wacko.gif

А эта
http://www.infanata.org/2006/10/19/proekti...em_na_vhdl.html



О, эта книга просто мрак! Такого словоблудие, как в ней я ещё нигде не встречал (это была моя первая книжка по ПЛИС). sad.gif
Maverick
Цитата(Vagant @ Apr 29 2008, 22:01) *
О, эта книга просто мрак! Такого словоблудие, как в ней я ещё нигде не встречал (это была моя первая книжка по ПЛИС). sad.gif


wacko.gif wacko.gif wacko.gif

ИЗВИНИТЕ! Тогда я не знаю, чем я могу помочь.
Vagant
Цитата(Maverick @ Apr 29 2008, 22:10) *
wacko.gif wacko.gif wacko.gif

Тогда я не знаю, чем я могу помочь. Извините, тогда

рекомендую прислушаться к CaPpuCcino:


Читаю в основном англоязычные книги, но у меня их не так много как хотелось бы. Зато те что есть очень нравятся потому что написаны простыми и логически осмысленными предложениями. (У нас, к сожалению, так не пишут.) Но и в них не всё есть, что хотелось бы знать..
TomaT
Vagant, простите, Вы программист или схемотехник? ИМХО именно тут собака то и порылась...
Doka
Цитата(Vagant @ Apr 29 2008, 22:13) *
Эх, книжки Зотова наверное хорошие, но не для начинающих, имхо. Они у меня есть, обе, в бумажном виде, и пока что мне они мало помогли потому что там очень много технических деталей, в которых потонули простые, "на пальцах", обьяснения которые обычно нужнее всего для начинающих, вроде меня.

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

У Xilinx есть толковая книжка для совсем начинающих, название сейчас не вспомню, но думаю коллеги напомнят, она есть в свободном доступе на сайте + каждый KIT XilinX комплектуется её hardcopy.

а по поводу драйверов и PC-side: я бы выбрал что-нибудь высокоуровненое и платформонезависимое (Python, TCL), а там хоть RS-232, хоть Ethernet - всё работает "из коробки" при с минимальном объёме кода (в сравнении с С/VB). Это поможет сконцентрироваться непосредственно на разработке, а не на изучении и отладке процессов взаимодействия драйверов|устройств с ОС.
Vagant
Цитата(TomaT @ Apr 29 2008, 23:21) *
Vagant, простите, Вы программист или схемотехник? ИМХО именно тут собака то и порылась...


Я и программист и схемотехник но только начинающий.
Думаю что со временем разберусь что мне ближе. smile.gif


Цитата(Doka @ Apr 30 2008, 11:38) *
да, книжки наверное хорошие, но и не начинающему перевод фирменных мануалов мало чем поможет. Вообще, документацию лучше читать в оригинале - благо что она в свободном доступе.

У Xilinx есть толковая книжка для совсем начинающих, название сейчас не вспомню, но думаю коллеги напомнят, она есть в свободном доступе на сайте + каждый KIT XilinX комплектуется её hardcopy.


В моём kit её почему то не было... 07.gif и на сайте Xilinx пока не обнаружил такой книжки. Если вспомните название, пожалуйста напишите - мне её легче будет найти! smile.gif
Doka
Цитата(Vagant @ Apr 30 2008, 19:28) *
В моём kit её почему то не было... 07.gif и на сайте Xilinx пока не обнаружил такой книжки. Если вспомните название, пожалуйста напишите - мне её легче будет найти! smile.gif


Название говорит само за себя. по самому изложению - введение в PLD.
чтение должно предварять изучение учебника по HDL.
Нажмите для просмотра прикрепленного файла
Vagant
Цитата(Doka @ Apr 30 2008, 19:01) *
Название говорит само за себя. по самому изложению - введение в PLD.
чтение должно предварять изучение учебника по HDL.
Нажмите для просмотра прикрепленного файла


Спасибо! Это как раз то что мне нужно a14.gif
CaPpuCcino
Цитата(Doka @ Apr 30 2008, 20:01) *
Название говорит само за себя. по самому изложению - введение в PLD.

намана, справедливости ради можно добавить, что существуют и гибридные между CPLD и FPGA архитектуры, типа Альтеровского FLEX 10К; и то, что комбинаторика также реализуется на мультиплексорах (как альтернатива LUT)
Vagant
Цитата(CaPpuCcino @ Apr 29 2008, 16:43) *
очень рекомендую вот эту книжку: "Проектирование систем на микросхемах программируемой логики" ISBN: 5-94157-002-3 (авт.: Грушвицкий, Мурсаев, Угрюмов) - очень толково, без детского сада, но при этом всё логически стройно и последовательно


У меня она есть но чуть по другому называется "Проектирование систем на микросхемах с программируемой структурой". Буду читать, спасибо за рекомендацию. smile.gif
CaPpuCcino
Цитата(Vagant @ Apr 30 2008, 22:42) *
У меня она есть но чуть по другому называется "Проектирование систем на микросхемах с программируемой структурой". Буду читать, спасибо за рекомендацию. smile.gif

это скорее всего продолжение (2006 против, 2002 год издания). можно проверить по содержанию - вот здесь можно скачать "Проектирование систем на микросхемах программируемой логики":
http://www.filehoster.ru/files/o1822
по описанию видно, что разница есть - "Изложены основные концепции языкового описания цифровых устройств на системном уровне (язык SystemC) ... а также особенности описания смешанных (цифровых и аналоговых) систем (VHDL AMS)." - в первой книге ни СистемСи ни АМС нет (неплохо былобы еслиб добавили и СистемВерилог), к тому же книжка толще на 2 дюжины страниц.
Vagant
Цитата(CaPpuCcino @ Apr 30 2008, 23:35) *
это скорее всего продолжение (2006 против, 2002 год издания). можно проверить по содержанию - вот здесь можно скачать "Проектирование систем на микросхемах программируемой логики":
http://www.filehoster.ru/files/o1822
по описанию видно, что разница есть - "Изложены основные концепции языкового описания цифровых устройств на системном уровне (язык SystemC) ... а также особенности описания смешанных (цифровых и аналоговых) систем (VHDL AMS)." - в первой книге ни СистемСи ни АМС нет (неплохо былобы еслиб добавили и СистемВерилог), к тому же книжка толще на 2 дюжины страниц.


Ага, у меня 2-е издание этой книжки, переработанное и дополненое. Ещё раз спасибо. smile.gif
CaPpuCcino
Цитата(Vagant @ May 1 2008, 14:12) *
Ага, у меня 2-е издание этой книжки, переработанное и дополненое. Ещё раз спасибо. smile.gif

добрался наконец до книжных полок, посмотрел на второе издание, немного расстроился. на мой взгляд первое издание было адекватнее современному ему положению дел. второе издание, выпущенное в 2006 году, не отражает тенденций развития языков описания и моделирования аппаратуры сложившихся уже за несколько лет до выхода книги. то что товарищи из ЛЭТИ заядлые ВХДэЛисты было известно давно, но чтобы "до такой степени не интересоваться собственной женой"(ИВМП (с) ) несколько разочаровывает. о бурной деятельности коммитета 1800 широкой публике было известно года эдак с 2003, не говоря уже что сам новый стандарт Верилога был принят в 2005 (то есть за год до публикации); тенденция к слиянию языков верификации и описания аппаратуры очевидно просматривалась, но авторы в этом вопросе замерзли где-то году в 2000-ом (ну, а так, если не принимать близко к сердцу неактуальность изложеных языковых тенденций почитать можно)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.