Цитата(pil @ May 15 2012, 12:11)

2. как принято осуществлять обмен FPGA<->CPU.
Объем данных на выход ~50 байт CPU->FPGA (с высокой скоростью)
на вход ~100-200 байт FPGZ->CPU (скорость не критична)
Если SPI по скорости подходит то он удобен. Помотрите макс скорость SPI вашего контроллера.
Если нет то можно попробовать сделать параллельную передачу. Соединяете контроллер с FPGA 11 проводами. Из них 8 проводов данных - двунаправленные. И 3 провода управления - от контроллера в FPGA.
Один провод управления - инициализация обмена. Контроллер даёт импульс, что сигнализирует начало нового обмена.
Ещё один провод - запись. Контроллер выставляет байт данных на 8 проводов данных и даёт импульс записи. Следующий байт передать - ещё раз все проделать.
И ещё один провод - чтение. Контроллер высталяет 1 на этом проводе. Тогда FPGA выставляет байт данных, контроллер его берёт. И после этого контроллер выставляет 0 на проводе чтения. И тоже следующий байт передать - ещё раз все проделать.
В таком случае скорость передчи ограничена скоростью ногодрыга контроллера делить на 3.
На всякий случай поставьте последовательные резисторы во все провода между контроллером и FPGA, чтобы не сгорели при конфликте, например 220 Ом. И заложите несколько запасных проводов между контроллером и FPGA, напрмер прерывания завести или ещё-что нибудь может понадобиться потом.