Jump to content
    

Странное поведение Cyclone 4

Доброго времени суток. На днях приобрел отладочную плату RZ-easyFPGA A2.2 с кристаллом Cyclone 4 (ep4ce6e22c8n). Начав тестировать вводы-выводы элементарными программами, столкнулся с тем, что плата воспринимает элемент И как ИЛИ и наоборот. С чем это может быть связано? Спасибо. 

Share this post


Link to post
Share on other sites

12 minutes ago, AlexSailor said:

Доброго времени суток. На днях приобрел отладочную плату RZ-easyFPGA A2.2 с кристаллом Cyclone 4 (ep4ce6e22c8n). Начав тестировать вводы-выводы элементарными программами, столкнулся с тем, что плата воспринимает элемент И как ИЛИ и наоборот. С чем это может быть связано? Спасибо. 

инверсная логика. Если проинвертировать все входы и выходы элемента И он становится ИЛИ

Share this post


Link to post
Share on other sites

5 minutes ago, k155la3 said:

инверсная логика. Если проинвертировать все входы и выходы элемента И он становится ИЛИ

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

Share this post


Link to post
Share on other sites

3 minutes ago, AlexSailor said:

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

"Ни-в-зуб ногой". Не спец.  Я Вам задал направление, в каком, возможно, надо искать причину по приведенным "симптомам". Как в Quartus, так и в том, чем выполняется тестирование. См настройки-опции итд итп RTFM etc

Share this post


Link to post
Share on other sites

1 час назад, AlexSailor сказал:

плата воспринимает элемент И как ИЛИ

Скачайте схему на свою отладочную плату и посмотрите какие уровни формируются при тех или иных действиях.
К примеру, если Вы запрограммируете логический элемент между KEY1, KEY2 и светодиодом LED1, то он будет загораться при нажатии кнопки S1 ИЛИ S2.
Собственно, о чем и написал k155la3 - инверсная логика.

Share this post


Link to post
Share on other sites

Возникает вопрос, как тогда проектировать универсальные схемы, если под эту плату надо все базовые элементы переписать под инверсную логику. А при прошивке другой платы окажется, что какое-нибудь устройство уже работает неадекватно из-за того, что оно использует прямую логику. 

Share this post


Link to post
Share on other sites

30 минут назад, AlexSailor сказал:

как тогда проектировать универсальные схемы

А что Вы понимаете  под "универсальные схемы"?
Все, что вы запроектируете на этой отладочной плате, будет также работать на другой, точно такой же, плате.
Да и, инверсная логика у Вас возникает не на уровне ядра (FPGA микросхемы), а на уровне периферийных компонентов: переключателей/индикаторов.

Edited by Ascetic

Share this post


Link to post
Share on other sites

Понимаю то, что проект созданный на одной плате, вышеупомянутый Cyclone 4, к примерц, сможет без изменений работать и на другой плате. DE10, к примеру. После смены разве что распиновки, разумеется. 

А на данный момент получается, что на какой-нибудь счетчик надо проектировать элементы OR, подразумевая AND и так далее, а при переезде на другую плату возвращать всë на свои места, т.е. переписывать весь проект. 

Есть ли какой-то способ на такой плате оформить работу AND как AND? 

Я в этой теме только начинающий, так что заранее извиняюсь за какие-то возможные фундаментальные непонимания. 

Edited by AlexSailor

Share this post


Link to post
Share on other sites

24 минуты назад, AlexSailor сказал:

т.е. переписывать весь проект

Да ничего переписывать не нужно.
Еще раз. Инверсная логика у Вас возникает только потому, что при нажатии кнопок, на вход FPGA микросхемы подаются логические НУЛИ, и светодиоды также зажигаются логическими НУЛЯМИ.
Ну, право слово, возьмите и выведите входы/выходы FPGA напрямую на гребенку, и перемычками проверьте функциональность - сразу же поймете, что запрограммированная логическая И так и останется логической И.

Share this post


Link to post
Share on other sites

Рекомендую прочитать две главы искусства схемотехники, раздел цифровые схемы, чтоб разобраться в вопросе. 

Share this post


Link to post
Share on other sites

Код у Вас нормальный по идее. И есть И. ИЛИ возникает на плате из-за ее периферии. Об этом Вам и написали ранее.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...