Перейти к содержанию
    

Altera INIT_DONE и user IO

Коллеги, смог ли кто-нибудь использовать 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 вручную.

 

Ежели кто решал эту проблему, подскажите где еще нужно установить галочки? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Коллеги, смог ли кто-нибудь использовать 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При описании ног там ведь

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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А Вы на какое семейство 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. А у обычных пользовательских ножек подтягивающие резисторы отключаются (если не включены в конфигурации, очевидно). :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В доке от Марта 2007 стр. 10-94, таблица 10-21.

User Mode : N/A if option is on. I/O if option is off.

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

 

 

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

 

Нога должна показать, что устройство сконфигурировано. Это происходит одновременно с переходом в USER режим в котором ты хочешь ее переопределить. На какое время эта нога будет тогда INIT_DONE? Доржно определяться в спецификации по таймингам, а там этого времени нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

На всякий случай: N/A в данном контексте значит Not Available. То есть, в пользовательском режиме ножка недоступна, если опция включена.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в приватной беседе привел один довод, с которым не поспоришь

 

http://www.altera.com/literature/lit-dp.js...owspreadsheet=y

там же все написано. Когда он i/o, когда с открытым стоком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На всякий случай: 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:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну а почему бы не использовать для этих целей обычную пользовательскую ногу? При выходе в рабочий режим разница с INIT_DONE в 1 такт будет. Или не будет если поставите Clear before Tri-States.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

dvladim! Спасибо за идею! Бум попробовать!

 

А идея в чем? Этот интервал инициализации один раз по включению бывает. А Вы его хотите дергать в пользовательском режиме.

Если супервизор на nconfig, так вообще в кольце работать не будет.

по идее супервизор питание контролирует, по принятию решения перегружает fpga. а если целостность конфигурации проверять, наверно внешний таймер нужен с интелектом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

dvladim! Спасибо за идею! Бум попробовать!

 

А идея в чем? Этот интервал инициализации один раз по включению бывает. А Вы его хотите дергать в пользовательском режиме.

Если супервизор на nconfig, так вообще в кольце работать не будет.

по идее супервизор питание контролирует, по принятию решения перегружает fpga. а если целостность конфигурации проверять, наверно внешний таймер нужен с интелектом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А идея в чем? 

Супервизор как раз таки на init_done. А идея в том, чтобы организовать сброс после загрузки и по команде извне в нужный момент. Задачи проверять целостность конфигурации пока не стоит :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...