Katapult C. - Catapult C
Katapult C. Synthesis, komerční elektronická automatizace designu produkt Mentor Graphics, je syntéza na vysoké úrovni nástroj, někdy nazývaný algoritmická syntéza nebo ESL syntéza. Catapult C trvá ANSI C. /C ++ a SystemC vstupy[1] a generuje úroveň přenosu registru (RTL) kód cílený na FPGA a ASIC.[2]
Dějiny
V roce 2004 společnost Mentor Graphics oficiálně oznámila svůj produkt Catapult C na vysoké úrovni pro syntézu nabízející podporu hierarchického designu pro syntézu pipeline, víceblokových subsystémů z nedoplněných popisů ANSI C / C ++. Hlavní funkcí Catapultu C bylo generování RTL (VHDL a Verilog ) zaměřené na ASIC a FPGA. Uživatelé zadali omezení pro načasování a oblast a poskytli časové období a cílovou technologii. Mentor také oznámil Catapult C Library Builder pro ASIC Designers pro sběr podrobných charakterizačních dat.[3]
V roce 2005 společnost Mentor oznámila rozšíření Catapultu C o automatické vytváření modelů a obalů na úrovni transakcí SystemC pro simulaci designu ve verifikačních prostředích podporujících SystemC. Mentor také představil syntézu rozhraní pro mapování přenosu dat implikovaného předáním argumentů funkce C ++ hardwarovým rozhraním, jako jsou dráty, registry, handshaked registry, paměti, sběrnice nebo složitější uživatelsky definovaná rozhraní.[4]
V roce 2006 společnost Mentor oznámila Catapult SL (úroveň systému) pro automatické vytváření subsystémů zpracování signálu. Catapult SL by mohl koordinovat rozdělení sekvenčních operací C do více bloků v subsystému, včetně rozdělení do více domén hodin. Catapult SL automaticky vloží příslušné meziblokové kanály a vyrovnávací paměti pro sestavení subsystému.[5]
V lednu 2009 společnost Mentor oznámila integraci mezi Catapultem C a jeho designovým a simulačním prostředím Vista SystemC za účelem automatického generování modelů na úrovni transakcí (TLM). V tomto procesu je neomezený vstup ANSI C ++ do Catapultu zapouzdřen v obálce TLM; informace o načasování jsou extrahovány z výsledků syntézy a zpětně anotovány ve výsledném modelu. Tok je kompatibilní se standardem TLM-2.0 z iniciativy Open SystemC Initiative (OSCI).[6]
V červnu 2009 společnost Mentor oznámila, že vylepšila Catapult C o schopnost syntetizovat řídicí logiku, vytvářet síťové seznamy RTL optimalizované pro výkon, s automatickým víceúrovňovým hodinovým hradlem a automatickým ověřovacím tokem umožňujícím ladění RTL proti původnímu C ++ vstup.[7]
V lednu 2010 společnost Mentor oznámila schopnost Catapultu C přijímat přímý vstup SystemC, včetně podpory založené na cyklech i na úrovni transakcí (TLM).[8]
V květnu 2011 společnost Mentor oznámila, že Catapult C podporuje syntézu TLM. Abstraktní modely TLM se převádějí na přesné modely s protokolem SystemC a odtud se syntetizují do kódu RTL. Stávající syntetizovatelné popisy lze převést na TLM.[9]
V srpnu 2011 získal Catapult C společnost Calypto Design Systems.[10]
V září 2015 získala společnost Mentor Graphics společnost Calypto Design Systems,[11] čímž znovu získá Catapult C.
Funkce
CatapultC syntetizuje ANSI C / C ++ bez proprietárních rozšíření. Podpora jazyka C / C ++ zahrnuje ukazatele, třídy, šablony, specializaci šablon a přetížení operátorů, což usnadňuje metodologii opětovného použití návrhu přes kód RTL.[12]
Catapult C podporuje syntézu algoritmů i řízení logiky.[13]
Návrháři provádějí iterace s CatC, aby vybrali preferovanou mikroarchitekturu pro specifikovaná omezení výkonu a oblasti.[14] Catapult má grafické uživatelské rozhraní s vizuálním pohledem na hardwarový obvod, který plánuje, stejně jako referenční hodiny mezi kódem C a kódem Verilog RTL. Catapult C má 3 typy simulace pomocí původního testovacího stolu C / C ++: na bázi cyklu, RTL a brány na úrovni.[15]
Catapult C podporuje generování modelů SystemC určených pro virtuální platformy a testovací prostředí SystemC k ověření vygenerovaného RTL oproti původnímu C ++ pomocí původního testovacího stolu C ++.
Catapult C podporuje syntézu modelů transakčních úrovní (TLM), včetně standardních běžných rozhraní sběrnice a vlastních protokolů.[16]
Konkurenční produkty HLS
- Stratus HLS z Cadence Design Systems
- Vivado HLS od Xilinx (dříve AutoPilot z AutoESL )
- Intel HLS od Intel (dříve a ++ od Altera)
- Překladač BlueSpec z BlueSpec
- Impulse C CoDeveloper od Impulse Accelerated Technologies
- Synphony C kompilátor z Synopsys
- LegUp od University of Toronto
- CyberWorkBench od NEC [1]
- C-to-Verilog z C-to-Verilog.com
- eXCite od Y Průzkumy
- ParC C ++ rozšířeno o paralelní zpracování a popis hardwaru
- HDL kodér z MathWorks
Reference
- ^ Design čipu Překlenutí ESL a syntézy na vysoké úrovni
- ^ University of Oulu Rychlé plánování efektivních architektur VLSI pro bezdrátový systém HSDPA nové generace pomocí C Synthesis
- ^ EETimes: Zavádění na vysoké úrovni umožňuje ESL[trvalý mrtvý odkaz ]
- ^ SOCCentrální Mentor Graphics rozšiřuje produkt syntézy Catapult C. Archivováno 2006-02-05 na Wayback Machine
- ^ SOCCentrální Mentor představuje syntézu na vysoké úrovni k vytváření vysoce výkonných subsystémů z čistého ANSI C ++ Archivováno 2013-09-13 v Archiv. Dnes.
- ^ EETimes Návrhový tok Mentor TLM 2.0
- ^ Zdroj SCD Mentor Catapult C syntetizuje řízení a správu napájení Archivováno 09.10.2011 na Wayback Machine
- ^ Design čipu Přemostění ESL a syntézy na vysoké úrovni
- ^ EETimes Mentor's TLM Synthesis spojuje virtuální prototypování a implementaci hardwaru
- ^ EETimes Calypto získává Mentor's Catapult C
- ^ PR Newswire Mentor Graphics získává Calypto Design Systems
- ^ University of Oulu Rychlé plánování efektivních architektur VLSI pro bezdrátový systém HSDPA nové generace pomocí C Synthesis
- ^ Zdroj SCD Mentor Catapult C syntetizuje řízení a správu napájení Archivováno 09.10.2011 na Wayback Machine
- ^ ICASSP Architektonický návrh a implementace algoritmu detektoru koulí s rostoucím poloměrem
- ^ Deepchip Návrh čipu C / C ++ pomocí syntézy na vysoké úrovni
- ^ EETimes Mentorova TLM syntéza spojuje virtuální prototypování a implementaci hardwaru