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

Шина данных через ПЛИС

Добрый день.

 

Есть необходимость подключить к микроконтроллеру(МК) Compact Flash, USB хост VNC1L и NAND Flash. Управляющая логика реализуется на ПЛИС.

Интерфейс МК с ПЛИС (и периферией) как со стандартной XRAM. Подскажите как лучше заводить шину данных: через ПЛИС или в обход? (ног на ПЛИС хватает).

Может быть кто-нибудь встречал что-то подобное, если не трудно дайте плиз ссылку.

 

Заранее спасибо!

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


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

Я завожу через ПЛИС, чтобы выровнять задержки, даже если управляющая логика комбинаторна. А если в управляющей логике есть триггеры - то это и вовсе необходимо.

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


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

Спасибо. А еще вопросик можно?

Я развожу первою плату под ПЛИС, поэтому хотелось бы узнать есть ли разница на какие ноги ПЛИСки заводить/выводить

шину данных/адреса. Если биты шины будут попадать в разные функциональные блоки - можно их будет без проблем скомутировать или же обязательно заводить всю шину на 1 функциональный блок (или рядом расположенные)? ПЛИС CoolRuner (XCR3128XL).

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


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

Дам несколько советов по применению CoolRuner:

1. У XPLA3 только один Universal OE - т.е. только одна линия глобального OE синхронно поступающая на любые OBUFT в любых функциональных блоках. Если необходимо иметь 2 "широких" шины с независимыми OE, то одну из этих шин желательно расположить в одном функциональном блоке. Наиболее разбросанная по различным функциональным блокам шина с третьим состоянием быдет управляться через Universal OE, остальные через локальные Control Term.

2. Прочитайте XAPP310 - Power-Up Reset Characteristics of CoolRunner XPLA3 CPLDs.

3. Прочитайте XAPP342 - XPLA3 I/O Cell Characteristics. Как это ни странно, но в этом документе более полно освещена архитектура линий управления XPLA3. Обратите внимание, что одновременно только 2 GCLK могут заходить в один функциональный блок.

4. Входные ножки Вы можете располагать практически в любом месте кристала - на входную задержку это не оказывает никакого влияния (входной сигнал сразу попадает в ZIA, ну или фиксируется в Fast Input триггере и всё-равно пападает в ZIA).

5. Особыми ножками в XPLA3 являются только GCLK, только с этих ножек CLK может попасть в линии Global Clock. Если четырёх независимых CLK нет, то можно использовать эти ноги, как обычные входы. Но неиспользуемые GCLK ножки необходимо подтянуть к питанию.

6. XPLA3 имеет в ножках ввода/вывода неотключаемай Half Latch. Эта заморочка уже обсуждалась на форуме не более года назад.

7. Если есть возможность, то наверное лучше использовать CoolRunner II - он дешевле, жрёт (греется) меньше и работает быстрее, имеет больше PT и входов в каждом функциональном блоке, не имеет HalfLatch, может работать с несколькими стандартами ввода/вывода одновременно (например LVTTL и LVCMOS25); но не имеет 5V толерантности, требует 2 разных номинала питания (1.8В для ядра и питание выходных буферов) и имеет обычные для CPLD линии управления (т.е. более убогие чем XPLA3).

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


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

Спасибо. Стало более-менее понятно. На выходных набросал примерную схемку в ISE, вроде никаких проблем не обнаружилось. Осталось только симулировать и можно запускать.

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


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

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

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

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

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

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

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

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

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

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