Verilog-AMS (fra Verilog A nalog M ixed - S ignal Simulation) er et hardwarebeskrivelses- og modelleringssprog skabt af Accellera baseret på Verilog-A og Verilog-D med yderligere funktioner, hvis formål er at arbejde med analog , analog- digitale systemer og integrerede kredsløb , brugen af moduler, på høje niveauer af adfærdsmæssige og strukturelle beskrivelser af systemer og dets komponenter.
Verilog-AMS - hardwarebeskrivelsessprog ( HDL ); Verilog ( IEEE 1364 -1995 Verilog HDL)). Egenskaberne ved Verilog-AMS-moduler kan beskrives matematisk og ved de interne parametre for dette modul. Strukturen af en komponent kan også beskrives i form af dens tilknyttede underkomponenter. Denne beskrivelse kan bruges i forskellige discipliner. Verilog-AMS HDL-komponenter og -arkitektur består af den komplette IEEE 1364-1995 Verilog HDL-specifikation (Verilog-D) til beskrivelse af analoge systemer (Verilog-A) plus Verilog-AMS HDL-udvidelserne.
Verilog-AMS HDL bruges til at beskrive stifter , porte og net . Når man arbejder med analoge enheder, bruges generaliserede formbevaringslove , såsom Kirchhoff og potentiale (KPL og KFL) . De er defineret i form af mængder (såsom spænding og strøm ) forbundet med analoge kredsløbs opførsel. Verilog-AMS HDL kan også bruges til at beskrive digitale systemer (i IEEE 1364 -1995 Verilog HDL) og blandede (analog-digitale) systemer ved hjælp af diskrete og kontinuerlige beskrivelser som defineret i LRM.
Verilog-AMS HDL udvider funktionerne i Digital Simulation Language (IEEE 1364-1995 Verilog HDL) ved at levere det eneste forenede sprog, der er kompatibelt med analog og digital semantik.
Et system er meget gennemtænkt, da det er en samling af relaterede komponenter, der interagerer, kan komponenterne i sig selv også være systemer, når et hierarkisk system er defineret. Hvis en komponent ikke har nogen underkomponenter, så er den en primitiv. Hver primitiv er forbundet med nul eller flere netværk. Hvert net er forbundet med et signal , der kan bevæge sig gennem flere niveauer i hierarkiet. Hver komponents adfærd bestemmes af værdierne i netværket. Hvis alle de net, der er forbundet til et signal, er i det diskrete domæne, er signalet digitalt. Hvis de er i det kontinuerlige domæne, er signalet analogt. Et signal, der er et aggregat fra netværkene i begge domæner, kaldes et blandet signal. På samme måde er en port , en analog port og en digital port og en port forbundet til analog og digital en blandet port. Komponenter er forbundet til noder gennem porte og kredsløb for at danne et hierarki. Hvis signalet er analogt eller blandet, er det knyttet til noden, mens det digitale signal ikke er knyttet til noden. Uanset antallet af analoge netværk i et analogt eller blandet signal, er det analoge signal kun repræsenteret af en enkelt knude. Dette sikrer, at det blandede eller analoge signal kun har én betydning, potentiale i forhold til jord. For at modellere systemer er det nødvendigt at have en komplet beskrivelse af systemet og alle dets komponenter. Beskrivelser af systemer er normalt givet strukturelt, det vil sige, at de indeholder mønstre af komponenter og hvordan de er relateret, ved hjælp af en adfærdsmæssig eller strukturel beskrivelse. Adfærdsbeskrivelse - matematisk beskrivelse , på niveau med signaler i komponenternes porte.
Et vigtigt kendetegn ved systemer er, at der er to værdier forbundet med hver knude, potentiale ( spændingsværdi i elektriske systemer ) og strøm (flow i elektriske systemer). Nodepotentialet er forbundet med alle kontinuerlige porte og netværk forbundet til noden, og kredsløbene ser det samme potentiale. Flowet opdeles som flowet fra alle sammenhængende porte og netværk i noden og summeres til nul (0). Noden fungerer således som et lille sammenkoblingspunkt, hvor potentialet er det samme i hele knudepunktet, og hvor ingen strøm kan akkumuleres. Således kombinerer noden Kirchhoffs lov og nuværende love (KPL og KFL). Når et element er forbundet til en node gennem en port eller et netværk, kan det påvirke enten potentialet ved noden eller strømmen ved noden gennem porten eller netværket. Med konservative systemer er det også muligt at definere grenadfærd. En gren er en strømningsvej mellem to knudepunkter gennem et element. Hver gren har et tilknyttet potentiale (potentiel forskel mellem de to noder) og et flow. Den adfærdsmæssige beskrivelse af et element er en samling af relaterede grene.
Som et resultat af analoge netværksportforbindelser kan én node forbindes til mange netværk med forskellige karakteristika. Signalflowmodeller kan beskrives som potentialerne for moduludgangene, funktioner af potentialerne ved indgangene, er uafhængige af flowet. Som et eksempel - en skiftende spændingsfølger :
modulskiftPlus5(ind, ud); input i; output ud; spænding ind, ud; //spændings-strøm signal, //men kun potentiale analog begynde V(ud) <+ 5,0 + V(in); ende slutmodulHvis mange sådanne moduler blev kaskadekoblet i serie, så ville det være nødvendigt at spare ladning (dvs. sumstrømme) ved enhver passeret knude. Hvis udgangen på denne enhed på den anden side var forbundet til en node, ville enhedens udgang blive styret af en spændingskilde . I dette tilfælde vil strømmen gennem kilden hjælpe med at holde ladningen i noden.
Fremgangsmåden er at skrive beskrivelsesfunktionsbestanddelene ved hjælp af konservativ semantik bortset fra porten, værdier er påkrævet for alle bestanddele, der faktisk bruges i beskrivelsen. Signalportene kræver således kun det potentiale, der er defineret.
Overvej for eksempel en differentialspændingsforstærker og en modstand . Forstærkere er beskrevet ved hjælp af spændings- eller strømsignalporte, mens modstande bruger blandede porte.
I dette tilfælde er kun spændingen på portene deklareret, fordi kun spændingen bruges i modellens krop.
modul voltage_amplifier (ud, ind) ; input i ; output ud; spænding ud , // Spændingsværdien bestemmes af V()-funktionen i; parameter real GAIN_V = 10,0 ; analog V(ud) <+ GAIN_V * V(in) ; slutmodulHer bruges kun strømmen i modellens krop
modul strømforstærker (ud, ind) ; input i ; output ud; strøm ud , // Den aktuelle værdi bestemmes af I()-funktionen i; parameter real GAIN_I = 10.0 ; analog I(ud) <+ GAIN_I * I(in) ; slutmodulModstandsbeskrivelsen relaterer spændingen og strømmen på portene.
modulmodstand (a, b); inout a, b; elektrisk a, b; //V() og I() funktioner parameter reel R = 1,0; analog V(a,b) <+R*I(a,b); slutmodul