atmicandr
May 17 2010, 07:57

Дорогие радиолюбители, здравствуйте! Я к Вам с криком о помощи, у меня имеется проект цифрового осциллографа на базе ПЛИС EPM7064SLC44-10, весь проект выполнен графически а исходников в виде текста на VHDL отсутствует, да и этих плисок у меня нет в наличии, зато у меня XC9572-15PC44 до кучи. Помогите пожалуйста конвертировать проект для ПЛИС Xilinx, а то мне как начинающему радиолюбителю это сделать слабо. В приложении выкладываю ссылку на сам прибор:
http://kazus.ru/forums/showthread.php?t=10984&page=52 . Даже самым категоричным отзывам на мой вопрос я буду благодарен. С уважением Корчагин Андрей.
DmitryR
May 17 2010, 08:45
Держите Самый Категоричный Отзыв: точно такую же тему отсюда только что грохнули. Потому что цифровой осцилограф - это очень сложное устройство, содержащее кучу аналоговых цепей, и в цифровой части тоже ну никак не укладывающееся в CPLD, и ваш вопрос поэтому выглядит нелепо.
Что же касается конвертации схематики из Квартуса в ISE - просто сядьте и перерисуйте.
dvladim
May 17 2010, 08:50
Цитата(atmicandr1 @ May 17 2010, 11:57)


Дорогие радиолюбители, здравствуйте! Я к Вам с криком о помощи, у меня имеется проект цифрового осциллографа на базе ПЛИС EPM7064SLC44-10, весь проект выполнен графически а исходников в виде текста на VHDL отсутствует, да и этих плисок у меня нет в наличии, зато у меня XC9572-15PC44 до кучи. Помогите пожалуйста конвертировать проект для ПЛИС Xilinx, а то мне как начинающему радиолюбителю это сделать слабо.
Если будете переделывать под другую плис, то кроме переноса проекта, придется переделать распиновку, пересинтезировать проект и т.д. Смысла великого нет особенно учитывая стоимость альтеровской плис. Можно попробовать заменить на EPM3064. Там цены вообще копеечные, но надо посмотреть на напряжение питания и распиновку.
Вы поймите, переделать с графики на Verilog проблем нет, но отладкой все равно заниматься вам и только вам. То есть вам все равно придется разобраться с этим на достаточном уровне и в этом случае вы и сами сможете легко переделать проект под свою плис. Даже если не владеете языками, то уж в графике-то за часик, другой легко перерисуете.
atmicandr
May 17 2010, 09:55
Цитата(DmitryR @ May 17 2010, 14:45)

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

Что значит проверить? Сравнить две схемы в разных редакторах? Нужно сравнивать результаты моделирования. В Вашем проекте для альтеры они есть. А после того как Вы нарисуете это в ISE, нужно будет провести симуляцию и посмотреть что будет на выходе. В любом случае нужно четко представлять назначение всех выводов и какие на них должны присутствовать сигналы. А на схему посмотреть можно, выкладывайте.
Только сейчас потихоньку начал рисовать схему в ICE, вопрос у меня в том, правильно ли я начал представление той схемы, которую ранее выкладывал, а именно: блок lpm_counter2 я решил представить в виде одного счетчика CB4CE, lpm_counter1 - два таких же счетчика, соединенных последовательно, lpm_counter0 - четыре таких же счетчика, а lpm_mux0 в виде X74_150 или моя идея выборов компонентов очень глупа?, пока я еще не понял как представить элементы lpm_mux1 и AND8. Верен ли мой выбор, не подскажете, а то я это делаю впервые?
Да, прошу прощения, но пока на бумаге хочу скинуть мою мизерную наработку на Ваш суд
andrewkrot
May 18 2010, 10:12
1. Не правильно каскадированы счетчики. Правильно будет соединить параллельно clk, вывод сео предыдущего на вход ce последующего. А вообще-то есть готовые примитивы СВ16RЕ и СВ8RЕ СВ4RЕ. Используйте их.
2. Есть готовый примитив мультиплексоров 16-разрядного ( М16_1Е вроде как назывался) и 2-х разрядного М2_1.
А в общем ход мыслей правильный =)
atmicandr
May 18 2010, 10:36
Цитата(andrewkrot @ May 18 2010, 16:12)

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

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

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

