Verilog-A - Verilog-A
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Verilog-A je průmyslový standardní modelovací jazyk pro analogové obvody. Jedná se o podmnožinu nepřetržitého času Verilog-AMS.
Dějiny
Verilog-A byl vytvořen z důvodu potřeby standardizace Přízrak jazyk chování tváří v tvář konkurenci VHDL (standard IEEE), který absorboval analogové schopnosti z jiných jazyků (např. MAST). Open Verilog International (OVI, orgán, který původně standardizoval Verilog) souhlasil s podporou standardizace za předpokladu, že to bylo součástí plánu na vytvoření Verilog-AMS - jediného jazyka pokrývajícího analogový i digitální design. Verilog-A byl vše analogovou podmnožinou Verilog-AMS, která byla první fází projektu.
Mezi prvním Verilog-A bylo značné zpoždění (možná otálení) referenční příručka k jazyku a plné Verilog-AMS V té době se Verilog přestěhoval do IEEE a nechal Verilog-AMS za sebou Accellera.
E-mailový protokol z 2000AD najdete tady.
Standardní dostupnost
Standard Verilog-A neexistuje samostatně - je součástí úplného standardu Verilog-AMS. Jeho LRM je k dispozici na internetu Accellera webová stránka.[1] Je však možné najít počáteční a následující vydání tady, s tím, co pravděpodobně bude finální verze tady protože budoucí práce využije nové možnosti typu sítě v SystemVerilog. Vestavěné typy jako „wreal“ ve Verilog-AMS se stanou uživatelem definovanými typy v SystemVerilog více v souladu s VHDL metodologie.
Kompatibilita s Programovací jazyk C.
Podskupinu Verilog-A lze automaticky přeložit do Programovací jazyk C. za použití Automatický syntetizátor modelu zařízení (ADMS). Tato funkce se používá například k překladu BSIM Modely tranzistorů Verilog-A, které již nejsou vydávány v C, pro použití v podobných simulátorech ngspice.[2]
Příklad kódu
Tento první příklad poskytuje první ukázku modelování ve Verilog-A:
`zahrnout "constants.vams"`zahrnout „disciplines.vams“modul příklad(A,b,C,d,E,F); parametr nemovitý R = 1m; parametr nemovitý C = 1u; parametr nemovitý L = 1u; parametr celé číslo získat = 2; vstup A; výstup b; dovnitř ven C,d,E,F; elektrický A,b,C,d,E,F; analogový začít // Modelování soustředěných prvků // Rezistor PROTI(C,d) <+ R*Já(C,d); //Induktor // Shromažďuje se více přiřazení proudu nebo napětí PROTI(C,d) <+ L * ddt(Já(C,d)); // Kondenzátor Já(E,F) <+ C * ddt(PROTI(E,F)); // Jednoduchý zesilovač // Napětí jsou vztažena k zemi, pokud není uveden druhý uzel PROTI(b) <+ získat * PROTI(A); konec endmodul
Tento příklad Verilog-AMS implementuje ideální diodu definováním proudu skrz větev (a, c) v závislosti na napětí na svorkách větve (a), (c) a okolní teplotě simulovaného obvodu:
// Ideální diodamodul dioda (A, C); dovnitř ven A, C; elektrický A, C; parametr nemovitý JE = 1.0e-14; // Uživatelem nastavitelný saturační proud nemovitý idio; /* * Vypočítejte nelineární proud procházející diodou v závislosti na * - tepelné napětí $ vt (při okolní teplotě simulovaného obvodu) a * - napětí mezi svorkami */ analogový začít idio = JE * (limexp(PROTI(A,C)/$ vt) - 1); Já(A,C) <+ idio; konec endmodul
U jednoduchého zdroje stejnosměrného napětí je napětí větve nastaveno na konstantní hodnotu (DC):
// Zdroj stejnosměrného proudumodul vsrc (p,n); parametr nemovitý DC = 1.0; dovnitř ven p, n; elektrický p, n; analogový začít // Přiřaďte konstantní stejnosměrné napětí v každém časovém kroku: PROTI(p,n) <+ DC; konecendmodul
Vestavěný generátor sinusového napětí může používat hřích() funkce:
// Zdroj sinusového napětí`zahrnout "constants.vams" modul vsin (p,n); parametr nemovitý amplituda = 1.0; parametr nemovitý frekvence = 50.0; parametr nemovitý fáze = 0.0; dovnitř ven p, n; elektrický p, n; analogový začít PROTI(p,n) <+ amplituda * hřích(`M_TWO_PI * frekvence * $ abstime + fáze); $ bound_step(0.1/frekvence); // požadovat alespoň 10 bodů za cyklus, aby nedocházelo k problémům s aliasingem konecendmodul
Viz také
Reference
- ^ Standard Verilog-AMS
- ^ „Pokyny pro převod Verilog-A na C“. ngspice. Citováno 2019-07-17.
externí odkazy
- Cíle jazykového designu (cca 1994)
- Skupina analogových smíšených signálů Accellera Verilog
- Příručky k jazykovým referencím
- Průvodce designérem Verilog-AMS
- verilogams.com - Uživatelská příručka pro Verilog-AMS a Verilog-A
- Komunita designéra - Příklady modelů napsaných ve Verilog-A