Programowanie svf

Dyskusje ogólne na temat "cyfrówki" czyli wszystko o TTL/CMOS, językach VHDL i VERILOG, bramkach, rejestrach, przerzutnikach... Dobre miejsce na pytania odnośnie uniwersalnych programatorów (np. Willem) a także podłączania własnych peryferiów do komputera PC.
ODPOWIEDZ
Awatar użytkownika
michalstec1
Użytkownik
Posty: 202
Rejestracja: 20 kwie 2007, 13:24
Lokalizacja: Jazowsko
Kontakt:

Programowanie svf

Post autor: michalstec1 » 19 maja 2011, 22:37

Witam :)
W związku z tym, że niedługo przesiądę się na laptoka pojawił się u mnie problem programowania bez lpt. Interesują mnie przede wszystkim układy xilinxa, jednak jak zauważyłem, ceny programatorów USB są dość wysokie.
Znalazłem na alledrogo taką aukcję http://allegro.pl/arm-jtag-na-usb-progr ... 74694.html
Jest to programator do armów ale moją uwagę zwróciło zdanie:
Dodatkowo firma Amontec na swojej stronie udostępnia aplikacje pozwalające na programowanie przy użyciu tego JTAGa układów FPGA, CPLD oraz AVR plikami typu SVF
Czy to znaczy że mogę sobie tym programować wszystko do czego da się wygenerować plik svf, bez kupowania różnych programatorów do np. xilinxa, altery, armów itd.?
Próbował tego ktoś? Czy to działa?

Awatar użytkownika
tymon_x
-
Posty: 64
Rejestracja: 14 wrz 2010, 16:48
Lokalizacja: Gdańsk

Post autor: tymon_x » 19 maja 2011, 23:21

To działa z OpenOCD. Próbowałem programować AVR (na próbę), ARM (głównie Cortex) oraz CPLD/FPGA (Xilinx oraz Lattice). Korzystam z układu FT2232C. Co do programowanie AVR, możesz wykorzystać albo AVRDUDE i dostosować VID i PID (można potraktować to jako USBasp, i ładować *.bin, *.hex) lub OpenOcd z formatem *.svf.

Może taki JTAG nie jest najszybszy do debugowania, ale się fajnie sprawdza do ARMv7. Jakiś większych problemów nie zauważyłem. Chociaż czekam na 'oficjalną' obsługę SWD w wersji 0.5.

Co do układów programowalnych, możesz skonfigurować układy CPLD/FPGA za pomocą *.svf lub *.xsvf (format zaproponowany przez Xilinx'a). Ten drugi jest zdecydowanie sprawniejszy, ma zaimplementowaną kontrolę transmisji oraz jest lżejszy bajtowo. Poprawny format *.xsvf otrzymasz za pomocą iMPACTa -batch z *.svf, programikiem o oryginalnej nazwie svf2xsvf.

Ale naprawdę polecam zakup firmowego JTAGa (lub firmowej-podróbki) do programowalnych układów PLD. Do CPLD można znieść z FTDI, ale czas konfiguracji małego FPGA (dla mnie to nawet 1mln bramek), trwa wieczność, przez ten czas wychowasz dzieci i doczekasz się emerytury, zanim dokończy procesu :D

Awatar użytkownika
michalstec1
Użytkownik
Posty: 202
Rejestracja: 20 kwie 2007, 13:24
Lokalizacja: Jazowsko
Kontakt:

Post autor: michalstec1 » 20 maja 2011, 18:56

Dzięki :)
Czyli działa tylko powoli... Być może się skuszę :)
Są jakieś podobne tego typu rozwiązania (np. inne tanie programatory svf)? Jak jeszcze można programować cpld (najlepiej różnych producentów)na lapku bez drogiego programatora?
Czy ma ktoś jakieś doświadczenia z konwerterami usb->lpt (działają?)?
Czy są dostępne schematy firmowych programatorów usb np. xilinxa?

Awatar użytkownika
tymon_x
-
Posty: 64
Rejestracja: 14 wrz 2010, 16:48
Lokalizacja: Gdańsk

Post autor: tymon_x » 20 maja 2011, 22:27

