Witam! Chce rozpoczac zabawe z CPLD, zaopatrzylem sie w ksiazki, troche poczytalem na googlach, pozostaje problem hardware. Ze wzgledu na darmowy pakiet oprogramowania mysle o Xilinxie, zastanawiam sie tylko co jeszcze potrzebuje? Jakis JTAG, tani zestaw startowy? Co byscie polecili?
Zabawa z CPLD
Jul 19, 2005
27 Replies
T.M.F. snipped-for-privacy@nospam-mp.pl napisal nam:
A moze FPGA :)? Mam zestawik home made do tego, spartan 2, lcd, led
7segmenetowy i klawiaturka, do tego programator parallel cable 3. 40Mhz pedzi to ale mozna i ze 100 dac ;-)Ile bys dal?
CPLD - na allegro handlowali plytkami do tego, w sumie tylko plytka by sie przydala z zasilaniem a kabelkami pociagniesz do czego chcesz.... jakas polska firmia miala caly zestaw z wykorzystnaiem tych plytek-modulow.
a mzoe sciagnij sobie quartusa(za free) i kup np MAX7128S, ew wylutuj skads (u mnei wala sie to w plytach serwerowych) da sie wsadzic w podstawke PLCC, programuje sie za pomoca banalnego kabelka.. a na moj gust Quartus bije na glowe funcjonalnoscia i ergonomicznoscia ISE
Moze i nie jest to zly pomysl... ale o ile sie orientuje (a orientuje sie slabo) to FPGA wymaga programowania za kazdym wlaczeniem zasilania, czyli trzeba to dodatkowo umiescic w jakims procku + tak zaprojektowac uklad, zeby nie byl wrazliwy na nieustalone stany na liniach kosci.
no jasne.. ale ja mowie o kosci CPLD na poczatek..i ona takeigo czegos nei wymaga.. jesli chodzi o FPGA, to polecam Cyclone'y do ich konfiguracji sa malutkiei fajne pamieci szeregowe EPCS, w obudowie SO8. programuej sie to tym samym kabelkiem co JTAG (Byteblaster II) A kosc 3000 komorek (EP1C3CT144) mozna kupic juz za niecale 15EUR w detalu, a zasoby pozwola wsadzic 32bitowy procesor smigajacy na 100MIPSach, i zostanie jeszcze z polowa pewnie
Ok, zobacze quartusa, ale gdzie mozna kupic detalicznie CPLD Altery?
T.M.F. napisał(a):
np. jawi logic bez problemu, najwyżej trzeba trochę poczekać. ja kupowałem MAX7K i MAX3K
Zainstalowalem quartusa i rzeczywiscie wydaje sie byc bardziej przyjazny niz ISE. W pare minut narysowalem sobie prostu uklad logiczny, wygenerowalem wektory i przejrzalem symulacje. Mam tylko takie pytanko - moj testowy sygnal propaguje sie przez pare bramek, ale na wykresach z symulacji program pokazuje to tak jakby czasy propagacji dla bramki wynosily 0. Pewnie trzeba to gdzies ustawic? Albo wybrac konkretna kosc, a nie auto?
To zalezy. Sa FPGA z konfiguracja trzymana w SRAM (wiekszosc), które rzeczywiscie nalezy skonfigurowac po wylaczeniu zasilania. Sa tez takie, które maja konfiguracje w pamieci flash i nie trzeba ich ciagle konfigurowac. Do tych ostatnich nalezy rodzina Actel ProASIC Plus, dostepna w MSC. Tylko kostki flashowe niejako "z definicji" maja znacznie gorsze parametry, wiec zastanów sie, czy rzeczywiscie ich potrzebujesz. Konfigurowanie Cyclone 1C6 trwa ~100 milisekund, wiec jesli ten czas oraz to, ze konfiguracja jest dostepna dla klonerów nie przeszkadza, to uzyj kosci SRAMowej.
Po drugie Quartus (Altera) jest dostepny za darmo bezterminowo i jest niezwykle dopracowanym systemem, a Libero (Actel) to straszne bardziewie, do tego z symulatorem dziala tylko 45 dni.
Po trzecie, kostki ProASIC+ wymagaja bardzo dziwnego programatora (kilka napiec programujacych, w tym ujemne), a do Alterek zrobisz sobie ByteBlastera w godzine, schemat jest w sieci.
W procku, albo i nie: w przypadku Cyclone sa trzy tryby konfiguracji. Tryb active serial oznacza, ze kosc sama sobie pobierze obraz konfiguracyjny z zewnetrznej pamieci flash (sa specjalizowane kostki, ale nieco drogawe -- uklad z Atmelkiem i pamiecia 1Mbit na SPI jest trzykrotnie tanszy). Passive serial z kolei oznacza, ze kosc oczekuje wtaktowania jej konfiguracji przez zewnetrzne urzadzenie (np. procek). Jest jeszcze tryb JTAG, ale do konfigurowania w warunkach innych niz development jest IMHO nieprzydatny, to samo mozna zrobic prosciej via Passive Serial. Wyboru trybu miedzy AS i PS dokonuje sie pinami MSEL; trybu JTAG sie nie wybiera, bo jest nadrzedny i mozna go uzywac równolegle z dwoma pozostalymi.
Cyclone to dobrze wychowane uklady i do czasu zakonczenia konfigurowania nie wystawiaja na pinach zadnych stanów nieustalonych, po prostu odcinaja sie od swiata dzieki stanowi wysokiej impedancji. ;-)
BTW, Cyclone ma pin sygnalizujacy, ze konfiguracja sie zakonczyla, wiec zawsze mozesz wykorzystac jego stan do trzymania w resecie otoczenia FPGA, jesli to rzeczywiscie konieczne.
Pozdrawiam Piotr Wyderski
I FPGA te¿, przynajmniej Cyclone i Acexy. Czy s± tam te¿ Stratixy II, to nie mam pojêcia... ;-)
Pozdrawiam Piotr Wyderski
A co wlasciwie w prostym projekcie przemawia za wykorzystaniem FPGA a nie CPLD? Z drugiej strony w kamami maja uklady CPLD z xilinxa po parenascie zlotych, a MAX7K o bardzo duzych mozliwosciach po 67 zl:( A az tyle komorek jest mi niepotrzebnych. Mozna gdzies kupic jeszcze uklady altery w rozsadnych cenach? Wspomniane jawi logic nie ma niestety oferty w necie.
Bo robisz pewnie symulacje funkcjonalna, a powinienes robic post-route. Mister
Nie wiem. :-) Zapytales o konfigurowanie FPGA, to Ci troche napisalem, natomiast to, czy FPGA jest wlasciwym wyborem, to juz podlega Twojej ocenie.
Sam sie chetnie dowiem, kto sprzedaje pojedyncze sztuki. W wiekszych ilosciach sa w EBV -- oni maja cennik on-line, a ceny sa zblizone do tego, ile placilem w Jawi, wiec mozesz sobie tej strony uzywac do szacowania ceny ukladu.
Off-line tez nie, trzeba za kazdym razem pytac. :-(
Pozdrawiam Piotr Wyderski
Ok, ale jak to zrobic? Sory za glupie zapewne pytanie, ale po paru chwilach z quartusem jeszcze nie wiem wszystkiego;)
Funkcjonaln± w WebEdition? Oj, chyba nie, ModelSim jest p³atny...
Pozdrawiam Piotr Wyderski
Funkcjonalnej nie ma w Quartusie. Pewnie zegar ma 1kHz - wtedy faktycznie propagacja bedzie ok 0, czyli kilka ns ;-)
E panowie, mam skale 1ns. Symulacja 0ps do 1000ns, nie widze, zadnych opoznien. W programie znalazlem jakas opcje podajaca opoznienia od poszczegolnych sygnalow do wyjscia, ale roznia sie one o czasy rzedu
0,5ns i mniej, z czego by wynikalo, ze propagacja przez bramke <0,2ns, czy to mozliwe?
To dziwne, ja od samego poczatku zabawy z Quartusem mialem pieknie widoczne stany wyjsciowe, ze stanami nieustalonymi wlacznie. Tylko wybierz jakas kostke, np. Cyclone.
Malo prawdopodobne, ale pamietaj, ze w FPGA nie ma bramek, tylko male lookup tabelki, wiec Twój uklad mógl zostac bardzo zoptymalizowany
-- what you see IS NOT what you get. :-)
Pozdrawiam Piotr Wyderski
No wlasnie, nie wybralem kosci, dalem na auto. Moze w tym jest problem.
Zoptymalizowal bardzo, byc moze problem wynika z tego, ze sprowadzil to do pojedynczej wielowejsciowej bramki AND. W takim wypadku moj wynik bylby calkiem normalny. No nic, udziwnie nieco uklad i zobacze co wtedy bedzie. A propos - da sie jakos automatycznie generowac wektory testowe? Cos w stylu wszystkie mozliwe kombinacje wejsc? Bo reczna zabawa jest raczej upierdliwa.
Pamietaj ze w CPLD realizacja ma malo wspolnego z bramkami ktore narysowales. Ale od pinu wejscia do pinu wyjscia to raczej mija wiecej.
J.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required