|
|
  |
XILINX XC9500 |
|
|
|
Mar 15 2008, 15:59
|

Силовик-затейник
   
Группа: Модераторы
Сообщений: 766
Регистрация: 18-02-07
Из: Столица солнечного Башкортостана
Пользователь №: 25 467

|
Цитата(andreichk @ Mar 15 2008, 20:20)  вообще-то дребезг контактов подавляю.Это ведь и есть RS-триггер. Тогда огорчу - эта схема неработоспособна для подавления дребезга. Мне видиться такое решение - вывести ещё один пин к каждой кнопке с переключающими контактами и реализовать классическую схему подавления дребезга
--------------------
"Вперёд на мины, ордена потом!" "инжинер/разработчик создает нечто, в отличии от многих других профессий. В этом есть сходность с художниками или музыкантами"(с)CodeWarrior1241
|
|
|
|
|
Mar 16 2008, 05:57
|

Силовик-затейник
   
Группа: Модераторы
Сообщений: 766
Регистрация: 18-02-07
Из: Столица солнечного Башкортостана
Пользователь №: 25 467

|
Цитата(andreichk @ Mar 16 2008, 01:06)  Тогда огорчу - эта схема неработоспособна для подавления дребезга.
даже, если пин подтянут резистором к 5ти вольтам? Причём хочу заметить, что при наличии этих элементов проскакивания не наблюдается, а вот без них то есть, то нет. Резистор обязателен. Что сваял ISE чтобы схема работала не знаю, я сторонник классических решений. Не известно сколько ресурсов свободно для правильной рекомендации. Если есть тактовая 100Гц- 1кГц я бы завёл сигнал с кнопки на 4 последовательно включенных D триггера, а триггеры затактировал от 100Гц-1кГц - при лог 1 (или 0 в зависимости от включения кнопки) на всех триггерах кнопка нажата и дребезг кончился. Можно попробовать зашунтировать кнопку емкомкостью и реализовать триггер Шмитта, но дополнительные выводы всё равно необходимы т.к. встроенного нет (если склероз не изменил)
--------------------
"Вперёд на мины, ордена потом!" "инжинер/разработчик создает нечто, в отличии от многих других профессий. В этом есть сходность с художниками или музыкантами"(с)CodeWarrior1241
|
|
|
|
|
Mar 16 2008, 08:37
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(andreichk @ Mar 16 2008, 10:49)  А вообще извините, я спрашивал не про то, как правильно дребезг подавлять, а про то как и куда вписывать рекомендуемые параметры, в частности NOREDUCE. Вам и посоветовали, что в первую очередь надо разбираться не с NOREDUCE, а со схемотехникой. Желательно построить схему без защелок.
|
|
|
|
|
Mar 16 2008, 12:29
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(andreichk @ Mar 16 2008, 13:25)  Да, выдаёт [Warning]:Cpld - The signal(s) 'XLXN_4039' are in combinational feedback loops. These signals may cause hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. Timing analysis of paths involving this node may be inaccurate or incomplete.
Может всё-таки этот параметр нужно вписать и система как-то более корректно будет компилировать? Да не будет такое никогда без предупреждений. Есть два способа борьбі с дребезгом. 1 - Аналоговый. Без анализа воздействия во времени. Требует трех позиционной кнопки и подтягивающих резисторов по входам R-S триггера. У Тицца и Шенка расписано. И здесь тема дребезга пробегала. Второй Ваш. Но воздействия на входы Вашего r-s триггера должны быть порождением триггера. В реальности на комбинаторике пички получите. И предупреждения об этом.
|
|
|
|
|
Mar 16 2008, 13:39
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Стесняюсь спросить, а вообще схема работает, пусть даже с предупреждением?
Может, не обращать внимания?
Я, честно говоря, с CPLD не работал, только с FPGA Spartan и средой Xilinx Foundation.
Вообще если в вашей среде есть режим симулирования после разводки, то можно очень просто посмотреть, что же на самом деле получилось (и как будет работать железо)
Сообщение отредактировал MrYuran - Mar 16 2008, 14:08
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Mar 16 2008, 19:47
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(andreichk @ Mar 16 2008, 12:06)  Ок, внял мудрому совету и изменил схему. на вход С подано 150кГц.Предупреждение исчезло Однако такая замена не везде проходит.Есть у меня ещё одно место в схеме, где наличие такой конструкции обязательно, так вот с простой заменой на имеющийся готовый RS-триггер ничего не вышло.Схема перестала работать.Как тут быть?(выделено красным) Во второй схеме у вас классический RS-триггер с прямым и инверсным выходом. Если на входы не подается запрещенное состояние (два нуля), то можно заменить такой схемой: D-триггер со следующими входами: D=1, CLK=set, CLR=reset. Цитата(andreichk @ Mar 16 2008, 16:59)  Схема работает, может в самом деле плюнуть слюной на эти предупреждения? Можно и плюнуть, но надо представлять, к чему это может привести. Игнорирование малопонятных предупреждений может привести к долгому поиску причин редких сбоев схемы. Или зависимости поведения устройства от партии схем или условий работы.
|
|
|
|
|
Mar 16 2008, 20:31
|
Знающий
   
Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481

