Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Altera INIT_DONE и user IO
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Гяук
Коллеги, смог ли кто-нибудь использовать 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 вручную.


Ежели кто решал эту проблему, подскажите где еще нужно установить галочки? smile.gif
sazh
Цитата(Гяук @ Feb 25 2010, 09:19) *
Коллеги, смог ли кто-нибудь использовать 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.
Гяук
Цитата(sazh @ Feb 25 2010, 11:59) *
При описании ног там ведь
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.
Sergey'F
Цитата(Гяук @ Feb 25 2010, 13:38) *
А Вы на какое семейство 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. А у обычных пользовательских ножек подтягивающие резисторы отключаются (если не включены в конфигурации, очевидно). smile.gif
Гяук
Цитата(Sergey'F @ Feb 25 2010, 16:16) *
В доке от Марта 2007 стр. 10-94, таблица 10-21.
User Mode : N/A if option is on. I/O if option is off.

Видел я и эту таблицу, тоже мутновато, а тот отрывок - это вообще шпиён какой-то писал.


Придется согласиться с мнение общественности. Опять же cdg мне в приватной беседе привел один довод, с которым не поспоришь

Цитата
Нога должна показать, что устройство сконфигурировано. Это происходит одновременно с переходом в USER режим в котором ты хочешь ее переопределить. На какое время эта нога будет тогда INIT_DONE? Доржно определяться в спецификации по таймингам, а там этого времени нет.
Sergey'F
Цитата(Гяук @ Feb 25 2010, 19:02) *
Видел я и эту таблицу, тоже мутновато, а тот отрывок - это вообще шпиён какой-то писал.

На всякий случай: N/A в данном контексте значит Not Available. То есть, в пользовательском режиме ножка недоступна, если опция включена.
sazh
Цитата(Гяук @ Feb 25 2010, 19:02) *
в приватной беседе привел один довод, с которым не поспоришь


http://www.altera.com/literature/lit-dp.js...owspreadsheet=y
там же все написано. Когда он i/o, когда с открытым стоком.
Гяук
Цитата(Sergey'F @ Feb 25 2010, 19:16) *
На всякий случай: N/A в данном контексте значит Not Available. То есть, в пользовательском режиме ножка недоступна, если опция включена.

Спасибо за столь высокую оценку моих умственных способностей wink.gif

Когда я говорил, что мутновато, я имел ввиду, что если в таблице в колонке с названием 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.gif
dvladim
Ну а почему бы не использовать для этих целей обычную пользовательскую ногу? При выходе в рабочий режим разница с INIT_DONE в 1 такт будет. Или не будет если поставите Clear before Tri-States.
Гяук
dvladim! Спасибо за идею! Бум попробовать!
sazh
Цитата(Гяук @ Feb 26 2010, 08:42) *
dvladim! Спасибо за идею! Бум попробовать!


А идея в чем? Этот интервал инициализации один раз по включению бывает. А Вы его хотите дергать в пользовательском режиме.
Если супервизор на nconfig, так вообще в кольце работать не будет.
по идее супервизор питание контролирует, по принятию решения перегружает fpga. а если целостность конфигурации проверять, наверно внешний таймер нужен с интелектом.
sazh
Цитата(Гяук @ Feb 26 2010, 08:42) *
dvladim! Спасибо за идею! Бум попробовать!


А идея в чем? Этот интервал инициализации один раз по включению бывает. А Вы его хотите дергать в пользовательском режиме.
Если супервизор на nconfig, так вообще в кольце работать не будет.
по идее супервизор питание контролирует, по принятию решения перегружает fpga. а если целостность конфигурации проверять, наверно внешний таймер нужен с интелектом.
Гяук
Цитата(sazh @ Feb 26 2010, 09:36) *
А идея в чем? 

Супервизор как раз таки на init_done. А идея в том, чтобы организовать сброс после загрузки и по команде извне в нужный момент. Задачи проверять целостность конфигурации пока не стоит smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.