Я разобрался с чтением из FIFO, подключенным к Авалон ММ:
В редакторе нового компонента создал компонент с сигналами:
clk
readdata[7..0]
read
address[1..0] - вывел, но не использовал.
Файлы описания не подключал и SOPC билдер вывел эти сигналы наружу из процессора.
Еще указал в свойствах интерфейса:
Все времена задержек = 0
и в Deprecated параметрах указал тип адресации NATIVE а не DYNAMIC.
Если этого не сделать то при 8-битной шине будут проводится 4 чтения подряд.!!!
Сам интерфейс чтения у FIFO должен быть: Show-ahead sinchronouse FIFO mode.
Тактовая частота та же, что и для процессора.
Таким образом заработало.
Теперь добиваю запись в FIFO...
-------------------------
Подскажите еще:
Если тип адресации DYNAMIC, то как при 8-битной шине данных избежать 4-х кратного чтения.
Для записи вроде сигнал byteenable[] должен помочь.
Или выводить шину address[1..0] и строить дешифратор для доступа к младшему байту.
Или я вообще ни разу не прав?????
Всем откликнувшимся громадное спасибо!!!
Цитата(Sergey'F @ Aug 7 2009, 16:08)

1. Периферийный модуль может тактироваться любым клоком...
2. В Вашем случае стоит посмотреть в сторону Avalon-ST и компонент типа Avalon-ST Dual Clock FIFO.
3. Если лень разбираться с Avalon-ST, то можно посмотреть примеры и сделать периферийный модуль на Avalon и в нем обратиться к FIFO. Там внутри и с разрядностью разберетесь как надо.
1. Этого не требуется
2. К сожалению переход между Avalon-ST и Avalon-MM остался выше моего понимания.
Я так понял, нужно ставить Scatter-Gather DMA и все равно делать свой компонент для вывода сигналов Avalon-ST наружу из процессора.
Это мне кажется слишком сложно для обработки изредка приходящих команд управления.
3. Avalon-ST Dual Clock FIFO все равно никак не подключается к шине Avalon MM.
А мне надо, чтобы NIOSII получал эти байты команд...
Спасибо за советы
Цитата(torik @ Aug 7 2009, 15:52)

Для записи надо напрямую подключить данные шины авалон на вход FIFO, а в качестве сигнала записи - datavalid. В шину выдать сигнал готовности при необходимости (переполнение фифо).
Для чтения по аналогии.
А как быть с таймингами?
Для dcfifo запись/чтение производится по положительным перепадам clk.
rdreq/wrreq являются только сигналами разрешения.
Пока они активны с каждым перепадом будет запись/чтение.
А для чтения FIFO отдельная заморочка с выдачей данных...