Судя из файла отчетного, у вас использовано всего 10 макроячеек, Т.е. Схема не полностью синтезировалась.
Блин, спасибо конечно, но я как начинающий не совсем понял Вас. Как понять не полностью, ведь при сентезе в диалоговом окне сообщений мне ICE выдавал succesful?
oleg_v_
May 20 2010, 07:20
"Судя из файла отчетного, у вас использовано всего 10 макроячеек, Т.е. Схема не полностью синтезировалась. "
Ну и что? Что за странные выводы? 10 или какое-то другое число, какая разница главное, чтобы в 72 уложилось. Вы вообще в курсе того о чем пишите или так - лишь бы что-то написать? Только путаете человека.
Вам нужно поставить буферы перед тем как выводить сигналы на контакты(IBUF, OBUF, IOBUF и т.д. в зависимости от назначения), если вы не заметили ISE "оптимизировал" - выкинул два ваших сигнала: set_f_div и clr_f_div.
Саму схему не смотрел, но как-то сразу резануло глаз что на тригере в левом нижнем углу на вход D нчего не подается, может оно так у Вас и задумано
atmicandr
May 20 2010, 08:22
Цитата(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
May 20 2010, 09:16
У примитива М16_1Е вход разрешения положительный, т.е. для того чтобы мультиплексор работал туды нужно подать 1, а у Вас там 0. Потому и результаты синтеза странные - мультиплексор вырождается... После подачи на вход Е лог.1, схема синтезируется в 30 ячейках - результат похож на правду. Нужно симулировать.
atmicandr
May 20 2010, 09:26
Цитата(andrewkrot @ May 20 2010, 15:16)

У примитива М16_1Е вход разрешения положительный, т.е. для того чтобы мультиплексор работал туды нужно подать 1, а у Вас там 0. Потому и результаты синтеза странные - мультиплексор вырождается... После подачи на вход Е лог.1, схема синтезируется в 30 ячейках - результат похож на правду. Нужно симулировать.
Я так понял, Вы синтезировали схему, а много ли Вы варнингов получили? И еще по поводу симуляции: могу ли я при этом воспользоваться харатеристиками сигналов, которые были отсимулированы в Квартусе, так как кроме входа inp_clk больше ни один входной сигнал мне неизвестен?
andrewkrot
May 20 2010, 12:05
Разберитесь со схемой сначала. Ничего сложного в ней нет. А тестбенч можете такой же как в квартусе нарисовать. По идее результаты моделирования должны по крайней мере быть похожими, или даже совпадать.
nick17
May 21 2010, 03:36
один разряд счетчика в CPLD съедает одну макроячейку, а у вас практически вся схема на счетчиках постороена, а задействовано в итоге только 10 макроячеек, вот и думайте...
atmicandr
May 21 2010, 04:08
Здравствуйте!!! Направляю Вам на суд новый файл проекта. Изменения я произвел, учитывая те сообщения которые Вы мне присылали. Буферные элементы я установил только на выходы Q0-Q7, которые присоединяются в дальнейшем к SRAM. И кстати после синтеза задействованы оказались реально 30 макроячеек. Симуляцию я не проводил, так как не понял как это надо делать. Ребята, может вы мне проверите работу схемы и вообще её правильность? Заранее спасибо за помощь. С уважением Корчагин Андрей.
atmicandr
May 28 2010, 08:12
DmitryR
May 28 2010, 08:34
Цитата(atmicandr1 @ May 21 2010, 08:08)

Симуляцию я не проводил, так как не понял как это надо делать. Ребята, может вы мне проверите работу схемы и вообще её правильность?
Вам в раздел "Предлагаю работу". IMHO.
atmicandr
May 28 2010, 09:58
Цитата(DmitryR @ May 28 2010, 13:34)

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

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