|
ПЛИС без внешней синхронизации |
|
|
|
Mar 4 2017, 14:47
|

Местный
  
Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264

|
Добрый вечер! Я только прикоснулся к ПЛИС (Spartan 6) с программной точки зрения. Начинаю со схемотехнического метода - рисую схему - смотрю результат. Плата есть, т.е. проверять собираюсь на реальном железе. И для начала хотел проверить всякие простые штуки типа триггеров, счетчиков и т.д. Соответственно, рисую схему:  И в Plan Ahead-е назначил портам реальные ножки микросхемы. Но можно ли так делать? Т.е. обычно ПЛИС тактируется от генератора, и от него вся логика пляшет. А я хочу тактировать триггер от своей внешней кнопочки  (условно). Однако при 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; >
|
|
|
|
|
 |
Ответов
(1 - 9)
|
Mar 4 2017, 15:47
|
Местный
  
Группа: Участник
Сообщений: 294
Регистрация: 25-09-13
Из: Н.Новгород
Пользователь №: 78 485

|
Цитата(Arlleex @ Mar 4 2017, 17:47)  Однако при Implementation сразу посыпались ошибки, вот одна из них (всего три похожих): Если буферы мешают уберите их. А вообще использовать кнопку в качестве тактового сигнала может быть чревато последствиями. Кнопка даёт дребезг контактов и потому вместо одного тактового импульса может придти целая пачка и Ваш счётчик вместо одного инкремента сделает несколько. Посмотрите на Ютубе курс лекций, может что-то полезное для себя найдёте: https://youtu.be/aGMfFezjVnQ
|
|
|
|
|
Mar 4 2017, 15:47
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
ну вам пишут что вы клок ведет по очень длинному пути, так не очень хорошо. Но поскольку вы знаете что делаете напишите ему PIN "XLXI_2.O" CLOCK_DEDICATED_ROUTE = FALSE; и он уймется. суть проблемы такова что в ПЛИС есть специальный провод для распространения клока, чтобы он дошел до всех элементов с понятными минимальными задержками. И к этому проводу присоединены не все контакты, а только некоторые. Завод клока через другой контакт заставит плис сначала его довести до этого провода внутри по очень длинному пути, что испортит всю времянку. Подключи вы кнопку к ножкам допускающим вход клока вы такого бы предупреждения не увидели бы. Но сути проблемы это не изменило бы Как вам сказали выше кнопка как источник клока и правда может наделать много бед. А так никто не мешает вам и просто логику сделать, вообще без клока.
|
|
|
|
|
Mar 4 2017, 20:38
|

Местный
  
Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264

|
Цитата(iosifk @ Mar 4 2017, 18:23)  Подход довольно странный... Как-то не тем путем идете, товарищ... У каждого подхода есть свои достоинства и недостатки. Можете считать, что я предпочитаю сложные пути вникания во что-то новое Jackov, насчет кнопки в качестве тактового я написал условно, я понимаю что будет, если использовать ее без элементов стабилизации сигнала. За ссылку благодарю, однако у меня есть некоторый багаж знаний в цифровой схемотехнике. Я на бумаге могу разрисовать и математически записать нужную логику работы какого-либо конечного автомата, и зарисовать его на логике. Но для проверки купил отладочную плату с FPGA и собираюсь на ней отлаживать подобные методы вникания во взаимодействие с ПЛИС... Пусть эти методы не кажутся кому-то правильными, это мой спортивный интерес. Я могу, естественно, выучить VHDL и писать только на нем, однако, как подсказывает опыт окружающих, описание логики на языках описания аппаратуры без четкого понимания принципов работы узлов ПЛИС на уровне регистровых передач я считаю неоправданным - при отладке довольно сложно будет разобраться что к чему и почему что-то может не работать. И это довольно философская тема, я не считаю уместным здесь обсуждать мою точку зрения. Возможно, я не прав, но это мой путь, так сказать Jackov, это я не Вам, а в общем обрисовал ситуацию. Golikov A., да, это примерно то, чего я желал услышать, благодарю.
Сообщение отредактировал Arlleex - Mar 4 2017, 20:40
|
|
|
|
|
Mar 6 2017, 13:03
|

Местный
  
Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264

|
likeasm, спасибо, да, я уже третий день с успехом реализую свои идеи и тесты, почитав где какие буферы ставят в апноуте Xilinx  . Частоту взял от кварцевого генератора 50 МГц, предварительно поделив на много. В конце концов если очень хочется - можно реализовать антидребезг на RS триггере и использовать кнопочку для "пошаговой отладки". Не знаю как насчет схемных багов, одно пока что напрягает - работать в схематике очень неудобно чисто с эстетической точки зрения (то названия не цепляются к проводам, то еще что-нибудь). А в целом - светофор вон работает  . Дальше буду SPI Slave поднимать, опять же чисто ради спортивного интереса, никакие Verilog/VHDL не интересуют (пока что, в дальнейшем - изучение VHDL).
|
|
|
|
|
Mar 6 2017, 13:17
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Arlleex @ Mar 6 2017, 16:03)  Не знаю как насчет схемных багов, одно пока что напрягает - работать в схематике очень неудобно чисто с эстетической точки зрения (то названия не цепляются к проводам, то еще что-нибудь). А в целом - светофор вон работает  . Дальше буду SPI Slave поднимать, опять же чисто ради спортивного интереса, никакие Verilog/VHDL не интересуют (пока что, в дальнейшем - изучение VHDL). Вот это уже лучше. Рисовать картинки - это только увеличивать гемморой. Да и много есть вещей, которых в картинках делать сложно. Изучать рекомендую Верилог. И моделсим... И научитесь симулировать тестбенчи.. Потому как SPI Slave без автоматов - будет ерунда...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Mar 6 2017, 17:00
|
Частый гость
 
Группа: Участник
Сообщений: 156
Регистрация: 15-04-10
Пользователь №: 56 673

|
Цитата(Arlleex @ Mar 6 2017, 16:03)  никакие Verilog/VHDL не интересуют (пока что, в дальнейшем - изучение VHDL). Хардкора хотите Цитата(Arlleex @ Mar 6 2017, 16:03)  можно реализовать антидребезг на RS триггере и использовать кнопочку для "пошаговой отладки". У вас микросхема, которая поддерживает внутрисхемную отладку через анализатор ChipScope, количество каналов которого ограничены воображением и доступными аппаратными ресурсами.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|