Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Разработка проекта на ПЛИС XC9572
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
atmicandr
1111493779.gif Дорогие радиолюбители, здравствуйте! Я к Вам с криком о помощи, у меня имеется проект цифрового осциллографа на базе ПЛИС EPM7064SLC44-10, весь проект выполнен графически а исходников в виде текста на VHDL отсутствует, да и этих плисок у меня нет в наличии, зато у меня XC9572-15PC44 до кучи. Помогите пожалуйста конвертировать проект для ПЛИС Xilinx, а то мне как начинающему радиолюбителю это сделать слабо. В приложении выкладываю ссылку на сам прибор: http://kazus.ru/forums/showthread.php?t=10984&page=52 . Даже самым категоричным отзывам на мой вопрос я буду благодарен. С уважением Корчагин Андрей.
DmitryR
Держите Самый Категоричный Отзыв: точно такую же тему отсюда только что грохнули. Потому что цифровой осцилограф - это очень сложное устройство, содержащее кучу аналоговых цепей, и в цифровой части тоже ну никак не укладывающееся в CPLD, и ваш вопрос поэтому выглядит нелепо.

Что же касается конвертации схематики из Квартуса в ISE - просто сядьте и перерисуйте.
dvladim
Цитата(atmicandr1 @ May 17 2010, 11:57) *
1111493779.gif Дорогие радиолюбители, здравствуйте! Я к Вам с криком о помощи, у меня имеется проект цифрового осциллографа на базе ПЛИС EPM7064SLC44-10, весь проект выполнен графически а исходников в виде текста на VHDL отсутствует, да и этих плисок у меня нет в наличии, зато у меня XC9572-15PC44 до кучи. Помогите пожалуйста конвертировать проект для ПЛИС Xilinx, а то мне как начинающему радиолюбителю это сделать слабо.

Если будете переделывать под другую плис, то кроме переноса проекта, придется переделать распиновку, пересинтезировать проект и т.д. Смысла великого нет особенно учитывая стоимость альтеровской плис. Можно попробовать заменить на EPM3064. Там цены вообще копеечные, но надо посмотреть на напряжение питания и распиновку.
Вы поймите, переделать с графики на Verilog проблем нет, но отладкой все равно заниматься вам и только вам. То есть вам все равно придется разобраться с этим на достаточном уровне и в этом случае вы и сами сможете легко переделать проект под свою плис. Даже если не владеете языками, то уж в графике-то за часик, другой легко перерисуете.
atmicandr
Цитата(DmitryR @ May 17 2010, 14:45) *
Держите Самый Категоричный Отзыв: точно такую же тему отсюда только что грохнули. Потому что цифровой осцилограф - это очень сложное устройство, содержащее кучу аналоговых цепей, и в цифровой части тоже ну никак не укладывающееся в CPLD, и ваш вопрос поэтому выглядит нелепо.

Что же касается конвертации схематики из Квартуса в ISE - просто сядьте и перерисуйте.


Если я правильно понимаю слэнг некоторых радиолюбителей, то "грохнули" это значит охаяли это устройство в разряд флудов, но почему? Многие на kazus.ru довольны этой конструкцией а благодарностей авторам аж куча, объясните почему проект не заслуживает внимания?

Никогда у меня не было столько проблем при программировании, как проблем с ПЛИС от Альтеры, если Вы как нибудь на досуге взглянули бы на мои посты с 52 страницы, которые я создал на сайте, ссылку на который я вам дал (мои сообщения под аккаунтом Андрей К), создание этой темы внатуре как крик о помощи. Но рекомендации которые мне давали на сайте kazus я выполнял все в точности, но, блин результата у меня никакого. Я кстати с этой ПЛИС так напсихался, что аж ещё и такой девайс изготовил: http://www.ulrichradig.de/home/index.php/avr/avr-dso , а ведь работает, зараза, жаль что измерять ничего не могет, но форму сигнала посмотреть можно довольно разборчиво rolleyes.gif
andrewkrot
Ничего сложного в этом проекте нет. Под Xilinx за час экспортируется путем перерисовки схемы в ISE. Только редактор схемный в ISE такой кривой, что само-собой через час работы у Вас возникнет непреодолимое желание изучить какой-нибуль Verilog или VHDL. Логика работы Вашего устройства понятна, и описать ее на VHDL много времени у Вас не отнимет, заодно и азы постигнете.
oleg_v_
Действительно все просто, сами справитесь. Дольше скачивать ISE будете, чем проект переделывать )) И если у Вас есть в наличии xilinx, не понимаю зачем Вам советуют купить другую altera.
atmicandr
Ребята, тогда у меня к Вам один нескромный вопрос: если я попробую перерисовать схему в ICE, то Вы сможете её у меня проверить, а то в библиотеке элементов в ICE обозначения уж очень корявые? Заранее всем спасибо за помощь!
andrewkrot
Что значит проверить? Сравнить две схемы в разных редакторах? Нужно сравнивать результаты моделирования. В Вашем проекте для альтеры они есть. А после того как Вы нарисуете это в ISE, нужно будет провести симуляцию и посмотреть что будет на выходе. В любом случае нужно четко представлять назначение всех выводов и какие на них должны присутствовать сигналы. А на схему посмотреть можно, выкладывайте.
atmicandr
Цитата(andrewkrot @ May 18 2010, 11:14) *
Что значит проверить? Сравнить две схемы в разных редакторах? Нужно сравнивать результаты моделирования. В Вашем проекте для альтеры они есть. А после того как Вы нарисуете это в ISE, нужно будет провести симуляцию и посмотреть что будет на выходе. В любом случае нужно четко представлять назначение всех выводов и какие на них должны присутствовать сигналы. А на схему посмотреть можно, выкладывайте.


Только сейчас потихоньку начал рисовать схему в ICE, вопрос у меня в том, правильно ли я начал представление той схемы, которую ранее выкладывал, а именно: блок lpm_counter2 я решил представить в виде одного счетчика CB4CE, lpm_counter1 - два таких же счетчика, соединенных последовательно, lpm_counter0 - четыре таких же счетчика, а lpm_mux0 в виде X74_150 или моя идея выборов компонентов очень глупа?, пока я еще не понял как представить элементы lpm_mux1 и AND8. Верен ли мой выбор, не подскажете, а то я это делаю впервые?

Да, прошу прощения, но пока на бумаге хочу скинуть мою мизерную наработку на Ваш суд
andrewkrot
1. Не правильно каскадированы счетчики. Правильно будет соединить параллельно clk, вывод сео предыдущего на вход ce последующего. А вообще-то есть готовые примитивы СВ16RЕ и СВ8RЕ СВ4RЕ. Используйте их.
2. Есть готовый примитив мультиплексоров 16-разрядного ( М16_1Е вроде как назывался) и 2-х разрядного М2_1.

А в общем ход мыслей правильный =)
atmicandr
Цитата(andrewkrot @ May 18 2010, 16:12) *
1. Не правильно каскадированы счетчики. Правильно будет соединить параллельно clk, вывод сео предыдущего на вход ce последующего. А вообще-то есть готовые примитивы СВ16RЕ и СВ8RЕ СВ4RЕ. Используйте их.
2. Есть готовый примитив мультиплексоров 16-разрядного ( М16_1Е вроде как назывался) и 2-х разрядного М2_1.

А в общем ход мыслей правильный =)


Спасибо за критику, буду работать дальше так что ждите новых вопросов.
atmicandr
Ну что, вчера ночью я нарисовал полностью схему и синтезировал её, с первого раза у меня естественно была куча ошибок и все они были связаны с переименованием шин add(7-0), и другая куча была связана с подключением шины 15 проводной от счетчика CB16 к мультиплексору M16, вышел из этой проблемы путем замены счетчиков на 8 и 16 выходов каскадами счетчиков на базе элементов CB4CE, соединяя индивидуально каждый выход с маркером и входом мультиплексора, получилась паутина, но после синтеза УРА! ни одной ошибки и ни одного варнинга не возникло. Вопрос у меня такой: добрался я до утилиты PACE для распиновки ИМС, но так как было уже поздно, то всю свою наработку сохранил простым нажатием значка "дискета", а с утра, когда вошел в проект и запустил синтез, вышла куча варнингов, что произошло? Или, если начал, то надо и доводить дело сразу до конца? И еще, обязательно ли проводить симуляцию проекта, создавая файл с расширением tbw? Жду ответа. С уважением Корчагин Андрей.
Maverick
Цитата(atmicandr1 @ May 19 2010, 12:20) *
Ну что, вчера ночью я нарисовал полностью схему и синтезировал её, с первого раза у меня естественно была куча ошибок и все они были связаны с переименованием шин add(7-0), и другая куча была связана с подключением шины 15 проводной от счетчика CB16 к мультиплексору M16, вышел из этой проблемы путем замены счетчиков на 8 и 16 выходов каскадами счетчиков на базе элементов CB4CE, соединяя индивидуально каждый выход с маркером и входом мультиплексора, получилась паутина, но после синтеза УРА! ни одной ошибки и ни одного варнинга не возникло. Вопрос у меня такой: добрался я до утилиты PACE для распиновки ИМС, но так как было уже поздно, то всю свою наработку сохранил простым нажатием значка "дискета", а с утра, когда вошел в проект и запустил синтез, вышла куча варнингов, что произошло? Или, если начал, то надо и доводить дело сразу до конца? И еще, обязательно ли проводить симуляцию проекта, создавая файл с расширением tbw? Жду ответа. С уважением Корчагин Андрей.