michalstec1 pisze:Dzięki :)
Czyli działa tylko powoli... Być może się skuszę :)
FTDI + OOCD ogólnie to warto. Debugujesz ARM, programujesz AVR, i nada się do dowolnego CPLD. Cierpliwość może wytrzyma małe FPGA typu np. XC3S50 ;)
michalstec1 pisze:Są jakieś podobne tego typu rozwiązania (np. inne tanie programatory svf)?
Z ciekawszych Versaloon, współpracuje z OpenOCD i ma wsparcie dla SWD (małe NXP LPC11xx LPC13xx mają tylko taki interfejs). Oparty o STM32. Ja korzystam osobiście od zarania dziejów z tego: BF30T.
michalstec1 pisze: Jak jeszcze można programować cpld (najlepiej różnych producentów)na lapku bez drogiego programatora?
Patrz wyżej, tanio, uniwersalnie, ale nie efektywnie. Formatów jest kilka jak np. *.jed (JEDEC), ale uniwersalny i wolny jest wektorowy plik svf.
michalstec1 pisze:Czy ma ktoś jakieś doświadczenia z konwerterami usb->lpt (działają?)?
Altera, Lattice, Xilinx, mają Swoje schematy LPT udostępnione w sieci. Nie wiem jak te dwa pierwsze reagują na takie przejściówki, ale Xilinxowy Parallel Cable odpada od razu. Testowane w boju z MosChip. Zostaje stary komp z "prawdziwym LPT" i ładować bitsream czy jed przez LANa z naszej rakiety :D
michalstec1 pisze:Czy są dostępne schematy firmowych programatorów usb np. xilinxa?
Klon USB Blaster Altery jest znany. Do Xilinx'a możesz nabyć Digilentowy JTAG za około 40$.

Awatar użytkownika
michalstec1
Użytkownik
Posty: 202
Rejestracja: 20 kwie 2007, 13:24
Lokalizacja: Jazowsko
Kontakt:

Post autor: michalstec1 » 21 maja 2011, 13:14

A jak dokładniej wygląda programowanie cpld przez FTDI? Czy openocd ma taką funkcję czy potrzebne jest jeszcze oprogramowanie amontec?
Z tego co wyguglałem to podróba xilinxa kosztuje ok. 160zł a altery ok. 100zł, więc chyba zostanę przy starym kompie z lpt :)

Awatar użytkownika
tymon_x
-
Posty: 64
Rejestracja: 14 wrz 2010, 16:48
Lokalizacja: Gdańsk

Post autor: tymon_x » 21 maja 2011, 20:25

michalstec1 pisze:A jak dokładniej wygląda programowanie cpld przez FTDI? Czy openocd ma taką funkcję czy potrzebne jest jeszcze oprogramowanie amontec?
Wszystko masz tutaj: OpenOCD.
Ściągasz i go kompilujesz pod Swój sprzęt. Albo pod Swój JTAG albo FTDI. Odpowiednie opcje znajdziesz w readme. Windowsowscy muszą użyć czegoś zgodnego z unixowymi komendami jak MinGW (make i te sprawy). Co do jego obsługi więcej w manualu: 18 Boundary Scan Commands. Odpalasz OpenOCD z odpowiednią konfiguracją (-f *.cfg), która określa sprzęt oraz JTAG albo FTDI w jego roli (prędkość clk JTAGa itp.). Później jest Ci potrzebny klient, jak np. telnet który połączy z OOCD i wyda mu odpowiednie komendy jak np. svf czy xsvf. Nie ma żadnej innej ukrytej filozofii w tym.
michalstec1 pisze:Z tego co wyguglałem to podróba xilinxa kosztuje ok. 160zł a altery ok. 100zł, więc chyba zostanę przy starym kompie z lpt
Xilinx ma osobne narzędzia Programming Tools. Instalujesz na starej maszynie i odpalasz programik, który łączy się z iMPACTem na Twojej rakiecie i załaduje konfiguracje do CPLD/FPGA w trybie remote control (przez np. LAN). Więc można go w systemie ustawić, żeby na początku startu się odpalał.

Możesz też teoretycznie załadować konfiguracje układów innych firm, będą widziane jako Unkown Device w łańcuchu. Potrzebny jest tylko Ci BSD danego urządzenia, które można lub nie, zdobyć lub wygenerować z narzędzi danego producenta lub po prostu ściągnąć z strony.

ODPOWIEDZ