Цитата(des00 @ Apr 14 2008, 05:43)

ИМХО разработчиков нужно трясти, зачем для 48 МГц блочка они использовали 200МГц тактовую. Там на 200МГц может быть работает только 1 КА. а все остальное в мультицикле или сигналами enable разруливается, но исе то об этом не знает...
ЗЫ. А режим то усб микрухи какой ? асинхронный или синхронный ?
Вот что ответил разработчик (дословно из письма):
. Для согласования двух разно скоростных потоков данных необходимо учитывать следующие их характеристики.
- Средняя интегральная мощность потоков, которая характеризуется средней скоростью передачи за время сеанса.
- Максимальная мощность потоков , которая характеризуется скоростью обмена при передачи одного непрерывного пакета
- Временем между двумя соседними пакетами.
В нашем случае поток данных от CCD матрицы практически равномерный и имеет мощность < 6* 16 Мбит/сек (с учетом межстрочных интервалов около 85 Мбит/сек ).
Контроллер USB в выбранном режиме работы ”balk” передает данные пакетами по 512х 16 бит на частоте чуть ниже 24 МГц, то есть с мощностью около 380 Мбит/сек. Но при этом между пакетами существуют временные интервалы, которые зависят от загрузки HOST контроллера. При моно связи они снижают производительность в два раза и средняя скорость становиться равной около 200 Мбит/сек. Существует еще один вид пакетирования верхнего уровня - данные принимаются программой обработки блоками по 32 000 шестнадцатиразрядных слов, после чего происходит их обработка до следующего приема. Это интервал обработки является самым критичным. Его время напрямую зависит от мощности используемого компьютера и его загрузки. В этом случае для передачи полного потока надо выбрать согласующее FIFO (в нашем случае внутренне FIFO ПЛИС), которое бы не успело переполниться за время интервала обработки.
В том проекте, который вам передан FIFO - 4096 х 16 бит будет заполнено за 680 мкс. На имеющихся у нас компьютерах с тактовой частотой 1.7 ГГц программа успевает выполнить обработку между принимаемыми блоками.
З.Ы. Маленькое пояснение к тексту. Это USB канал используется для передачи изображения с CCD матрицы (1002*1004), которая тактируется 6МГц.
З.Ы. З.Ы. Почитав книгу Агурова "Интерфейс USB Практика использования и программирования" на мой взгляд здесь более подходит изохронная передача.
К сожелению пока код выложить не могу (начальство не разрешает).
О том что код написан корректно я засомневался сразу, а здесь еще и:
WARNING:PhysDesignRules:372 - Gated clock. Clock net
u4_usb_data_controll/_cmp_eq0000 is sourced by a combinatorial pin. This is
not good design practice. Use the CE pin to control the loading of data into
the flip-flop.
WARNING:PhysDesignRules:372 - Gated clock. Clock net
u4_usb_data_controll/_not0011 is sourced by a combinatorial pin. This is not
good design practice. Use the CE pin to control the loading of data into the
flip-flop.
Спасибо des00