Что за варнинги? Последние 3 вопроса я не понял. поясните плиз
andrewkrot
Цитата(atmicandr1 @ May 19 2010, 13:20) *
И еще, обязательно ли проводить симуляцию проекта, создавая файл с расширением tbw?

Для синтеза это совсем не обязательно, но для понимания чего там у Вас получилось я бы посоветовал все-таки провести симуляцию.
atmicandr
Здравствуйте! Вот вроде и закончил проект, отправляю Вам на критику
nick17
Судя из файла отчетного, у вас использовано всего 10 макроячеек, Т.е. Схема не полностью синтезировалась.
atmicandr
Цитата(nick17 @ May 20 2010, 12:31) *
Судя из файла отчетного, у вас использовано всего 10 макроячеек, Т.е. Схема не полностью синтезировалась.


Блин, спасибо конечно, но я как начинающий не совсем понял Вас. Как понять не полностью, ведь при сентезе в диалоговом окне сообщений мне ICE выдавал succesful?
oleg_v_
"Судя из файла отчетного, у вас использовано всего 10 макроячеек, Т.е. Схема не полностью синтезировалась. "

Ну и что? Что за странные выводы? 10 или какое-то другое число, какая разница главное, чтобы в 72 уложилось. Вы вообще в курсе того о чем пишите или так - лишь бы что-то написать? Только путаете человека.

Вам нужно поставить буферы перед тем как выводить сигналы на контакты(IBUF, OBUF, IOBUF и т.д. в зависимости от назначения), если вы не заметили ISE "оптимизировал" - выкинул два ваших сигнала: set_f_div и clr_f_div.

Саму схему не смотрел, но как-то сразу резануло глаз что на тригере в левом нижнем углу на вход D нчего не подается, может оно так у Вас и задумано
atmicandr
Цитата(oleg_v_ @ May 20 2010, 13:20) *
"Судя из файла отчетного, у вас использовано всего 10 макроячеек, Т.е. Схема не полностью синтезировалась. "

Ну и что? Что за странные выводы? 10 или какое-то другое число, какая разница главное, чтобы в 72 уложилось. Вы вообще в курсе того о чем пишите или так - лишь бы что-то написать? Только путаете человека.

Вам нужно поставить буферы перед тем как выводить сигналы на контакты(IBUF, OBUF, IOBUF и т.д. в зависимости от назначения), если вы не заметили ISE "оптимизировал" - выкинул два ваших сигнала: set_f_div и clr_f_div.

Саму схему не смотрел, но как-то сразу резануло глаз что на тригере в левом нижнем углу на вход D нчего не подается, может оно так у Вас и задумано


