Witam,
chcialbym podlaczyc interfejs USB2.0 CY7C68013 (dalej skrotowo zwany CY) do FPGA Cyclone. Bedzie on mial dwa zadania do zrobienia:
a) bootowanie FPGA w trybie passive serial; b) pelnienie roli sprzegu z komputerem.
Ad a: obraz konfiguracyjny dla FPGA bedzie pochodzil z 16-megabitowej pamieci DataFlash Atmela (ile razy mozna ja zapisywac?) lub zostanie pobrany przez USB. Czy moge podlaczyc pin nSTATUS w FPGA do pinu RESET w CY, by podczas bledu w konfiguracji FPGA automatycznie zresetowalo mi CY? Po drugie: prawdziwa zawartsc pamieci CY tez zostanie pobrana z DataFlash, potrzeba wiec tylko malego EEPROMu z bootloaderem. Czy pamiec 24LC04 moze zostac uzyta do tego celu? Niestety PDF nic o niej nie wspomina, "przeskakujac" rozmiary posrednie pamieci 24xx, a ja akurat mam 04.
Ad b: informacja ma plynac w obu kierunkach. Jesli FPGA ma cos do wyslania, to zapisuje dane do FIFO w CY. Jezeli CY cos odbierze, to ma o tym powiadomic FPGA, ktora nastepnie przeniesie dane do SDRAMu. W jakim trybie pracy CY najlepiej zrealizowac polaczenie: master synchroniczny, slave synchroniczny, czy slave asynchroniczny? Moge wygenerowac w FPGA zegar 32,5MHz dla IFCLOCK CY, o ile jest taka potrzeba, ale troche szkoda mi PLLa. Z kolei uzycie zegara 30MHz generowanego przez CY moze spowodowac pewne problemy z synchronizacja w FPGA, chyba, ze uzyje wewnetrznego RAMu M4K na FIFO do dosynchronizowania transferu. Czy ktos ma moze jakis sprawdzony przyklad podlaczenia CY do FPGA, bym nie musial ponownie odkrywac kola?
Pozdrawiam Piotr Wyderski