andreichk
Mar 15 2008, 10:39
Привет народ.Юзаю означенный камень в схемотическом режиме.При компиляции выдаёт такое предупреждение
[Warning]:Cpld - The signal(s) 'XLXN_1626' 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.
Понимаю, что надо куда-то вписать параметр NOREDUCE , но не знаю куда и как
Подскажите плиз, как избавиться от этого
компилятор ISE 9.2.04i
Спасибо заранее
dvladim
Mar 15 2008, 12:08
Цитата(andreichk @ Mar 15 2008, 13:39)

[Warning]:Cpld - The signal(s) 'XLXN_1626' are in combinational feedback loops. These signals may cause hazards/glitches.
Лучше разобраться с защелками.
andreichk
Mar 15 2008, 12:38
как разобраться? выкинуть или заменить на что-то другое? Тогда подскажите как это сделать.
вот кусок схемы с проблемой(выделено красным)
rezident
Mar 15 2008, 12:52
По-моему вам нужно еще раз почитать о структуре термов в этой серии CPLD, чтобы более точно и грамотно использовать логические функции, реализуемые этими термами. Более грамотно было бы использовать несколько логических элементов, даже если они реализуют весьма похожие функции, но при этом избежать обратных связей.
По ссылке описание семейства XC9500 по-русски.
andreichk
Mar 15 2008, 14:05
спасибо за совет что-нибудь почитать, я этот файл до дыр зачитал, только вот ответа в нём не нашёл.И разные варианты лог.элементов перепробовал-только вот проблема не решается
Omen_13
Mar 15 2008, 15:14
А в чём смысл заводить такую обратную связь (та что красная на схеме) на логику?
может проще RS триггер поставить (с зарубежными обозначениями постоянно путаюсь, поэтому оценить схему не смог) и зарубить проблему на корню
Да и смысла в RS не видно - задержку на нем реализуете?
andreichk
Mar 15 2008, 15:20
вообще-то дребезг контактов подавляю.Это ведь и есть RS-триггер.
Omen_13
Mar 15 2008, 15:59
Цитата(andreichk @ Mar 15 2008, 20:20)

вообще-то дребезг контактов подавляю.Это ведь и есть RS-триггер.
Тогда огорчу - эта схема неработоспособна для подавления дребезга.
Мне видиться такое решение - вывести ещё один пин к каждой кнопке с переключающими контактами и реализовать классическую схему подавления дребезга
andreichk
Mar 15 2008, 20:06
Тогда огорчу - эта схема неработоспособна для подавления дребезга.
даже, если пин подтянут резистором к 5ти вольтам?
Причём хочу заметить, что при наличии этих элементов проскакивания не наблюдается, а вот без них то есть, то нет.
Omen_13
Mar 16 2008, 05:57
Цитата(andreichk @ Mar 16 2008, 01:06)

Тогда огорчу - эта схема неработоспособна для подавления дребезга.
даже, если пин подтянут резистором к 5ти вольтам?
Причём хочу заметить, что при наличии этих элементов проскакивания не наблюдается, а вот без них то есть, то нет.
Резистор обязателен. Что сваял ISE чтобы схема работала не знаю, я сторонник классических решений.
Не известно сколько ресурсов свободно для правильной рекомендации. Если есть тактовая 100Гц- 1кГц я бы завёл сигнал с кнопки на 4 последовательно включенных D триггера, а триггеры затактировал от 100Гц-1кГц - при лог 1 (или 0 в зависимости от включения кнопки) на всех триггерах кнопка нажата и дребезг кончился. Можно попробовать зашунтировать кнопку емкомкостью и реализовать триггер Шмитта, но дополнительные выводы всё равно необходимы т.к. встроенного нет (если склероз не изменил)
andreichk
Mar 16 2008, 07:49
А вообще извините, я спрашивал не про то, как правильно дребезг подавлять, а про то как и куда вписывать рекомендуемые параметры, в частности NOREDUCE.
dvladim
Mar 16 2008, 08:37
Цитата(andreichk @ Mar 16 2008, 10:49)

А вообще извините, я спрашивал не про то, как правильно дребезг подавлять, а про то как и куда вписывать рекомендуемые параметры, в частности NOREDUCE.
Вам и посоветовали, что в первую очередь надо разбираться не с NOREDUCE, а со схемотехникой.
Желательно построить схему без защелок.
andreichk
Mar 16 2008, 09:06
Ок, внял мудрому совету и изменил схему. на вход С подано 150кГц.Предупреждение исчезло
Однако такая замена не везде проходит.Есть у меня ещё одно место в схеме, где наличие такой конструкции обязательно, так вот с простой заменой на имеющийся готовый RS-триггер ничего не вышло.Схема перестала работать.Как тут быть?(выделено красным)
Omen_13
Mar 16 2008, 09:22
Цитата(andreichk @ Mar 16 2008, 14:06)

Ок, внял мудрому совету и изменил схему. на вход С подано 150кГц.Предупреждение исчезло

с тактовой 150кГц надо как минимум 8 последовательно включенных тригеров (выход Q подключить к входу D следующего, на входа C подаём 150кГц).
Предупреждения на выделенное красным выдаёт?
andreichk
Mar 16 2008, 09: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.
Может всё-таки этот параметр нужно вписать и система как-то более корректно будет компилировать?
Цитата(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 триггера должны быть порождением триггера.
В реальности на комбинаторике пички получите.
И предупреждения об этом.
MrYuran
Mar 16 2008, 13:39
Стесняюсь спросить, а вообще схема работает, пусть даже с предупреждением?
Может, не обращать внимания?
Я, честно говоря, с CPLD не работал, только с FPGA Spartan и средой Xilinx Foundation.
Вообще если в вашей среде есть режим симулирования после разводки, то можно очень просто посмотреть, что же на самом деле получилось (и как будет работать железо)
andreichk
Mar 16 2008, 13:59
Схема работает, может в самом деле плюнуть слюной на эти предупреждения?
dvladim
Mar 16 2008, 19:47
Цитата(andreichk @ Mar 16 2008, 12:06)

Ок, внял мудрому совету и изменил схему. на вход С подано 150кГц.Предупреждение исчезло
Однако такая замена не везде проходит.Есть у меня ещё одно место в схеме, где наличие такой конструкции обязательно, так вот с простой заменой на имеющийся готовый RS-триггер ничего не вышло.Схема перестала работать.Как тут быть?(выделено красным)
Во второй схеме у вас классический RS-триггер с прямым и инверсным выходом.
Если на входы не подается запрещенное состояние (два нуля), то можно заменить такой схемой:
D-триггер со следующими входами: D=1, CLK=set, CLR=reset.
Цитата(andreichk @ Mar 16 2008, 16:59)

Схема работает, может в самом деле плюнуть слюной на эти предупреждения?
Можно и плюнуть, но надо представлять, к чему это может привести.
Игнорирование малопонятных предупреждений может привести к долгому поиску причин редких сбоев схемы. Или зависимости поведения устройства от партии схем или условий работы.
Михаил_K
Mar 16 2008, 20:31
Вобще не помйму о чем спор. Изначально был нарисован не RS-триггер, а извините, х..ня какя-то. Оба логических элемента можно выкинуть и соединить цепь, выделенную красным цветом с цепью SEC_DIV_UP_B. Будет то же самое. Это кто-ж догадался у RS триггера оба входа соединить, пусть даже и через инвертор! Вообще, я сам давольно давно проектрирую прошивки для плиса, и у меня сложилось мнение, что если синтезатор выдает подобные предупреждения, то лучше искать ошибку у себя, чем способ обойти, ибо потом замаетесь разбираться, почему схема не работает.
Omen_13
Mar 16 2008, 20:42
Михаил_K, не кипятитесь. Задача форума обмен опытом а не матюги за детские ошибки.
andreichk
Mar 16 2008, 21:05
Цитата
Во второй схеме у вас классический RS-триггер с прямым и инверсным выходом.
Если на входы не подается запрещенное состояние (два нуля), то можно заменить такой схемой:
D-триггер со следующими входами: D=1, CLK=set, CLR=reset.
именоо этот вариант я и пробовал- нифига не помогло.Схема просто перестала работать, поэтому я решил оставить то , что было.К чему это приведёт- покажет время.
Спасибо всем за понимание, на самом деле , это мой первый проект на ПЛИС, так что .......
Omen_13
Mar 16 2008, 21:47
Цитата(andreichk @ Mar 17 2008, 02:05)

Спасибо всем за понимание, на самом деле , это мой первый проект на ПЛИС, так что .......
Тогда обычный совет - учите ЯВУ. Какой из них лучше хз, я выбрал VHDL
Михаил_K
Mar 17 2008, 07:06
Цитата(Omen_13 @ Mar 16 2008, 23:42)

Михаил_K, не кипятитесь. Задача форума обмен опытом а не матюги за детские ошибки.
Да я и не кипячусь вовсе.

. Просто почему-то никто не обратил внимание на абсурдность схемы!
dvladim
Mar 17 2008, 08:02
Цитата(Михаил_K @ Mar 17 2008, 10:06)

Да я и не кипячусь вовсе.

. Просто почему-то никто не обратил внимание на абсурдность схемы!
Да не, обратили.
Просто сразу пошло обсуждение антидребезга, и нормальный антидребезг изменил бы этот кусок схемы.
rv3dll(lex)
Mar 19 2008, 13:47
абсурдности в таких вещах особенно то нет
если она разведётся то и работать будет - я имею ввиду триггер на рассыпухе
компилятор не хочет с ними ничего делать по при чине неизвестности начальных условий - я сталкивался с этим в альтере в ксайлинксе не пробовал
andreichk
Mar 19 2008, 17:29
в том-то и закавыка, чтотаботает как надо, только вот ПЛИСка как-то греется , как мне кажется подозрительно горячо, но дым из неё не идёт
rezident
Mar 19 2008, 17:43
Цитата(andreichk @ Mar 19 2008, 22:29)

в том-то и закавыка, чтотаботает как надо, только вот ПЛИСка как-то греется , как мне кажется подозрительно горячо, но дым из неё не идёт
Уже писал пару раз здесь в форуме, но думаю стоит еще раз напомнить. Серия XC9500
не имеет встроенных схем bus-hold, поэтому "висячие" входы у нее оставлять
нельзя! Либо устанавливайте внешние pull-up, либо при программировании установите опцию "соединять неиспользуемые пины с GND". Плавающие потенциалы на "висячих" входах у XC9500 могут привести к саморазогреву и выходу кристалла из строя, что наблюдалось на практике неоднократно. Кстати, XC9500XL и XC9000VX этим не страдают, т.к. имеют встроенные bus-hold.
andreichk
Mar 19 2008, 19:13
да у меня ни одного свободного пина нет , все в работе,кроме тех, по которым програмирование идёт.Их тоже на GND сажать?
rezident
Mar 19 2008, 19:39
Цитата(andreichk @ Mar 20 2008, 00:13)

да у меня ни одного свободного пина нет , все в работе,кроме тех, по которым програмирование идёт.Их тоже на GND сажать?
Нет, их пуллапить желательно. Если вы их заземлите, то как программировать-то будете?
Omen_13
Mar 19 2008, 20:39
Причиной нагрева может быть гонка или метастабильность. По крайней мере по тем кускам схемы которые были показаны у меня сложилось мнение что проект ассинхронный
andreichk
Mar 20 2008, 19:32
Привожу всю схему.Там всего-то делители частоты от 80ти МГц и до 156 кГц и шифратор команд(кнопки)
А подозрительно горячо это как ? Вы можете ток потребления замерить ? При 80 Мгц тактовой она вообще-то должна греться.
andreichk
Mar 20 2008, 19:50
если палец приложить, то больше 15 сек не удержите, горячо.Ток не мерял, но 7805 тоже горячая.Правда на ней ещё всякой всячины навешано- ЖКИ, ПИК, SED1335(но они холодные)
Дорожки резать не хочется,могу только общий ток замерить
Цитата(andreichk @ Mar 20 2008, 22:50)

если палец приложить, то больше 15 сек не удержите, горячо.Ток не мерял, но 7805 тоже горячая.Правда на ней ещё всякой всячины навешано- ЖКИ, ПИК, SED1335(но они холодные)
Дорожки резать не хочется,могу только общий ток замерить
Клок отрубите, посмотрите что будет. Еще надо обязательно проверить на возможное замыкание какого-нибудь выхода на землю или питание. Вообще - то должно греться так, что палец с трудом, но можно держать.
andreichk
Mar 20 2008, 20:03
замкнутых на землю или на питание пинов точно нет, уже проверял.
клок не отрубал( он же полюбому нужен, куда без него?).
Мне советовали в шифраторе все выходы кноопок навход перевернуть, я попробовал с помощью элементов И это сделать,как на этой схеме ,так шифратор ваще перестал работать.Я одного не пойму- это компилятор такой кривой или я чего-то не понимаю?
Компилятор вряд-ли виноват. А что Вы хотели получить ? Тут ведь только кусок схемы, не видно что куда идет.
Опишите, что Вы ожидали от этой схемы и что получилось.
Если при вырубленном клоке перестанет греться, значит у Вас все в порядке скорее всего.
andreichk
Mar 20 2008, 20:16
я имплантировал эту схему в ПЛИС
http://rf.atnn.ru/s1/shifr.htm.Но один спец мне посоветовал все выходы на входы поменять, чтобы они в эфир не пуляли, так вот не получилось, хотя логика была правильной.
По поводу отключения клока- достаточно ли будет внутри схемы его отсоеденить или опять надо дорожку отрезать или обесточивать внешний генератор?
Цитата(andreichk @ Mar 20 2008, 23:16)

По поводу отключения клока- достаточно ли будет внутри схемы его отсоеденить или опять надо дорожку отрезать или обесточивать внешний генератор?
Лучше бы генератор вырубить. Внутри схемы, если Вы клок отключите, компилятор все из схемы нафиг соптимизирует.
andreichk
Mar 20 2008, 20:56
перерезал дорожку питания генератора- ПЛИСКА остыла
Цитата(andreichk @ Mar 20 2008, 23:56)

перерезал дорожку питания генератора- ПЛИСКА остыла
Тогда 90%, что так все и должно греться.
andreichk
Mar 20 2008, 21:19
нагрев ПЛИСки конечно имеет и положительный момент- батарею отопления комнаты можно не включать.Но вот летом у меня явно будут проблемы.
rv3dll(lex)
Mar 21 2008, 05:14
а питание случаем не больше, чем надо?
andreichk
Mar 21 2008, 10:52
Цитата(rv3dll(lex) @ Mar 21 2008, 06:14)

а питание случаем не больше, чем надо?
5 вольт- стопудово
Omen_13
Mar 25 2008, 17:45
andreichk
Mar 27 2008, 18:17
Подскажите плиз, как по ангельски называется опция, которая овечает за то, чтобы там чего-то типа макроячеек не раскидывало, а все в одной куче держало, а то я начал какие-то птички-галочки менять, так у меня ваще работать перестало, хорошо, что хоть всё возвратить можно .Редактор XILINX-ISE . Спасибо заранее
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.