|
|
Zakázkový návrh obvodů Xilinx |
| HOME | ASIX | Produkty a služby | FTDI | Microchip | Xilinx | AEC | Technická podpora | Různé | 2002-12-27 |
|
Technická podpora: Vývojové prostředky: Podpora ASIX:
|
Levně integrovaný obvod na zakázku Žádného konstruktéra elektronických zařízení není třeba dlouze přesvědčovat o výhodách, které přinášejí zákaznické integrované obvody (Application Specific Integrated Circuits - ASIC). Mezi jejich nesporné přednosti patří např. radikální zvýšení spolehlivosti, snížení spotřeby, rozměrů a hmotnosti, snížení nákladů na desky plošných spojů, výrobu, oživování, testování a servis finálních zařízení. Problematika programovatelné logiky, zejména programovatelných hradlových polí, je značně rozsáhlá, a neustále se rychle rozvíjí. Složitostí i cenou tomu odpovídají i vývojové prostředky. Přesto tuto lákavou techniku může využívat bez příslušných znalostí a velkých investic prakticky každý, a to prostřednictvím návrhového centra. V následujících odstavcích naleznou podrobnější informace ti, kteří chtějí ve svých aplikacích využívat techniku programovatelných zákaznických obvodů. Pro menší série (jednotky až tisíce kusů) jsou většinou klasické technologie založené na programování obvodů při výrobě příliš drahé. Proto bylo vynaloženo velké úsilí pro nalezení vhodného kompromisu - vyvinutí součástek, které by bylo možno vyrábět levně (tedy ve velkých sériích podobně jako obvody standardní), ale které lze naprogramovat nezávisle na drahých technologických linkách výrobců polovodičů tak, aby s co nejlepšími parametry a s co největší flexibilitou plnily určitou specifickou funkci jako obvody zákaznické. V současnosti existuje celá řada programovatelných logických obvodů - od pamětí PROM přes součástky typu PAL a z nich odvozené komplexnější obvody až po programovatelná hradlová pole (FPGA - Field Programmable Gate Arrays), která jsou nejvyšším stupněm v úsilí o levné zákaznické obvody. Dále budeme věnovat především záležitostem, které se týkají vlastního návrhu. Programovatelná hradlová pole byla představena v polovině osmdesátých let, a pro konstrukci digitálních elektronických systémů mají podobně fundamentální význam, jaký mělo uvedení mikroprocesorů počátkem let sedmdesátých. FPGA v sobě slučují výhody vysoké integrace VLSI obvodů (velká hustota logiky, rychlost, výkonnost) s výhodami snadného návrhu, levné produkce a rychlého nasazení, které jsou typické pro uživatelsky programovatelné součástky (flexibilita, nízká cena vývoje a snadné přizpůsobení požadavkům uživatele). Logické funkce, dříve realizované mnoha pouzdry TTL apod., lze integrovat do jediného pouzdra, a přitom se vyhnout vysokým cenám, nezanedbatelnému riziku, a poměrně dlouhým dobám vývoje. Velmi často je vývoj zařízení s FPGA i rychlejší než při "bastlení" ze standardních obvodů. V současnosti vyrábí různé varianty programovatelných hradlových polí několik výrobců. Mezi nimi od počátku zaujímá vedoucí pozici americká firma XILINX s obvody registrovanými pod obchodní značkou LCA (Logic Cell Array). Základem architektury LCA je matice konfigurovatelných logických bloků realizujících prostřednictvím programovatelného propojení požadovanou logickou funkci. Komunikaci s okolím zajišťují programovatelné vstupně-výstupní bloky. Programovatelné logické obvody vycházející z architektury PAL mají s LCA mnoho společných rysů, avšak ve dvou základních oblastech se navzájem podstatně odlišují. Oba tyto rozdíly umožňují programovatelným hradlovým polím dosáhnout vyšší logické hustoty a navíc i jejího efektivnějšího využití (větší flexibilitu a nižší cenu v přepočtu na jedno ekvivalentní hradlo). 1. Propojení má u LCA aditivní charakter, t.j. propojovací vodiče mohou být připojovány tak, aby vytvořily cestu mezi libovolnými dvěma uzly s prakticky téměř neomezeným počtem vnitřních signálů. Naproti tomu programovatelné propojení součástek typu PAL, GAL, EPLD apod. je subtraktivní - naprogramování požadovaného propojení spočívá v odstranění předdefinovaných spojů, aby nadbytečná logika byla eliminována. Počet propojovacích cest mezi dvěma uzly je předem definován, a jakmile je nějaký spoj odstraněn, není už odpojená část logiky použitelná. 2. Základní logické bloky jsou u LCA programovatelné a mohou být nakonfigurovány pro použití v širokém spektru kombinačních a sekvenčních funkcí. Naproti tomu u programovatelných logických obvodů vycházejících z architektury PAL bývají funkce makrobuňek konfigurovatelné jen v omezeném rozsahu. K dispozici je velký výběr LCA vzájemně se lišících architekturou (v několika typových řadách), množstvím logiky (s odstupňovanými hustotami od několika stovek až do stovek tisíc ekvivalentních hradel), rychlostí, počtem pinů, pouzdry atd. Uživatel si může zvolit, jaký typ jeho aplikaci nejlépe vyhovuje. V každém případě už i nejmenší LCA může nahradit až několik desítek SSI/MSI integrovaných obvodů. LCA jsou vyráběna pokročilou technologií CMOS (stejnou jako pro SRAM) s nízkou cenou, velmi nízkou spotřebou, vysokou dosažitelnou rychlostí, hustotou logiky, výtěžností, spolehlivostí a testovatelností. Podobně jako u programovatelných mikroprocesorových periferních obvodů jsou i u LCA uložena konfigurační data ve vnitřní statické paměti RAM. Existuje několik způsobů, jak do ní (např. po zapnutí napájení) "nahrát" příslušná data, a tím LCA nakonfigurovat pro konkrétní použití. Je možné použít externí paměť EPROM - buď některý ze standardních typů nebo speciální sériové paměti dodávané v malém pouzdře s pouhými osmi vývody. LCA lze rovněž zapojit do systému s mikroprocesorem (např. PC nebo mikrokontrolér) a programovat jej jako jiné periferní obvody nebo zařízení načtením konfiguračních dat z disku. Konfiguraci LCA (a tím i jeho funkci) lze samozřejmě neomezeně měnit, a to i za běhu aplikace. Tím lze dosáhnout vysoké flexibility systému. Důvody, proč využívat služeb návrhového centra, jsou pro většinu zájemců o aplikaci LCA především následující:
Úspora peněz:
Úspora času:
Záruka spolehlivé funkce: Přejděme nyní k jednotlivým aspektům, které s sebou návrh přináší: Ceny:Částka, kterou uživatel zaplatí za kompletní dodávku, je tvořena dvěma položkami:
Cena návrhu: Vzhledem k charakteru průběhu návrhu nelze cenu odpovědně stanovit např. ceníkem podle typu součástky apod. Cena vývoje závisí na řadě faktorů a definitivně se stanovuje po důkladném seznámení se návrháře s projektem. Důležité faktory ovlivňující cenu jsou:
V praxi se typické ceny návrhu jednoho LCA pohybují v řádu jednotek až stovek tisíc Kč. Cena součástek: Pro prototypovou a malosériovou výrobu jsou LCA jednoznačně ideálním řešením. Cena součástek (od několika set Kč za jeden kus) je více než přijatelná i ve zcela nepatrných sériích. Za cenu standardní součástky je k dispozici plnohodnotný digitální zákaznický obvod. LCA jsou však vhodná nejen pro realizaci prototypů. Většina uživatelů dnes využívá LCA i v hromadné výrobě. Ceny LCA pravidelně výrazně klesají (u novějších typů asi o 30% ročně). Termíny:Pro dobu návrhu platí obecně tatáž kritéria jako pro stanovení ceny. Typická doba návrhu činí několik dní, maximálně týdnů. V naléhavém případě je možné návrh provést i ve velmi krátké době. Jednoduché a dobře definované zadání lze zpracovat během několika málo hodin. Změny, např. při inovacích úspěšných výrobků, lze uskutečnit většinou podstatně rychleji než celý nový návrh. Způsob zadání, forma vstupních podkladůLogické schéma s použitím standardních součástek Tento způsob je nejběžnější. Pokud je potřeba integrovat již existující zařízení, lze tedy např. použít již existující dokumentaci - např. s použitím součástek řady 74xx. Mnoho konstruktérů je navíc zvyklých v těchto kategoriích uvažovat (např. místo osmivstupového dekodéru si představí přímo obvod 74151). Blokové schéma s popisem funkce jednotlivých bloků Tuto formu lze nejvíce doporučit. Klade totiž větší důraz na funkci systému a nikoli na jeho detailní realizaci, která je v zákaznickém obvodu podstatně odlišná od běžně používané. Detailní schéma na nejnižší úrovni je totiž vhodné výrazně přizpůsobit použité součástce a použitím blokového popisu tak odpadne fáze luštění úmyslů zadavatele. Zvláště výhodná je tato forma tehdy, pokud se jedná o konstrukci nového zařízení. Logické schéma s použitím knihoven prvků Xilinx Knihovny prvků Xilinx - tj. knihovny schematických prvků obsahující běžné logické prvky i prvky charakteristické pro LCA včetně parametrů pro simulaci. Tento přístup vyžaduje hlubší znalost struktury a vlastností LCA. Lze jej doporučit pouze opravdu zkušeným konstruktérům. Často bývá totiž potřebné i tato zadání přepracovat, aby vůbec fungovala, nebo, což je ještě častější, aby fungovala spolehlivě. Interface s návrhovým systémem pro LCA existuje takřka pro všechny schematické editory a simulátory, firma Xilinx přímo podporuje systémy ViewLogic, OrCAD a Mentor. Slovní popis chování obvodu Tento způsob bývá spojen s vývojem celého finálního zařízení "na klíč". Časový diagram průběhů, testovací vektory Tento způsob není zcela jednoznačný. Průběhy totiž popisují jen speciální případ chování obvodu a je více než vhodné doplnit tuto formu o komentář s uvedením souvislostí. Popis pomocí rovnic Tento způsob je běžný především pro uživatele obvodů PAL, GAL, EPLD apod. Vzhledem k odlišné architektuře programovatelných hradlových polí je vhodné podobu rovnic konzultovat předem. Způsoby zadání lze samozřejmě podle libosti kombinovat, klíčová je ovšem jasná formulace požadovaných funkcí obvodu. Doplňující požadavky Zadání je nutné doplnit o požadavky na spotřebu, dynamiku, typ pouzdra, rozmístění některých vývodů, velikost předpokládané série apod. Několik praktických tipů pro zadavatele:
Typický průběh návrhuJako obvyklý a nejpřirozenější postup se osvědčil tento: Informativní rozhovor Kontakt s návrhovým centrem je vhodné navázat co nejdříve. První rozhovor může proběhnout v nejobecnější rovině systémového řešení celého projektu, aby se od počátku zvolila koncepce maximálně využívající možností LCA. Ušetří se čas. Někteří konstruktéři se neradi zříkají toho, čemu věnovali své úsilí, i když se později ukáže, že věc šla vyřešit lépe. Počáteční konzultace Potom uživatel dodá předběžné zadání, aby se s ním návrhář mohl předem seznámit a opatřit si případné další potřebné informace. Potom následuje podrobná konzultace, při níž se vyjasní definitivní podoba zadání a případné další technické otázky. V této etapě je již možné stanovit i předběžné ceny a termíny dodání. Převzetí podkladů Následuje předání definitivní verze podkladů. Může k němu dojít buď při dalším osobním setkání (to je užitečné tehdy, když při počáteční konzultaci zůstaly otevřené podstatné problémy) nebo jednoduše poštou. Jsou-li podklady dobře definované (což je typické při opakovaných projektech), lze definitivní zadání převzít už během počáteční konzultace. Vlastní návrh Po kontrole podkladů a případném (v praxi téměř vždy) přepracování tak, aby byly eliminovány prohřešky proti správnému logickému návrhu, hazardní stavy apod. jsou podle potřeby provedeny funkční simulace. Následuje proces rozdělování schématu do bloků, jejich rozmístění a propojení a případné další simulace a dynamická analýza. Proces rozmisťování a propojování se pak iterativně (jak strojově, tak často ručně) opakuje, aby bylo dosaženo optimálních výsledků. Předání výsledků Výstupem návrhu je konfigurační soubor pro LCA, který se buď naprogramuje do externí konfigurační paměti nebo, což je při vývoji zařízení častější případ, předá na disketě (případně spolu s konfiguračním programem pro PC). Pro ověření funkce obvodu lze jako součást řešení předat i netlist pro simulaci, popř. odsimulované průběhy signálů. Součástí předání výsledků bývá i okamžité dodání jednoho nebo více kusů LCA. Případné změny, opravy, úpravy, ... Jednou z nejvíce okouzlujících vlastností LCA je právě jejich úžasná flexibilita, která umožňuje velmi snadno nejrůznější zásahy do funkce obvodu. Každý konstruktér ví, jak často je třeba něco přidat, ubrat či pozměnit. Pokud zbývají nějaké nepoužité uživatelské piny, je vhodné je pro odlaďování využít k vyvedení důležitých vnitřních signálů buď přímo, případně přes klopný obvod, kde se zachytí důležitý stav. To značně zrychluje oživování obvodu. Oživování návrhu I v této fázi nabízí návrhové centrun účinnou podporu. Přechod na novou obvodovou techniku nemusí být vždy bezproblémový - mohou nastat problémy s konfigurací, přes všechnu snahu a pečlivost může dojít i k ne zcela přesnému pochopení některé části zadání, a tím k nekorektní funkci obvodu, mohou se projevit nejrůznější nepříznivé vlivy apod. Utajení Podle požadavků uživatele zachází návrhové centrum s informacemi o návrhu různě: někdo si přeje zveřejnit o svém obvodu co nejvíce informací, jiný zase požaduje po ukončení návrhu dokonalé "smazání stop" po svém projektu, aby jej mohl stoprocentně ochránit před zneužitím. Mezi těmito dvěma extrémy existuje celé spektrum možností, a je věcí dohody, jak postupovat v konkrétním případě. Vlastní činnost návrháře a vliv na termíny a cenySložitost úlohy není dána ani tak množstvím logiky, ale spíše jejím charakterem. Z tohoto hlediska jsou podstatné dva aspekty:
Implementaci požadované logické struktury do LCA provádí návrhový systém ve třech krocích: a) Převedení logické struktury do reprezentace vnitřních logických elementů LCA, b) rozmístění vnitřních logických elementů po čipu LCA, c) jejich vzájemné propojení. Přitom pouze první krok je jednoznačný, efektivita následujících dvou kroků se k optimu přibližuje úměrně s vynaloženým strojovým časem a podílem ruční práce. Z bodu a) vyplyne (podle množství logiky a počtu pinů) nejmenší v ideálním případě postačující součástka. Řešení pro ni - konkrétně jde o bod c) - se však nemusí podařit nalézt ze dvou důvodů:
Nabízí se několik způsobů řešení těchto problémů:
Existuje tedy dostatek prostředků, aby zkušený návrhář dosáhl požadovaného výsledku. Co komplikuje práci návrháře:
Co komplikuje a co usnadňuje činnost návrhového systému:
Nakonec uveďme pro ilustraci modelový příklad: uživatel požaduje rozšíření mikroprocesorového systému o periferní obvod s osmi osmibitovými generátory PWM (pulzně-šířková modulace) a má v úmyslu vyrobit 25 kusů. Vhodným typem LCA je v tomto případě XC5202-6PC84C v pouzdru PLCC84, jehož cena je asi 300 Kč bez DPH. Cena takovéhoto návrhu se pohybuje kolem 5000 Kč. Výsledná cena za jeden kus obvodu s rozpuštěnými náklady na návrh pak vychází 500 Kč. |
| Máte-li zájem o další informace, zeptejte se nás. |
© ASIX s.r.o., 1991-2002. All rights reserved. |