Спасибо за ответ! Тогда есть еще такие вопросы:
1. по поводу буферов: вроде бы есть такие элементы в библиотеке ICE, если изменить схему, добавлением их перед маркерами с выходными сигналами или на входные тоже надо их ставить? А далее я так понимаю что на снова будет свё синтезировать. А надо ли какие либо изменения вносить в PACE? И нужны ли буферы на входах?
2. Далее по поводу триггера: странно что в библиотеке триггеров не простых моделей RS триггеров, все модели которые там имеются содержат в себе входы DC, а что с ними делать я не знаю.
3. по поводу количества задействованных макроячеек: в проекте под Альтеру я делал компиляцию в Квартусе и задействованы оказались 35 ячеек (вообще эту компиляцию я проводил с целью уточнения: подойдёт ли EPM7032?), может действительно свойства этих макроячеек в Альтере и Ксилинксе различны (это я не знаю так как ну нет у меня описания на русском языке для Альтеры), честно говоря у меня возникал такой вопрос, но ввиду малого опыта этим я заниматься не стал;
4. Ну и наконец по поводу оптимизации- мне она не нужна, а где её отключить? А то что-то не хочется переделывать проект AVR.
Но я уверен в том что этими вопросами я не ограничусь. С уважением Корчагин Андрей.
andrewkrot
У примитива М16_1Е вход разрешения положительный, т.е. для того чтобы мультиплексор работал туды нужно подать 1, а у Вас там 0. Потому и результаты синтеза странные - мультиплексор вырождается... После подачи на вход Е лог.1, схема синтезируется в 30 ячейках - результат похож на правду. Нужно симулировать.
atmicandr
Цитата(andrewkrot @ May 20 2010, 15:16) *
У примитива М16_1Е вход разрешения положительный, т.е. для того чтобы мультиплексор работал туды нужно подать 1, а у Вас там 0. Потому и результаты синтеза странные - мультиплексор вырождается... После подачи на вход Е лог.1, схема синтезируется в 30 ячейках - результат похож на правду. Нужно симулировать.


Я так понял, Вы синтезировали схему, а много ли Вы варнингов получили? И еще по поводу симуляции: могу ли я при этом воспользоваться харатеристиками сигналов, которые были отсимулированы в Квартусе, так как кроме входа inp_clk больше ни один входной сигнал мне неизвестен?
andrewkrot
Разберитесь со схемой сначала. Ничего сложного в ней нет. А тестбенч можете такой же как в квартусе нарисовать. По идее результаты моделирования должны по крайней мере быть похожими, или даже совпадать.
nick17
один разряд счетчика в CPLD съедает одну макроячейку, а у вас практически вся схема на счетчиках постороена, а задействовано в итоге только 10 макроячеек, вот и думайте...
atmicandr
Здравствуйте!!! Направляю Вам на суд новый файл проекта. Изменения я произвел, учитывая те сообщения которые Вы мне присылали. Буферные элементы я установил только на выходы Q0-Q7, которые присоединяются в дальнейшем к SRAM. И кстати после синтеза задействованы оказались реально 30 макроячеек. Симуляцию я не проводил, так как не понял как это надо делать. Ребята, может вы мне проверите работу схемы и вообще её правильность? Заранее спасибо за помощь. С уважением Корчагин Андрей.
atmicandr
1111493779.gif 1111493779.gif 1111493779.gif 1111493779.gif Дорогие радиолюбители, здравствуйте! Почему Вы все молчите, может ответите все-таки на мой вопрос о том что можно ли то что я сделал в ICE использовать для замены EPM? Очень жду ваших ответов и консультаций если что не так в моём последнем проекте. bb-offtopic.gif
DmitryR
Цитата(atmicandr1 @ May 21 2010, 08:08) *
Симуляцию я не проводил, так как не понял как это надо делать. Ребята, может вы мне проверите работу схемы и вообще её правильность?
Вам в раздел "Предлагаю работу". IMHO.
atmicandr
Цитата(DmitryR @ May 28 2010, 13:34) *
Вам в раздел "Предлагаю работу". IMHO.


Я Вас не совсем понял: звучит как или открывать свои способности, собирая заказы или просто подкол, подчеркивающий то, что я ещё больше начинающий, чем просто начинающий?
andrewkrot
Посмотрите на результаты симуляции (в файле). Если Вас они устраивают, то работать схема будет. Симуляция, правда, поведенческая и не полная. Еще раз повторюсь - разберитесь досконально что должно происходить в каждом такте, и все встанет на свои места. А еще разберитесь с симуляцией. Советую начать с какого-нибудь простого счетчика. Если вдруг Ваше устройство с первого раза и не заработает, то ничего страшного - плиска не одноразовая.
DmitryR
Цитата(atmicandr1 @ May 28 2010, 13:58) *
Я Вас не совсем понял:

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

И еще. Не называйте пожалуйста ISE как ICE - это сбивает с толку, потому что есть FPGA iCE у SiliconBlueTech.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.