Arlleex 131 4 марта, 2017 Опубликовано 4 марта, 2017 · Жалоба Добрый вечер! Я только прикоснулся к ПЛИС (Spartan 6) с программной точки зрения. Начинаю со схемотехнического метода - рисую схему - смотрю результат. Плата есть, т.е. проверять собираюсь на реальном железе. И для начала хотел проверить всякие простые штуки типа триггеров, счетчиков и т.д. Соответственно, рисую схему: И в Plan Ahead-е назначил портам реальные ножки микросхемы. Но можно ли так делать? Т.е. обычно ПЛИС тактируется от генератора, и от него вся логика пляшет. А я хочу тактировать триггер от своей внешней кнопочки :rolleyes: (условно). Однако при Implementation сразу посыпались ошибки, вот одна из них (всего три похожих): ERROR:Place:1136 - This design contains a global buffer instance, <XLXI_2>, driving the net, <XLXN_13_OBUF>, that is driving the following (first 30) non-clock load pins. < PIN: XLXN_13.O; > This is not a recommended design practice in Spartan-6 due to limitations in the global routing that may cause excessive delay, skew or unroutable situations. It is recommended to only use a BUFG resource to drive clock loads. If you wish to override this recommendation, you may use the CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote this message to a WARNING and allow your design to continue. < PIN "XLXI_2.O" CLOCK_DEDICATED_ROUTE = FALSE; > Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 4 марта, 2017 Опубликовано 4 марта, 2017 · Жалоба Я только прикоснулся к ПЛИС (Spartan 6) с программной точки зрения. Начинаю со схемотехнического метода - рисую схему - смотрю результат. Плата есть, т.е. проверять собираюсь на реальном железе. И для начала хотел проверить всякие простые штуки типа триггеров, счетчиков и т.д. Подход довольно странный... Как-то не тем путем идете, товарищ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 4 марта, 2017 Опубликовано 4 марта, 2017 · Жалоба Я только прикоснулся к ПЛИС (Spartan 6) с программной точки зрения. Начинаю со схемотехнического метода - рисую схему - смотрю результат. Плата есть, т.е. проверять собираюсь на реальном железе. И для начала хотел проверить всякие простые штуки типа триггеров, счетчиков и т.д.Разберитесь с примитивами ПЛИС. В частности, что такое BUFG и для чего он нужен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jackov 1 4 марта, 2017 Опубликовано 4 марта, 2017 · Жалоба Однако при Implementation сразу посыпались ошибки, вот одна из них (всего три похожих): Если буферы мешают уберите их. А вообще использовать кнопку в качестве тактового сигнала может быть чревато последствиями. Кнопка даёт дребезг контактов и потому вместо одного тактового импульса может придти целая пачка и Ваш счётчик вместо одного инкремента сделает несколько. Посмотрите на Ютубе курс лекций, может что-то полезное для себя найдёте: https://youtu.be/aGMfFezjVnQ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 4 марта, 2017 Опубликовано 4 марта, 2017 · Жалоба ну вам пишут что вы клок ведет по очень длинному пути, так не очень хорошо. Но поскольку вы знаете что делаете напишите ему PIN "XLXI_2.O" CLOCK_DEDICATED_ROUTE = FALSE; и он уймется. суть проблемы такова что в ПЛИС есть специальный провод для распространения клока, чтобы он дошел до всех элементов с понятными минимальными задержками. И к этому проводу присоединены не все контакты, а только некоторые. Завод клока через другой контакт заставит плис сначала его довести до этого провода внутри по очень длинному пути, что испортит всю времянку. Подключи вы кнопку к ножкам допускающим вход клока вы такого бы предупреждения не увидели бы. Но сути проблемы это не изменило бы:) Как вам сказали выше кнопка как источник клока и правда может наделать много бед. А так никто не мешает вам и просто логику сделать, вообще без клока. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 4 марта, 2017 Опубликовано 4 марта, 2017 (изменено) · Жалоба Подход довольно странный... Как-то не тем путем идете, товарищ... У каждого подхода есть свои достоинства и недостатки. Можете считать, что я предпочитаю сложные пути вникания во что-то новое :rolleyes: Jackov, насчет кнопки в качестве тактового я написал условно, я понимаю что будет, если использовать ее без элементов стабилизации сигнала. За ссылку благодарю, однако у меня есть некоторый багаж знаний в цифровой схемотехнике. Я на бумаге могу разрисовать и математически записать нужную логику работы какого-либо конечного автомата, и зарисовать его на логике. Но для проверки купил отладочную плату с FPGA и собираюсь на ней отлаживать подобные методы вникания во взаимодействие с ПЛИС... Пусть эти методы не кажутся кому-то правильными, это мой спортивный интерес. Я могу, естественно, выучить VHDL и писать только на нем, однако, как подсказывает опыт окружающих, описание логики на языках описания аппаратуры без четкого понимания принципов работы узлов ПЛИС на уровне регистровых передач я считаю неоправданным - при отладке довольно сложно будет разобраться что к чему и почему что-то может не работать. И это довольно философская тема, я не считаю уместным здесь обсуждать мою точку зрения. Возможно, я не прав, но это мой путь, так сказать :laughing: Jackov, это я не Вам, а в общем обрисовал ситуацию. Golikov A., да, это примерно то, чего я желал услышать, благодарю. Изменено 4 марта, 2017 пользователем Arlleex Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
likeasm 0 6 марта, 2017 Опубликовано 6 марта, 2017 · Жалоба 1. Если хочется очень, то можно частоту взять из примитива STARTUP_SPARTAN6, частота будет кривая и нестабильная, но это лучше кнопки. 2. Обычные сигналы в схемном редакторе выводятся на ножки через специальные примитивы, например IBUF и OBUF, а не через BUFG. Для вашего примера между FD:D и XLXN_12 выкидываете BUFG и ставите на его место IBUF, между XLXN_11 и BUFG добавляете IBUF, между FD:Q и XLXN_13 выкидываете BUFG и ставите на его место OBUF. 3. Схематик в ISE штука довольно кривая, лучше начните изучать всякие штуки с Verilog. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 6 марта, 2017 Опубликовано 6 марта, 2017 · Жалоба likeasm, спасибо, да, я уже третий день с успехом реализую свои идеи и тесты, почитав где какие буферы ставят в апноуте Xilinx :rolleyes:. Частоту взял от кварцевого генератора 50 МГц, предварительно поделив на много. В конце концов если очень хочется - можно реализовать антидребезг на RS триггере и использовать кнопочку для "пошаговой отладки". Не знаю как насчет схемных багов, одно пока что напрягает - работать в схематике очень неудобно чисто с эстетической точки зрения (то названия не цепляются к проводам, то еще что-нибудь). А в целом - светофор вон работает . Дальше буду SPI Slave поднимать, опять же чисто ради спортивного интереса, никакие Verilog/VHDL не интересуют (пока что, в дальнейшем - изучение VHDL). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 6 марта, 2017 Опубликовано 6 марта, 2017 · Жалоба Не знаю как насчет схемных багов, одно пока что напрягает - работать в схематике очень неудобно чисто с эстетической точки зрения (то названия не цепляются к проводам, то еще что-нибудь). А в целом - светофор вон работает . Дальше буду SPI Slave поднимать, опять же чисто ради спортивного интереса, никакие Verilog/VHDL не интересуют (пока что, в дальнейшем - изучение VHDL). Вот это уже лучше. Рисовать картинки - это только увеличивать гемморой. Да и много есть вещей, которых в картинках делать сложно. Изучать рекомендую Верилог. И моделсим... И научитесь симулировать тестбенчи.. Потому как SPI Slave без автоматов - будет ерунда... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
likeasm 0 6 марта, 2017 Опубликовано 6 марта, 2017 · Жалоба никакие Verilog/VHDL не интересуют (пока что, в дальнейшем - изучение VHDL). Хардкора хотите :rolleyes: можно реализовать антидребезг на RS триггере и использовать кнопочку для "пошаговой отладки". У вас микросхема, которая поддерживает внутрисхемную отладку через анализатор ChipScope, количество каналов которого ограничены воображением и доступными аппаратными ресурсами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться