zvs 0 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба Коллеги, смог ли кто-нибудь использовать INIT_DONE pin c включенной опцией Enable INIT_DONE Output в качестве IO, после перехода ПЛИС в User Mode. В Handbook'е я запрета на такое использование не нашел, однако analayzer ругается: Error: Can't place multiple pins assigned to pin location. Собственно, зачем все это нужно. Init_done заводится на ручной сброс супервизора питания, с него идет сигнал сброса на ПЛИС, flash, sdram, далее везде. Хочется в определенный момент инициировать этот глобальный сброс из ПЛИС, дёрнув Init_done вручную. Ежели кто решал эту проблему, подскажите где еще нужно установить галочки? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 3 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба Коллеги, смог ли кто-нибудь использовать INIT_DONE pin c включенной опцией Enable INIT_DONE Output в качестве IO, после перехода ПЛИС в User Mode. При описании ног там ведь If the INIT_DONE output is enabled, the INIT_DONE pin cannot be used as a user I/O pin I/O, Output after configuration. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба При описании ног там ведь If the INIT_DONE output is enabled, the INIT_DONE pin cannot be used as a user I/O pin I/O, Output after configuration. А Вы на какое семейство datasheet цитируете? Каюсь, не указал, что у меня Cyclone III, а для него пишут User Mode An optional INIT_DONE pin is available, which signals the end of initialization and the start of user mode with a low-to-high transition. The Enable INIT_DONE Output option is available in the Quartus II software from the General tab of the Device and Pin Options dialog box. If the INIT_DONE pin is used, it will be high due to an external 10-kOhm pull-up resistor when nCONFIG is low and during the beginning of configuration. After the option bit to enable INIT_DONE is programmed into the device (during the first frame of configuration data), the INIT_DONE pin goes low. When initialization is complete, the INIT_DONE pin is released and pulled high. This low-to-high transition signals that the device has entered user mode. In user mode, the user I/O pins function as assigned in your design and no longer have weak pull-up resistors. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyF 0 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба А Вы на какое семейство datasheet цитируете? Каюсь, не указал, что у меня Cyclone III, а для него пишут В доке от Марта 2007 стр. 10-94, таблица 10-21. User Mode : N/A if option is on. I/O if option is off. В процитированном отрывке все перемешано в кучу. Речь о том, что при начале конфигурации на всех User I/O, в том числе на INIT_DONE, включены подтягивающие резисторы. Как только Cyclone понимает, что эта ножка - INIT_DONE, он сажает ее на землю. При входе в рабочий режим он ее отпускает и подтягивающий резистор ее подтягивает к 1. А у обычных пользовательских ножек подтягивающие резисторы отключаются (если не включены в конфигурации, очевидно). :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба В доке от Марта 2007 стр. 10-94, таблица 10-21. User Mode : N/A if option is on. I/O if option is off. Видел я и эту таблицу, тоже мутновато, а тот отрывок - это вообще шпиён какой-то писал. Придется согласиться с мнение общественности. Опять же cdg мне в приватной беседе привел один довод, с которым не поспоришь Нога должна показать, что устройство сконфигурировано. Это происходит одновременно с переходом в USER режим в котором ты хочешь ее переопределить. На какое время эта нога будет тогда INIT_DONE? Доржно определяться в спецификации по таймингам, а там этого времени нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyF 0 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба Видел я и эту таблицу, тоже мутновато, а тот отрывок - это вообще шпиён какой-то писал. На всякий случай: N/A в данном контексте значит Not Available. То есть, в пользовательском режиме ножка недоступна, если опция включена. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 3 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба в приватной беседе привел один довод, с которым не поспоришь http://www.altera.com/literature/lit-dp.js...owspreadsheet=y там же все написано. Когда он i/o, когда с открытым стоком. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба На всякий случай: N/A в данном контексте значит Not Available. То есть, в пользовательском режиме ножка недоступна, если опция включена. Спасибо за столь высокую оценку моих умственных способностей ;) Когда я говорил, что мутновато, я имел ввиду, что если в таблице в колонке с названием User Mode, написать "option is on" и особенно не уточнять какой именно option имеется ввиду, то можно придумать что угодно. В datasheet на более ранние семейства было написано чётко и ясно, как sazh уже упоминал выше "If the INIT_DONE output is enabled, the INIT_DONE pin cannot be used as a user I/O pin". ИМХО в данной формулировке никаких разногласий быть не может. Впрочем, возможно я придираюсь. :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 25 февраля, 2010 Опубликовано 25 февраля, 2010 · Жалоба Ну а почему бы не использовать для этих целей обычную пользовательскую ногу? При выходе в рабочий режим разница с INIT_DONE в 1 такт будет. Или не будет если поставите Clear before Tri-States. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 26 февраля, 2010 Опубликовано 26 февраля, 2010 · Жалоба dvladim! Спасибо за идею! Бум попробовать! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 3 26 февраля, 2010 Опубликовано 26 февраля, 2010 · Жалоба dvladim! Спасибо за идею! Бум попробовать! А идея в чем? Этот интервал инициализации один раз по включению бывает. А Вы его хотите дергать в пользовательском режиме. Если супервизор на nconfig, так вообще в кольце работать не будет. по идее супервизор питание контролирует, по принятию решения перегружает fpga. а если целостность конфигурации проверять, наверно внешний таймер нужен с интелектом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 3 26 февраля, 2010 Опубликовано 26 февраля, 2010 · Жалоба dvladim! Спасибо за идею! Бум попробовать! А идея в чем? Этот интервал инициализации один раз по включению бывает. А Вы его хотите дергать в пользовательском режиме. Если супервизор на nconfig, так вообще в кольце работать не будет. по идее супервизор питание контролирует, по принятию решения перегружает fpga. а если целостность конфигурации проверять, наверно внешний таймер нужен с интелектом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 26 февраля, 2010 Опубликовано 26 февраля, 2010 · Жалоба А идея в чем? Супервизор как раз таки на init_done. А идея в том, чтобы организовать сброс после загрузки и по команде извне в нужный момент. Задачи проверять целостность конфигурации пока не стоит :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться