Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Co do nauki VHDL i układów programowalnych? Zestaw uruchomieniowy.

ety 17 Apr 2014 21:59 3804 29
  • #1
    ety
    Level 14  
    Jak w temacie. Co polecacie? Myślałem o którymś z tych dwóch:

    http://www.kamami.pl/index.php?ukey=product&productID=185125 [CPLD]
    http://www.kamami.pl/index.php?ukey=product&productID=185127 [FPGA]

    Mam starą płytkę z AVT z układem Xilinxa, ale niestety nie działa na nowym sprzęcie, bo posiada port LPT. Ja aktualnie posiadam sprzęt z portami USB 3.0 i RS232, a niestety adapter USB-LPT nie spełnia swojej roli.
  • #2
    Ch.M.
    Level 27  
    Witaj,
    żadne z powyższych - mam CPLD z ksążką i o ile samo CPLD jest ubogie ale kilka programów edukacyjnych można napisać, o tyle książka jest... po prostu cienka - przynajmniej w mojej opini - początkującego.
    Jako źródło wiedzy to najlepsza jest strona fpga4fun gdzie są opisane fajne przykłady.
    Jeśli chodzi o sprzęt to myślę że coś na poziomie SPARTAN 6. Mam też takowy - XC6SLX9-3 ale tylko 144piny. Brak kontrolera pamięci doskwiera także.

    Buduję mocniejszy zestaw z pamięćią DDR3, wejściami HDMI, w formacie PCIe + możliwość pracy poza złączem, ETHERNET, LEDami, switchami, może jakieś SATA, i sporo wolnych pinów. Na pokładzie będzie XC6SLX45T-2 (prawdopodobnie fg484c).
    Całość ze zmontowaniem szacuje, że zamknie się w kwocie 100$.
    Programator na USB to koszt 25$.

    Jeśli coś gotowego to np. Nexys3 EDU.

    Pozdrawiam
  • #3
    tplewa
    Level 39  
    Ch.M. wrote:
    Na pokładzie będzie XC6SLX45T-2 (prawdopodobnie fg484c).
    Całość ze zmontowaniem szacuje, że zamknie się w kwocie 100$.


    Podaj namiary gdzie tak tanio zamawiasz PCB wielowarstwowe ? Ja zamawiam w Chinach ale cos takiego w 100$ bym nie zmiesil (jak zamawiasz mala serie) ;) do tego jak z jakoscia ? Zwlaszcza ze sam Xilinx to okolo 80$... no moze jak sie u chinoli poszuka to z 50$... Na prawde ciekawa ta kalkulacja
  • #4
    Ch.M.
    Level 27  
    FPGA 45$ z przesyłką
    pamięci DDR3 ok 3,5$/sztuka (1Gbit)
    złącza rózne ok 5$ (z szuflady)
    PCB będzie faktycznie najdroższe, przy kilku sztukach w 50$ się zmieszczę, przy jednej nie :) Duży wpływ na cenę ma ilość warstw. Szacuję, że na 4 się zmieszczę bo czas mnienie goni i spokojnie będę routować.

    Robiłem estymacje na euro circuits i wychodzi ok:
    1sztuka z wysyłką: 80E
    2sztuki z wysyłką: 110E
    3sztuki z wysyłką: 125E
    4sztuki z wysyłką: 133E

    Są tańsi wykonawcy...
  • #5
    ety
    Level 14  
    Niegłupi pomysł z tym "homemade". Tylko, że stworzenie czegoś takiego wydaje mi się trudniejsze, niż w przypadku mikrokontrolerów, np. AVR.
  • #6
    tplewa
    Level 39  
    Ja sie obawiam ze przy XC6SLX45T-2 fg484c 4 warstwy to bedzie malo, a przy 4 warstwach takie PCB to 160-200 euro (zamawiajac w chinach) dla 1-10 plytek... (lepiej brac 10 bo cena praktycznie ta sama ;) ) (liczylem dla plytki 5x5cm)
    Chyba ze masz namiary gdzie maja taniej i nie spiernicza takiej plytki... Dlatego pytam bo jak masz jakas sprawdzona firme gdzie robia za taka kase to bede wdzieczny, czasami robie projekty na 4-8 - a dla prywatnej kieszeni to kazdy grosz oszczednosci jest wazny.
  • #7
    Ch.M.
    Level 27  
    Tak, wykonanie prawidłowych połączeń z DDR3 nie jest proste. Dobry przykład to mobo PC. Dobra płyta daje możliwość OC. Kiepska nie.

    Farnell reklamuje euro circuits. Ceny są dosyć przystępne jak na możliwości. W zasadzie wychodzi taniej niż od polskich producentów. Jakość też ponoć dobra. Jeszcze nie testowałem ale chyba nie będzie wyjścia.
    Technoservice też ma podobne ceny.

    Co do laminatu to sama pamięć ma ok 24 piny danych (krytyczne) i połowe tego sygnałowe (mniej krytyczne) Reszta to zasilanie. 6 linii dla PCIe (krytyczne) i reszta dla HDMI (mniej krytyczne) Jestem optymistą :)
  • #8
    tplewa
    Level 39  
    Faktycznie ceny przyzwoite nic tez chyba przetestuje bo mozna jechac mocno z cena zmieniajac termin wykonania, a w hobby za zwyczaj sie nie "pali" wiec i mozna poczekac :)

    Wracajac do projektu i tych 4 warst to jest prawie 500 kulek i szybkie magistrale (gdzie dla takiej obudowy 4 warstwy to minimum) :) dlatego nie bedzie latwo 4 warstwy to ja pcham pod male BGA lub zwykle LQFP jak sa szybsze magistrale.
    Ja bym bardziej celowal w 6 warstw (bedze latwo)... no chyba ze masz duza praktyke w projektowaniu to mozna probowac na 4...
    Zreszta ja jestem raczej kiepski w projektowaniu PCB wiec wole sobie robic cos z sporym marginesem bezpieczenstwa he he :)

    Jak to pierwszy projekt na kilku warstwach to na prawde bardzo ambitnie :)
  • #9
    Ch.M.
    Level 27  
    Tak wielowarstwowa to pierwszy raz...
    Dużo informacji można znaleźć tutaj: http://blog.live.altium.com/#Blogs/route-ddr3-memory-and-cpu-fan-out

    Szkic projektu
    Co do nauki VHDL i układów programowalnych? Zestaw uruchomieniowy.

    Baza to HALF PCIe, sam moduł zajmie 60x90mm. Jeszcze nie wiem ile kości DDR wrzucę.

    Tutaj mam pytanie: czy jedna kość DDR3 będzie w stanie obsłużyć zapis z dwóch HDMI (373MB/s) i do tego odczyt symultaniczny. To nie GDDR w końcu :)
    Zależy mi na tym by np podzielić monitor na część górną i dolną (wejście 1 i 2). Rozumiem, że muszę zsymchronizować ze sobą dwa strumienie (czyli w najgorszym przypadku zbuforować cała jedną klatkę) Czy pamięć DDR3 16bit wyrobi się z zapisem i odczytem?
  • #10
    _coder
    Level 12  
    zadaj sobie pytanie na jakim poziomie jesteś? i czy te płytki są tobie już potrzebne? miałeś już dłuższe doświadczenie z vhdl? czy to tylko zachcianka? niestety vhdl to nie programowanie w c to już nie jest takie proste.
  • #11
    michalko12
    MCUs specialist
    DDR3 i PCIe na 4 warstwach? Powodzenia.... Obawiam się, że nawet na 6 warstwach się tego nie da zrobić tak żeby działało stabilnie.
  • #12
    ety
    Level 14  
    _coder wrote:
    zadaj sobie pytanie na jakim poziomie jesteś? i czy te płytki są tobie już potrzebne? miałeś już dłuższe doświadczenie z vhdl? czy to tylko zachcianka? niestety vhdl to nie programowanie w c to już nie jest takie proste.


    Wiem czym się różni np. język C od języku opisu sprzętu jak VHDL czy Verilog, wiem, że nie polega to na programowaniu, tylko tak naprawdę na konfiguracji struktury wewnętrznej układu. Doświadczenie mam na pewno niewielkie, ale w takim razie co innego proponowałbyś w kwestii układów programowalnych? Od samego patrzenia na kod w VHDLu czy zdjęcie układu wiedzy też nie przybędzie.
  • #13
    Mat_91
    Level 25  
    @Ch.M.
    Jak już koledzy wspomnieli wcześniej dobrze przemyśli sobie te 4 warstwy. Głównie ze względu na PCI.

    Zobacz sobie na projekt Olinuxino, opensource-openhardware. Przykładowo dla Olinuxino-A10, wielkość karty kredytowej, z procesorem 1.2GHz, 512MB ddr3, sata, HDMI itp jest to 6 warstw bardzo gęsto upchanych a to tylko procek 336pinów i nie ma PCIe.

    Ogólnie życzę powodzenia i bardzo chętnie zobaczę efekty twojej pracy :)
  • #14
    gaskoin
    Level 38  
    Co do płytek - myślałeś o de0-nano ? W polsce niestety jest,nie wiedzieć czemu, strasznie droga, ale na zagranicznych portalach aukcyjnych można ją kupić za normalną cenę.
  • #15
    tplewa
    Level 39  
    michalko12 wrote:
    DDR3 i PCIe na 4 warstwach? Powodzenia.... Obawiam się, że nawet na 6 warstwach się tego nie da zrobić tak żeby działało stabilnie.


    Tu nie ma sie co obawiac, trzeba wstepnie pociagnac magistrale i przesymulowac. Bedzie wiadomo na czym sie stoi ;)

    Na 4 to jak pisalem marnie to widze to jest takie minimum by z takiego bga cos sensownie wyprowadzic.... Ja bym zaczynal od 6 i zobaczyl jak to bedzie wygladac. Owszem mozna 8 ale wlasnie to "ale" - tutaj dodawanie warstw podnosi zawsze znacznie cene PCB. Choc trzeba by pogadac z kims kto ma duza praktyke w projektowaniu PCB pod takie uklady, bo tutaj cholernie licza sie lata praktyki (doswiadczenie). Osobiscie pierwsza plytke 4 warstwowa spitolilem i jakies 1.5k zl poszlo w piach...

    Na poczatek polecan (juz ktorys raz tutaj) "High Speed Digital Design: A Handbook of Black Magic" (Howard Johnson, Martin Graham) - nazwa mowi sama za siebie ;) a i tak ta teoria nie gwarantuje sukcesu ;) co odczulem na wlasnym portfelu ;) Jednak IMHO to jest lektura obowiazkowa :)
  • #16
    Ch.M.
    Level 27  
    Mat_91 wrote:
    @Ch.M.
    Jak już koledzy wspomnieli wcześniej dobrze przemyśli sobie te 4 warstwy. Głównie ze względu na PCI.

    Zobacz sobie na projekt Olinuxino, opensource-openhardware. Przykładowo dla Olinuxino-A10, wielkość karty kredytowej, z procesorem 1.2GHz, 512MB ddr3, sata, HDMI itp jest to 6 warstw bardzo gęsto upchanych a to tylko procek 336pinów i nie ma PCIe.

    Ogólnie życzę powodzenia i bardzo chętnie zobaczę efekty twojej pracy :)


    Dziękuję.
    Siedzę w sprzęcie od kilku lat. Nie robie złącza PCI tylko PCIe. Zasadnicza różnica to sygnały są różnicowe (w HDMI także) i mogą być znacznie dłuższe niż przy DDR3. Myślę, że pociągnięcie 3 par sygnałów nie jest wyzwaniem :) Problemem jest połączenie pamięci DDR3.
    Nikt się nie pofatygował by otworzyć link który podałem... To że ktoś zrobił na 6, czy więcej warstwach to na pewno dlatego by to zrobić szybciej i pewniej a także mógł dbać o EMC. Wielkość procka ma znaczenie... im większy tym łatwiej łączyć, a to jest BGA w rastzre 1mm czyli największym z dostępnych w tej rodzinie. Przy odrobinie wprawy ciągnie się ściezki (DDR3)przez złącze (w PC) i też taka pamięć działa. Nie widzę dużych obaw jeśli ścieżki będą krótsze niż 1 cal :)

    _coder wrote:
    zadaj sobie pytanie na jakim poziomie jesteś? i czy te płytki są tobie już potrzebne? miałeś już dłuższe doświadczenie z vhdl? czy to tylko zachcianka? niestety vhdl to nie programowanie w c to już nie jest takie proste.

    Nie przejmuj się językami konfigurowania. Nauka szybko idzie a języki są niestety opisem sprzętu. Tak jak opisując obraz musimy zużyć dużo słów tak samo opisując sprzęt trzeba sporo zmiennych. Polecam wstawianie gotowych bloków w schematicu i drążenie ich opisów. Xilinx ma bardzo dobry help i sporo przykładów. Można też wyeksportować zapis vhdl/verilog do schematów(RTL). Wtedy analiza programów jest bardzo łatwa. W ten sposób dla mnie nauka konfigurowania FPGA jest łatwa i przyjemna. Polecam tę metodę do nauki.
  • #17
    tplewa
    Level 39  
    @Ch.M.

    Problemem przy 4 warstwach jest to by upchac "harmonie" na magistrali do DDR3 i pod nimi mase i calej reszty by bylo zgodnie z sztuka, jak to olejesz bedzie owszem dzialac... ale moze wyjsc na to ze pakowanie DDR3 mija sie z celem bo nie osiagniesz wymaganej czestotliwosci pracy. Mimo takiego rastra jak zaczniesz projektowac zobaczysz ze zrobi sie tam cholernie ciasno (odsprzegajace C nawet w 402 tez troche zajma miejsca) ;) i o to glownie tutaj chodzi :) Dlatego polecam raczej 6 warstw jak to twoje pierwsze doswiadczenie z takimi PCB... no chyba ze chcesz sie uczyc tak jak ja na swoim portfelu ;) Zreszta jak mowilem zaprojektuj odpal choc by signal integrity w Altium i zobaczysz jak to wyglada ;)

    A jeszcze tak wracajac do pamieci nie myslales by dac GDDR ? W sumie mozna dorwac z wylutu (z jakis kart graficznych) - reball i mozna sie bawic :) Przewaznie na uwalonych pamieci sa akurat ok wiec mozna tanio kupic...
  • #18
    _coder
    Level 12  
    kolega jest początkujący, dla niego i jego chęci do nauki lepsze będą płytki z efektami wizualnymi :D(są większe chęci do działania), jakieś złącze do monitora itd. na początek jak czujesz że vhdl to będzie, to nad czym będziesz siedział nocami to bierz de0 nano albo Basys2-100 ten drugi ma gorsze parametry ale ma złącze vga, jak masz zdolności manualne do bierz de0 nano i resztę sobie dorobisz.
  • #19
    ety
    Level 14  
    Myślę, że de0 byłoby rozwiązaniem, jeśli mam coś samemu "dorabiać", to nie ma problemu :D Czy będę nad tym siedział nocami? Hmmm... czasem też trzeba się wyspać, ale akutalnie właśnie zagadnienia typu uC, układy programowalne czy DSP są w kręgu moich zainteresowań. Daleka przede mną droga, ale każdy kiedyś zaczynał.
  • #20
    TWl
    Level 21  
    michalko12 wrote:

    DDR3 i PCIe na 4 warstwach? Powodzenia.... Obawiam się, że nawet na 6 warstwach się tego nie da zrobić tak żeby działało stabilnie.

    Da się: http://www.ohwr.org/projects/spec/wiki.

    tplewa wrote:
    Problemem przy 4 warstwach jest to by upchac "harmonie" na magistrali do DDR3.

    Do tego dochodzi jeszcze zasilanie (co najmniej 3 napięcia: 2.5/3.3 V dla HDMI, 1.2 V dla core'a FPGA, 1.5 V dla DDR3). Łatwo na pewno nie będzie. Przy typowym układzie 4 warstw (sygnał-power-gnd-sygnał) musisz też uważać żeby szybkie sygnały były poroutowane bez przecinania power plane'ów (bez nieciągłości) i upakować sporo kondensatorów filtrujących pod FPGA i DDR3.

    Quote:
    A jeszcze tak wracajac do pamieci nie myslales by dac GDDR

    ZTCW kontroler pamięci w Spartanach 6 nie obsługuje GDDR.

    Mat_91 wrote:

    Zobacz sobie na projekt Olinuxino (...) jest to 6 warstw bardzo gęsto upchanych a to tylko procek 336pinów i nie ma PCIe.

    Szacun, zaprojektować taką płytkę w Eagle ;)

    Ch.M wrote:

    czy jedna kość DDR3 będzie w stanie obsłużyć zapis z dwóch HDMI (373MB/s) i do tego odczyt symultaniczny.


    Teoretycznie tak, przy maksymalnym zegarze (MCB wyciąga do 1.6 GB/s przy 16-bitowej magistrali i 400 MHz), zakładając liniowy odczyt i zapis. W praktyce byłbym ostrożny, wszystko zależy od tego w jaki sposób zapisujesz/odczytujesz dane. Ja bym dał 2 scalaki DDR podłączone do dwóch kontrolerów :)

    Pozdr,
    TWl
  • #21
    tplewa
    Level 39  
    TWl wrote:

    Quote:
    A jeszcze tak wracajac do pamieci nie myslales by dac GDDR

    ZTCW kontroler pamięci w Spartanach 6 nie obsługuje GDDR.

    Pozdr,
    TWl


    A tego to ja nie wiem :) zabawe z Xilinx-em zakonczylem na plytce "altium livedesign evaluation board" z Spartanem 3 :) nie mam pojecia co teraz jest tam dostepne... Ja tam sie bawie malymi Alterami teraz bardziej bez wiekszych ambicji :) ot tak troche w strone USRP :)
  • #22
    Ch.M.
    Level 27  
    tplewa wrote:
    TWl wrote:

    Quote:
    A jeszcze tak wracajac do pamieci nie myslales by dac GDDR

    ZTCW kontroler pamięci w Spartanach 6 nie obsługuje GDDR.

    Pozdr,
    TWl


    A tego to ja nie wiem :) zabawe z Xilinx-em zakonczylem na plytce "altium livedesign evaluation board" z Spartanem 3 :) nie mam pojecia co teraz jest tam dostepne... Ja tam sie bawie malymi Alterami teraz bardziej bez wiekszych ambicji :) ot tak troche w strone USRP :)


    Myślałem też o GDDR ale tak jak kolega wspomniał brak obsługi sprzętowej tego interfejsu. Dodatkowo nie wiem jak działa (jak jest sterowana) taka pamięć, jeśli tak jak DDR to niestety bez sprzętowego IP core przepustowość będzie skromna.
    Dostępne są: kontrolery DDR1,2,3 mobile DDR, PCIe (tylko w wersjach oznaczonych literką T) Także spora liczba IP core do obsługi np. HDMI (serializer i deserializer)czy DIsplay Port Spora liczba RAM też pomaga.
    Co do IPcore to bardzo dużo jest do obróbki wideo oraz DSP. Co ciekawe jest też core do CAN. Nie wspominam nawet o 10GB Eth. tyle o Spartanach ze stajni Xilinxa. Inne rodziny FPGA są zbyt drogie do hobbystycznej zabawy.

    Przejrzałem projekty i faktycznie 4 warstwy nie dawałyby pewności działania... albo nawet upchnięcia elementów.Inny problem to nie ma dobrego profilu grubości warstw by zapewnić 50Ohm impedancji. 6 warstw sobie poradzę. Niestety płytka wyjdzie około 100 ojro :/ Ale porównując dostępne zestawy to opłaca się samemu zaprojektować i złożyć płytkę w porównaniu z cenami gotowych. Jakbym chciał kupić coś gotowego z HDMI (kilka HDMI) DDR, nie mówiąc o PCIe czy SATA to wydałbym min 1000zł.
    Od tego tygodnia ruszam z projektem własnego PCB. Jak już będzie co sprawdzić to podeślę linki do forum by panowie pomogli w projektowaniu, w każdym razie wdzięczny będę.


    Też myślałem o podwójnym interfejsie DDR i tak zrobię. Niestety mam problem z IP core od pamięci DDR.

    MIG Virtex i Spartan 6 w zakładce Port Configuration wymaga wybrania conajmniej jednego interface (np 32bit bi directional PORT). Niestety wyskakuje przy symulacji brak zasobów. ERROR:Map:237 - The design is too large to fit the device. Błąd ten wyskakuje jęśli wybieram dwie pamięci lub jedną pamięć i więcej niż jeden interface dostępu do tej pamięci. Coś źle robię? Nie biorę pod uwagę większego FPGA ze względu na cenę.
    Może da się zmienić strategię generowania połączeń by oszczędzić IOBs?
    Sprawdzałem też generatora core do PCIe i nie mieszczą się dwa end pointy w moim FPGA. Wiem, że można napisać prosty kontroler PCIe na dużo mniejsze FPGA.... moje pytanie do użyuwających IP core Xilinxa: Czy te core są aż tak nieoptymalnie napisane :?:

    Czy IP core konkurentów są optymalniejsze niż xilinxa?

    Rozważam jeszcze opcję z FIFO ale potrzebne są kości min 2MBajty...tanie i pracujące na min 100...125MHz (np. 4x8bit) ale raczej nie ma takowych :)
  • #23
    TWl
    Level 21  
    Ch.M wrote:
    Inne rodziny FPGA są zbyt drogie do hobbystycznej zabawy.

    Są jeszcze takie nowe, małe układy od Lattice'a (ICE40 o ile pamiętam się toto nazywa). FPGA z flashem w obudowach QFN, takie AtTiny wśród FPGA :)

    Quote:
    Inny problem to nie ma dobrego profilu grubości warstw by zapewnić 50Ohm impedancji.

    Bez przesady, rozrzut impedancji na tanich płytkach może dochodzić do 30%. Jeśli DDR będzie blisko FPGA to można zastosować "inżynierską" zasadę (długość ścieżek < lambda/10). Zakładając tr=1ns, pasmo = 0.35/tr = 350 MHz, dł. fali w FR4 = ok. 30 cm, impedancja ścieżek krótszych niż 3 cm nie będzie zauważalna.


    Quote:

    Błąd ten wyskakuje jęśli wybieram dwie pamięci lub jedną pamięć i więcej niż jeden interface dostępu do tej pamięci. Coś źle robię? Nie biorę pod uwagę większego FPGA ze względu na cenę. Może da się zmienić strategię generowania połączeń by oszczędzić IOBs?

    Podeślij projekt, ciężko stwierdzić na podstawie Twojego opisu co jest nie tak.

    Pozdr,
    TWl
  • #24
    Ch.M.
    Level 27  
    TWl wrote:
    Ch.M wrote:
    Inne rodziny FPGA są zbyt drogie do hobbystycznej zabawy.

    Są jeszcze takie nowe, małe układy od Lattice'a (ICE40 o ile pamiętam się toto nazywa). FPGA z flashem w obudowach QFN, takie AtTiny wśród FPGA :)

    Quote:
    Inny problem to nie ma dobrego profilu grubości warstw by zapewnić 50Ohm impedancji.

    Bez przesady, rozrzut impedancji na tanich płytkach może dochodzić do 30%. Jeśli DDR będzie blisko FPGA to można zastosować "inżynierską" zasadę (długość ścieżek < lambda/10). Zakładając tr=1ns, pasmo = 0.35/tr = 350 MHz, dł. fali w FR4 = ok. 30 cm, impedancja ścieżek krótszych niż 3 cm nie będzie zauważalna.

    Quote:

    Błąd ten wyskakuje jęśli wybieram dwie pamięci lub jedną pamięć i więcej niż jeden interface dostępu do tej pamięci. Coś źle robię? Nie biorę pod uwagę większego FPGA ze względu na cenę. Może da się zmienić strategię generowania połączeń by oszczędzić IOBs?

    Podeślij projekt, ciężko stwierdzić na podstawie Twojego opisu co jest nie tak.

    Pozdr,
    TWl


    A czy takie tiny Lattice mają obsługę DDR? Sprawdziłem i nie... nawet napięcie minimalne to 1,8V. Dodatkowa wada to mało IO różnicowych.

    Co do impedancji to przy tym profilu co jest dostępny rezystancja ścieżek wypada około 80 Ohm. Chce mieć pewność, że nie wydam na płytkę i elementy kasy w błoto, a dodatkowo czegoś chce się nauczyć przy projektowaniu :)

    Co do projektu to użyj generatora Memory interface generators --> MIG Virtex 6 and Spartan 6. Wybierz dwa kontrolery pamięci i minimalną konfigurację. Wszystko to dla XC6slx45t -3 w obudowie fgg484
  • #25
    TWl
    Level 21  
    Quote:

    A czy takie tiny Lattice mają obsługę DDR?

    Szczerze - nie wiem, ale cena i mała obudowa kwalifikuje je do kategorii hobbyist-friendly ;).

    Quote:

    Co do impedancji to przy tym profilu co jest dostępny rezystancja ścieżek wypada około 80 Ohm.


    Pogrub ścieżki ;)

    Quote:

    Co do projektu to użyj generatora Memory interface generators --> MIG Virtex 6 and Spartan 6.


    Czy Kolega przypadkiem nie próbuje syntezować samego top levelu MIGa? Wygląda na to, że brakuje pinów I/O do wyprowadzenia wszystkich portów, które normalnie musisz podłączyć do swojego kodu VHDL/Verilog.

    TWl
  • #26
    Ch.M.
    Level 27  
    TWl wrote:
    Quote:

    A czy takie tiny Lattice mają obsługę DDR?

    Szczerze - nie wiem, ale cena i mała obudowa kwalifikuje je do kategorii hobbyist-friendly ;).

    Quote:

    Co do impedancji to przy tym profilu co jest dostępny rezystancja ścieżek wypada około 80 Ohm.


    Pogrub ścieżki ;)

    Quote:

    Co do projektu to użyj generatora Memory interface generators --> MIG Virtex 6 and Spartan 6.


    Czy Kolega przypadkiem nie próbuje syntezować samego top levelu MIGa? Wygląda na to, że brakuje pinów I/O do wyprowadzenia wszystkich portów, które normalnie musisz podłączyć do swojego kodu VHDL/Verilog.

    TWl


    Nie mogę pogrubić ścieżek bo nie przejdą mi między padami BGA :)

    Co do MIGa to na pewno masz rację, co powinienem zrobić by wszystko działało jak trzeba, ręcznie RTL edytować usuwając interface dostępny na zewnątrz? Bo rozumiem, że generator takowe generuje?
  • #27
    Ch.M.
    Level 27  
    Odgrzebuję.
    Już miałem porzucić temat projektowania jako nieopłacalne i mało realne na 4 warstwach, ale znalazłem działający projekt na PCB 4 warstwowej. Dla zainteresowanych http://opencores.org/project,spartan6_pcie
    Chyba skuszę się i przeprojektuje to PCB dodając kilka złącz.
    Pozdrawiam
  • #28
    tplewa
    Level 39  
    Nikt nie pisal ze to nierealne, po prostu duzo trudniejsze w wykonaniu i trzeba miec spora praktyke w projektowaniu PCB by czegos nie spierniczyc. Dlatego czasem latwiej i czasem sumarycznie taniej ;) dac wiecej warstw i zrobic to na spokojnie.
  • #29
    TWl
    Level 21  
    tplewa wrote:
    Nikt nie pisal ze to nierealne, po prostu duzo trudniejsze w wykonaniu.


    Większość pinów FPGA w tym projekcie nie jest wykorzystywana, więc bez problemu mieści się na 4 warstwach ;) Swoją drogą interestujący stackup, z zasilaniem na zewnątrz.

    Pzdr
    TW
  • #30
    Ch.M.
    Level 27  
    Też mnie kilka rzeczy zadziwiło :)
    Jeśli chodzi o Layer stack to wypada mi najoptymalniej masę dać na Bottom, zasilanie na warstwie 2. Ścieżki DDR puścił na warstwach wewnętrznych... myślałem że powinno się separować warstwy z sygnałami szybkimi masą lub zasilaniem. Niestety przy 4 warstwach to nie za bardzo się da. Raczej na Top niewiele więcej da się zrobić poza wyprowadzeniem linii z BGA. Stack layer też widzę domyślny altiumowski (dwa core i jedno prepreg) łącznie 1.1mm.

    Miejsca jeszcze trochę zostało. Coś się dopcha :)

    Czy orientujecie się jaki byłby koszt przylutowania w Warszawie pamięci BGA 96 kulek 0,8mm raster i FPGA 484 kulki raster 1mm ?