Keresés

Új hozzászólás Aktív témák

  • Maverick14

    tag

    válasz #95904256 #63 üzenetére

    Az biztos hogy a VHDL sokkal kényelmesebb mint a schematic capture (Vajon ez hogy van magyarul? Mindig gondban vagyok amikor magyarul kell a szakmámról beszélni. :DDD ), főleg ha paraméterezni is akarod az áramkörödet (pl. bitszélességek beállítása).
    Viszont egy bizonyos komplexitás felett jobb a magas szintű C leírás. Nekem a Handel-C-vel vannak tapasztalataim és kb. ugyanolyan gyors áramköröket tudok generálni vele mint VHDL-ben. Nálam most ez a favorit, mert teljesen kézben tudom tartani, hogy melyik műveleteket hajtsa végre párhuzamosan vagy sorosan az áramköröm. A többi jobban automatizált fordító esetén ez valahogy nincs meg. (Mondjuk kb. 4-5 éve teszteltem egyet utoljára, lehet hogy a CatapultC már többet tud, de amennyire tudom nincs akadémiai verziója, szóval nem valószínű hogy mostanában hozzáférek.)
    A másik előnye a magas szintű leírásnak hogy majdnem egy nagyságrenddel rövidebb a kód. A VHDL dokumentációs célokra készült anno a 80-as évek elején és eléggé ''szószátyár''. :D

  • Maverick14

    tag

    válasz #95904256 #61 üzenetére

    Üdv!

    Ismét egy picit megkésve válaszolok. :) (Szabadságon voltam, teljes internet elvonással)
    Ezzel én is úgy vagyok hogy elég sok érdekes dolog van a világban amivel jó lenne foglalkozni picit. Csak az a baj hogy a nap 24 órából áll. A következő disszertációm témája ennek a bővítése lesz. :D

    Nem feltétlenül csak a legdrágább Virtex FPGA-kban kell gondolkodnod ha valamit gyorsítani akarsz. Az olcsóbb Spartan-ok között is vannak már elég combosak. :) Ráadásul nem kell hogy legyen FPGA-d hogy tervezz rá valamit. Első körben úgyis csak a koncepció életképességét kell megmutatni (erre megy el a tervezési idő majd 20-30%-a). Amikor már látod hogy alakul valamilyen architektúra a kezed alatt akkor már meg tudod becsülni az erőforrásigényét az FPGA-n és tudsz választani hozzá egy megfelelő platformot (vagy ami gyakoribb tervezni hozzá egy saját kártyát).

    Néhány éve a kriptográfia nagy sláger volt az FPGA-s konferenciákon (FPGA, FPL, MAPLD) és mostanában is kapnak egy külön szekciót. Sőt most nézem lesz egy poszter az idei FPL-en az általad felvetetthez nagyon hasonló témában: ''Solving RC5 Challenges with Hardware -- a Distributed.net Perspective'' -- Guerric Meurice de Dormale, John Bass, and Jean-Jacques Quisquater.

    Ha bele akarsz mélyedni a dologba ajánlom figyelmedbe Peter J. Ashenden The VHDL Cookbook című könyvét én is ebből tanultam VHDL-t, netről letöltheted teljesen ingyenes.
    A VHDL szimulációhoz szükséged lesz egy szimulátorra a Xilinx WebPackISE-ben lévő szimulátor tanuláshoz megteszi. Ez a progi is ingyenes és a VHDL kódodat szintetizálni is tudod vele néhány kisebb Xilinx FPGA-ra.
    Ha nem akarsz VHDL-t tanulni vannak már olyan magas szintű fordítók amik C kódból is tudnak áramkört szintetizálni (Celoxica Handel-C, Mentor Graphics CatapultC). Csak ezeket már min. $50k-s éves licenszdíjért árulják.

  • Maverick14

    tag

    válasz #95904256 #23 üzenetére

    Üdv!

    Bocs a késői válaszért. Épp az utolsó simításokat végzem a disszertációmon. Azt se tudom hol áll a fejem.
    A lényeget Rive már leírta, egy FPGA-n tetszőleges szekvenciális áramkört meg tudsz valósítani. Semmi akadálya annak hogy valamilyen lebegőpontos arimetikát valósíts meg. A Xilinx ingyenesen ad is a fejlesztőrendszerével lebegőpontos összeadó/kivonót, szorzót, osztót de talán még négyzetgyök és trigonometrikus fv. core is van.
    Gyorsítani akkor fog tudni az FPGA ha a problémád igen jól párhuzamosítható és a párhuzamosítás nem jár együtt a memória sávszélesség növekedésével.
    Csak nem valami újabb Einstein@Home gyorsításon töröd a fejed? :)

  • Rive

    veterán

    válasz #95904256 #23 üzenetére

    Remélem nem baj, ha én válaszolok.

    Így általánosan, hogy 'lebegőpontos számítási műveletek ' gyakorlatilag semmire se képesek. Ugyanakkor majdnem tetszőleges komplex, előre meghatározott funkciót huzalozottan képesek végrehajtani. Nincs utasításlehívás, nincs OoO logika, nincs általános cache. Szinte semmi sincs, ami egy procit általánossá tesz. Csak egy fix teendő van, amit a maga néhány száz MHz (nem tudom, pillanatnyilag épp hol tartanak) sebességével betölt és bedarál. Emiatt ezt az előre meghatározott funkciót sokkal gyorsabban tudja végrehajtani, mint egy általános célú CPU.

Új hozzászólás Aktív témák

Hirdetés