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

Модуль GPIO на ПЛИС

Нужен модуль ввода-вывода, для проца, наружу у которого идет только шина данных+адреса+несколько ног для внешних прерываний. Нада сделать модуль ввода вывода на 4 восьмибитных порта. Требования такие:

1 бит, 8 бит, 16 бит, 32 бита можно одновременно читать, писать, переводить в Z состояние и обратно, вообщем все операции характерные для данного модуля :) От каждого порта(8 бит) по прерыванию(4 ноги процессора с внешними прерываниями)

Требуется информация как такое/похожее сделать, как устроены GPIO у каких-нить микроконтроллеров. Чем лес городить, мож уже все есть?

Интересны примеры на VHDL, или в виде схем под MAX Plus, под какую платформу плис абсолютно не важно.

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


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

Интерфейс внешней памяти зависит от конкретного контроллера/процессора.

Для создания подобных модулей обычно достаточно временных диагамм на запись/чтение по шине данных (в даташите на микроконтроллер).

Смотрите, выявляете причинно-следственные связи (какой сигнал "от контроллера" какой "к контроллеру"). Затем сочиняете тестбенч, имитирующий

работу порта контроллера. К этому тестбенчу пишете модель периферийного ус- ва, чтобы из него можно было действительно читать/писать (по крайней мере в симуляторе).

В общем ничего особенно сложного нет. Всё зависит от того корректно- ли нарисованы временные диаграммы в даташите.

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


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

Шину адреса используете для управления GPIO (если разрядности хватит). Данные гоните по шине данных. Что касается прерываний, то для масштабируемости можно собирать все источники прерываний в одном регитсре, а линию запроса прерывания для процессора использовать всего одну - при этом содержимое указанного регистра передавать по запросу по шине даннных.

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


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

Спасибо за ответы, интересны были в основном различные архитектуры портов, чтоб выбрать оптимальный вариант, требующий от процессора меньше всего телодвижений. Нада чтоб чтение было максимально быстрым.

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


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

Да кстати шина данных+шина адреса есть, но нужны еще и управляющие линии - как минимум строб и запись/чтение (либо oe и we).

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


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

:) Это понятно, что есть.

Есть полностью интерфейс внешней памяти.

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


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

:)

Не забыл, уже все сделанно! И даже работает, и даже как нада!

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


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

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

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

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

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

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

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

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

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

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