|
Вобще не помйму о чем спор. Изначально был нарисован не RS-триггер, а извините, х..ня какя-то. Оба логических элемента можно выкинуть и соединить цепь, выделенную красным цветом с цепью SEC_DIV_UP_B. Будет то же самое. Это кто-ж догадался у RS триггера оба входа соединить, пусть даже и через инвертор! Вообще, я сам давольно давно проектрирую прошивки для плиса, и у меня сложилось мнение, что если синтезатор выдает подобные предупреждения, то лучше искать ошибку у себя, чем способ обойти, ибо потом замаетесь разбираться, почему схема не работает.
Сообщение отредактировал Михаил_K - Mar 16 2008, 20:33
|
|
|
|
|
Mar 16 2008, 21:05
|

Знающий
   
Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143

|
Цитата Во второй схеме у вас классический RS-триггер с прямым и инверсным выходом. Если на входы не подается запрещенное состояние (два нуля), то можно заменить такой схемой: D-триггер со следующими входами: D=1, CLK=set, CLR=reset. именоо этот вариант я и пробовал- нифига не помогло.Схема просто перестала работать, поэтому я решил оставить то , что было.К чему это приведёт- покажет время. Спасибо всем за понимание, на самом деле , это мой первый проект на ПЛИС, так что .......
--------------------
|
|
|
|
|
Mar 17 2008, 08:02
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(Михаил_K @ Mar 17 2008, 10:06)  Да я и не кипячусь вовсе.  . Просто почему-то никто не обратил внимание на абсурдность схемы! Да не, обратили. Просто сразу пошло обсуждение антидребезга, и нормальный антидребезг изменил бы этот кусок схемы.
|
|
|
|
|
Mar 19 2008, 17:43
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(andreichk @ Mar 19 2008, 22:29)  в том-то и закавыка, чтотаботает как надо, только вот ПЛИСка как-то греется , как мне кажется подозрительно горячо, но дым из неё не идёт Уже писал пару раз здесь в форуме, но думаю стоит еще раз напомнить. Серия XC9500 не имеет встроенных схем bus-hold, поэтому "висячие" входы у нее оставлять нельзя! Либо устанавливайте внешние pull-up, либо при программировании установите опцию "соединять неиспользуемые пины с GND". Плавающие потенциалы на "висячих" входах у XC9500 могут привести к саморазогреву и выходу кристалла из строя, что наблюдалось на практике неоднократно. Кстати, XC9500XL и XC9000VX этим не страдают, т.к. имеют встроенные bus-hold.
|
|
|
|
|
Mar 20 2008, 19:53
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250

|
Цитата(andreichk @ Mar 20 2008, 22:50)  если палец приложить, то больше 15 сек не удержите, горячо.Ток не мерял, но 7805 тоже горячая.Правда на ней ещё всякой всячины навешано- ЖКИ, ПИК, SED1335(но они холодные) Дорожки резать не хочется,могу только общий ток замерить Клок отрубите, посмотрите что будет. Еще надо обязательно проверить на возможное замыкание какого-нибудь выхода на землю или питание. Вообще - то должно греться так, что палец с трудом, но можно держать.
--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|