Fórum témák
» Több friss téma |
Fórum » CPLD, FPGA - Miértek, hogyanok
Koszi !
Meg egy kerdesem lenne: Van olyan FPGA tipus amit otthoni (hobbis) korulmenyek kozott lehetne hasznalni, ugy mint pl XC95xx CPLD csaladot?
huh...
nagyon nincs... minimum TQFP tokozás, utánna már csak BGA, a CPLD-kből még van PLCC-s, de xilinx fpga-ban már nem... plussz 3 féle tápfesz kell a legtöbbnek (újabbaknak kettő) ha van kedved próbálkozni, akkor vegyél egy SmartchBoardot (chipcadnél), az egy kis nyák darab, rajta sok előónozott Pad-el, amire BGA, TQFP + még egy csomó más fajta IC-t tudsz ráforrasztani, kvázi egyszerűen, csak folyatószer, meg vékony páka kell hozzá, esetleg kevés ón... mielőtt veszel ilyet, nézd meg a kiszemelt fpga adatlapjában a kivezetések közötti távolságot, és aszerint válassz majd SB-t... erre még plusszba tudsz pár smd kondit ellenállást pakolni, meg tüskesoros kivezetést körben, így amolyan modulszerűen hozzápakolhatod bármihez... arra a nagyobb méretre meg már tudsz fogadó nyákot készíteni (bár lehet hogy nem tudod az összes kivezetést használni házi körülmények között, de a semmitől több) +nem tudsz akkora nagy sebességeket sem majd elérni vele, mert elég sok zajt be fog szedni + a parazita kapacitások is nagyok lesznek
de szerintem jobban kijönnél, ha picit gyűjtenél vmi starter kit szerűségre, és azzal utánna játtszadozhatnál kedvedre...
ez a legolcsóbb (18e nettó) Spartan-3E_Evaluation_Kit
Koszi !
Meg nagyon alap nalam ez az egesz. Az este sikerult a 'pek projects' oldalon talalhato CPLDs fejlesztoipanelt vegre beuzemelni. Es oromomre kiderult, hogy a korabban veletlenul 5V-al betaplalt XC9572XL is meg mindig mukodokepes Az FPGAs kerdesem csak azert volt, hogy lassam mik a lehetosegek, hogy erdemes-e nekem otthoni korulmenyek kozott ezzel komolyabban foglalkozni a jovoben. Elegge nehezemre esik ezt a VHDLt felfogni, mivel en C programozashoz vagyok szokva. Szoval el kell sajatitanom egy egesz mas szemleletmodot. Teljesen hardveresen nem tudok tekinteni ra, ahhoz keves vagyok..
"Elegge nehezemre esik ezt a VHDLt felfogni"
Nekem is. Egy BME-s leírásból próbálok okosodni, de nem az igazi. Az angol nyelvűek közül meg felesleges lenne bármelyikbe bele kezdenem addig, míg az alapelveit nem értem meg.
kezdők (különösen hobbisták) számára a VHDL-el való kezdés ellenjavalt...
többszörösen bonyolultabb, mint a verilog, VHDL-t csak nagyobbszabású rendszerek tervezésénél használnak (na jó persze ezzel is lehet egyszerűbb dolgokat, csak hülyeség pazarolni rá az időt vele) a verilog inkább hasonlít a C nyelvre külalakra, természetesen ettől függetlenül még ugyanúgy egy áramkört írsz le vele, ezért nem szabad programozói mentalitással tervezni verilogban, mert abból csak "Garbage in, garbage out" lesz... cserébe a verilog-ban megalkotott mű kevésébe megbízható, mint VHDL-es társai, bár ez is a tervezőn múlik, de pl a VHDL egy eléggé szigorú nyelv, és ezért is használják 'mission critical' alkalmazásokban (ugyanis könnyebben kibukik benne a hiba)
Szia Peti!
Már 2 napja tanulom a PLD témát és a jelenlegi feladatomhoz a XILINX CPLD eszközét találtam megfelelőnek ezért aztán holnap veszek is egy kis panelt és valami Programozási lehetőséget . A Kérdéseim : 1. Láttál-e olyan embert aki az Altium Desigener-t használta CPLD vagy FPGA fejlesztéshez? És ha igen akkor milyen hardware igénye van az ALtiumnak ehhez e feldathoz? 2. Ha független égetőt kell használnom az Altium milyen az égetők számára használható formára tudja lefordítani a beégetendő állományt. 3. Valakinek sikerült-e az Altium szimulátorát használni? Gyuri
nem igazán...
én ISE webpackot használok, suliban is ezt tanítják... nem ismerem az Altium Designert...
És a ISE WebPack-hoz milyen hardware kell az égetéshez?
Itt a topikon nem sok jót olvastam a Webpack-ról. Remélem te már tudsz valami biztatót is mondani róla. Lehet schematik alaján tervezni? Komplett a könyvtára?
pl mi az ami nem tetszett az embereknek benne?
nehogy azt hidd, hogy pl az Altiummal kevesebb szívás van mindegyik elég komplex program ahhoz, hogy órákat lehessen eltökölni apró dolgokon :p lehet ise-ben is rajzolva tervezni, de nem ajánlott... igaz tud az is mindent amit kell, de ha már egyszer mindenáron FPGA-val akarsz foglalkozni, akkor tanulj meg egy HDL nyelvet... nem olyan bonyolult... ajánlom pl a Verilogot... azon meg mit értesz hogy komplett a könyvtára? minden benne van ami kell, ami meg nincs, azt alapelemekből megépíted... van benne egy CoreGenerator nevű program, azzal tudsz bonyolultabb előregyártott modulokat testreszabva belepakolni --- az égetéshet vagy építesz párhuzamos portra JTAG kábelt, vagy veszel (ami ne ajánlott mert drága, inkább építs), meg van USB-s változat is, na az is vagy 40 ezer huf... a legolcsóbb az a home-made párhuzamos JTAG kábel...
Az ISE -ről csak annyit olvastam, hogy egy rakás SP-t kell feltölteni , hogy működjön.
Köszi a segítséget akkor megpróbálom a webpack-ot begerjeszteni és ránézek a verilog nyelvre is. De nekem a héten már működő darabot kell letennem a főnőkőm asztalára ezért első közelítésben schematic-kal próbálkozom. Párhuzamos JTAG kábelt tudok szerezni, most nincs időm a home made re. Szia jó éjt! Az eredmény(telenség)ről beszámolok. Szia. Jó éjt! Gyuri
a Service Packes dolgok sajnos igazak :p
de ilyen méretű programoknál ezen meg sem szabad lepődni --- Hamar bele lehet tanulni, Sok sikert hozzá!
Namost akkor ez a Service Pack dolog azt jelenti, hogy addig neki se fogjak fejleszteni amig az nincs fent?
Es milyen Sp-t kell felrakni?
neki lehet fogni anélkül is...
elég ritkán jönnek elő hibák, ha előjön vmi idegesítő, akkor kell felrakni...
Sziasztok !
Ma szorakoztam egy picit WP-el VHDL-ben. Egy meglevo (pek projects) szamlalos - ledes kodot atirtam, hogy legyen valami sajat is benne. Mukodik
A kerdesem az lenne, hogy : hogy lehet VHDL-ben decimalis elore-szamlalot letrehozni? Nincs valakinek valami anyaga az adattipusokrol, es hogy kb melyik tipusbol mit lehet letrehozni? Koszi.
Szia !
Koszi, de nem erre gondoltam ( vagy nem latom benne a lenyeget) Csak annyit szeretnek egyelore elerni, hogy VHDL-ben implementaljak egy decimalis szamlalot, a beszurt kodban talalhato 'cnt_2' binaris szamlalo helyett.
Szia Gtk !
Mivel itt is csak bitek állnak rendelkezésre a fizikai megvalósitásban, ezért szerintem a decimális helyiértékekre kell bontani a számot ( 1 dec. hely. 4 bit.) 9-ig elszámolni, átvitelt képezni a magasbb helyiérték felé, törölni a helyiértéket. Igy binárisan kódolt decimális helyiértékeid lesznek. Ezt csinálják a linken is a BCD forrásban. Aztán ezt a BCD formát át lehet kódolni pl. 7szegmenses ledekre, vagy más fomára. Ha valami másra gondoltál, ird le részletesebben. Üdv. Zoli
Szia eltexto !
Na ezen elmelkedhetekBocsi az ertetlensegemert, de nalam ez meg nagyon alap. Probaltam processzben integer valtozot letrehozni es erteket ciklikusan 2 -vel szorozni, majd cnt_2 re kiirni persze atalakitassal, de nem mukodik. Namost egy olyan tipusra lenne suzksegem amit lehet szorozni es a
Igy probaltam:
Udv.
Hali !
Én is kezdő vagyok még, de mintha a variable a processen belul nem tartaná meg az értékét a következö processig. Csak abból következtetem, hogy a process-en belül definiálod és ez minden lefutáskor érvényes lehet. Mármint, hogy kezdőértéket adsz neki, de ha nem adnál, akkor meg default legkissebb értékkel indulna a process. De szóljon más is aki jobban tudja, mert ezt én csak úgy gondolom. Üdv. Zoli
Szia !
Ezt nem tudom. De ha kiveszem a processzbol akkor signal kell legyen, nemde? A legnagyobb gond az a peldaban hogy forditaskor ad egy rakas figyelmeztetest.. De jo lenne egy ertheto attekintheto tomor leiras errrol a VHDL-rol.. Udv.
Igen, signalnak kéne lennie. signal a :integer; vagy ha nem akarsz warningot a nemhasznált node-ok miatt, akkor signal a :integer range 0 to 15;, de ekkor a modelsim kiakad az a=16 -diknál, mivel a range behatárolja 0 és 15 közé, a process meg csak szorozgatja 2-vel. Hogy a hw-en ez mit csinál, ki kell próbálni.
Üdv. Zoli
Szia !
Koszi szepen linket. Sehogy nem jott ossze az elobbi... Azt hiszem kicsit nekiugrottam. Lenne meg egy kerdesem: Az architekturat lehet feltetelhez kotni? Arra gondolok, hogy pl. beolvassa egy port 3 bit allapotat es aszerint allitja be a tobbi I/O-t kimenetnek, vagy bemenetnek.(Itt tegyuk fel hogy a port definicioban inout-nak van allitva mindegyik hasznalt lab, hogy lehessen ki es bemenet egyarant).Lehet ilyet? Udv.
Bocsi, az elozo kerdesem masodik fele ertelmetlen.
Valojaban arra vagyok kivancsi hogy : Architekturaban feltetelrendszer lehet-e? (vagyis feltetel szerint lehet-e leirni architekturat.) Idézet: „Koszi szepen linket. Sehogy nem jott ossze az elobbi... Azt hiszem kicsit nekiugrottam. ” Pedig én kicsit átalakitottam és szimuláció szerint müködik: Entity k1 is port( RESET : in std_logic; LEDEK : out std_logic_vector(3 downto 0); CLK : in std_logic); end; Architecture rtl of k1 is signal count : std_logic_vector(21 downto 0); --22 bites szamlalo signal cnt_2 : std_logic_vector(3 downto 0); --4 bites - signal a : integer; begin LEDEK <= cnt_2(3 downto 0); --ledek a 4 bites szamlalon process(RESET,CLK) --processz begin if(RESET = '1') then a <= 1; count <= (others => '0'); cnt_2 <= "0000"; elsif CLK'event and CLK='1' then --felfuto el detektalas count <= count-1; --count leptetese if count = 0 then -- count 0. ertekenek erzekelese cnt_2 <= conv_std_logic_vector(a, 4); -- cnt_2 leptetese a <= a * 2; end if; end if; end process; end; Ebbe is már van feltétel (if), vagy olyanra gondolsz mint a C-ben az ifdef feltételes forditás ? Én úgy tudom legjobban megérteni ezt az egészet, hogy egy számomra érdekes más által irt forrást elkezdek értelmezni. Igy nekem sokkal könnyebben megy. Üdv. Zoli >
Koszi szepen hogy foglalkoztal vele !
Ki fogom probalni a kododat, csak most nincs nalam a fejlesztopanel.Bar ugy emlekszem hogy RESET reszet kiveve probalkoztam ezzel a koddal is.
Megprobalom a felteteles kerdesemet erthetobben leirni valos peldan keresztul. Szeretnek epiteni egy eprom egetot CPLD-vel, 27C-hez egyelore. Namost tudjuk hogy mindegyik tipusu 27C eprom labkiosztasa mas. Arra gondoltam hogy eprom tipus szerint lehetne valahogy configolni a CPLD labakat, hogy melyik milyen funkciot toltson be , es hogyan kapcsolodjon az epromhoz meg a belso logikahoz.
Ezt a konfigot a PC felol erkezo elso byte adna meg,. Ennek elmeleti megvalositasa erdekelne. pl. hogy hova kell rakni a felteteleket ilyen esetben, processzbe vagy architekturaba is lehet?Hiszen itt van a labakkal az osszehuzalozas , nem? Nem tudom mennyire voltam ertheto. Udv.
-- This statement muxes out the data pins to the hex decoder
-- based on the cur_digit value. Digit 0 is the MSD and -- digit 7 is the LSD. digit_data <= data(31 downto 28) when cur_digit = "000" else data(27 downto 24) when cur_digit = "001" else data(23 downto 20) when cur_digit = "010" else data(19 downto 16) when cur_digit = "011" else data(15 downto 12) when cur_digit = "100" else data(11 downto 8) when cur_digit = "101" else data( 7 downto 4) when cur_digit = "110" else data( 3 downto 0); Ez architektúrán belül van, concurent statement. A cur_digit értékétől függően multiplexeli a digit_data-ra a 4 bites szeleteket a data(31 downto 0) -ról. De meg lehetne csinálni szekvenciálisan is a case-el process-en belül. Vagy if-then-else - vel is. Üdv. Zoli > |
Bejelentkezés
Hirdetés |