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

помогите с выбором ПЛИС

:help: необходимо организовать внешнюю логику , а конкретнее:

имеется микроконтроллер (16 разрядная шина данных) - необходимо организовать передачу и приём в устройство с 64разрядной шиной

Заранее благодарен за совет

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


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

4 регистра-защелки вешаете на свою 16р шину, входы клоков-на 4 дополнительные ноги мк.

Классика жанра.

 

Так... ещё и приём...

 

тогда двунаправленные буферы и ещё одна нога мк на DIR

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


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

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

 

Только понадобятся и регистры (с третьим состоянием), и буферы, так как наверняка записывать все 64 разряда параллельно надо. А читать можно и по 16 бит. Только вот реализовать это хозяйство лучше программно, иначе понадобится гораздо больше обвески.

Работать это будет просто:

Запись - заполнение четырёх регистров, вывод их из третьего состояния, формирование сигналов записи в 64-разрядное устройство, опять выходы регистров в третье состояние.

Чтение - установка сигналов чтения 64-разрядного устройства, последовательное чтение четырёх буферов (у каждого своя выборка), снятие сигналов чтения.

 

Схема:

К 16-разрядному порту - входы регистров параллельно и выходы буферов параллельно. К 64-разрядному устройству - выходы регистров и входы буферов.

 

А вот если у контроллера "16 разрядная шина данных" действительно шина данных, а не двунаправленный порт, то внешняя логика ещё разрастётся. Можно использовать ещё две линии адреса (добавить младшие). Тогда логика будет такая:

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

При записи - три младших слова запоминаются в регистрах, а по четвёртому все 64 бита записываются в устройство.

Где-то так. :)

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


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

Если речь идет об Altera-овских FPGA, то можно использовать FIFO с различной разрядность шин данных (16 <-> 64). Я этим пользовался вполне успешно для преобразования 128 <-> 32 в одном из проектов N лет назад на Stratix-е. Не знаю есть ли что-то подобное у Xilinx, у Actel - точно нет.

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


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

Здравствуйте!

Мне необходимо выбрать ПЛИС для решения следующей задачи:

необходимо принять данные из 8 разрядного двунаправленного порта , передать их на устройство с 64 разрядной шиной данных через которое они идут транзитом и данные , уже прошедшие через устройство обратно в порт

Если у кого есть решения по этому поводу - помогите , оочень надо!

заранее благодарен за помощь!

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


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

Если восьмиразрядная шина - это ISA, а 64-разрядная - PCI-X, то нужен Virtex-5LXT или Arria-GX. А если это просто шины - то CPLD в большом будет достаточно. Так что уточните задачу, чтобы получить точный ответ.

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


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

двунаправленный 8 разрядный порт и 64 разрядная шина данных
Вам уже указали что это неполные данные. У двунаправленного порта долен быть как минимум сигнал, управляющий направлением передачи. И на шине данных тоже какие-то управляющие сигналы. Это раз. Во-вторых, какие частоты преполагаются? В-третьих, какие уровни сигналов на этих шинах? В-четвертых, данные нужно передавать синхронно или ПЛИС еще должна выполнять м функцию буфера-синхронизатора обмена?

Если хотите качественный ответ/совет получить, то не играйте в партизанов - сообщайте более полные и подробные исходные данные.

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


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

модуль WoodmanUSB((2 FIFO буфера (входной и выходной). Размер каждого составляет 1024 Байта )) имеет двунаправленный порт , сигналы управления направлением передачи : PB_RD и PB-WR - Линия чтения данных порта и линия записи данных порта соответственно.

При изменении входного уровня с высокого на низкий происходит установка на линии данных порта PORTB текущего байта из входного FIFO буфера модуля (данные из компьютера - IN_FIFO). Теперь возможно чтение этого байта. При переключении обратно на высокий уровень, линии данных возвращаются в исходное состояние, а во входном буфере становится готовым для чтения следующий байт (епри его наличии). При изменении входного уровня с высокого на низкий происходит чтение модулем текущих состояний линий данных порта PORTB и запись полученного байта в выходной FIFO буфер модуля (OUT_FIFO).

PORTB_FF -- (FIFO FULL) Если уровень на этом выводе становится низким, это означает что драйвер не успевает транспортировать данные из модуля при их передаче от внешнего устройства в компьютер через PORTB. Необходимо приостановить передачу данных, пока уровень не вернется в свое исходное состояние - высокий.

PORTB_FNE -- FIFO not EMPTY) Если уровень на этом выводе становится высоким, это означает что компьютер начинает передачу данных и в буфере модуля есть доступные данные для чтения через порт PORTB. Уровень сохраняется высоким, пока IN_FIFO буфер не будет прочтен полностью. При отсутсвии данных уровень низкий.

 

Частоты - 30 либо 48Мгц - синхронный режим работы модуля с внутренним тактированием

на шине данных управляющих сигналов нет

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


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

Woodman USB говорите? Ну с одной стороны EZ-USB от Кипариса, там сигналы 3.3В, но толерантные по входам к 5В уровням - с этим разобрались. Теперь с другой стороной давайте разбираться. Что это за такая 64-разрядная шина данных, не имеющая сигналов квитирования? Просто сигналы ввода и/или вывода что ли? Что к ним или к чему она будет/должна подключаться?

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


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

Сергей s7, даже если вы и не издеваетесь, то вы явно нарушаете п.3.2 Правил форума, создав два сообщения по одной и той же теме. :twak:

http://electronix.ru/forum/index.php?showtopic=48085&hl=

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


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

Woodman USB говорите? Ну с одной стороны EZ-USB от Кипариса,

 

а почему против WoodmanUSB? какие с ним проблемы?

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


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

ок, я понял!

а по поводу издевательств - это зря

Вы сами видите, что подходы к решению задачи различные

если нужно одну тему можно заблокировать

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


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

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

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

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

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

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

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

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

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

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