Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Simulering, syntese og verifikasjon (Max kap. 19)

Liknende presentasjoner


Presentasjon om: "Simulering, syntese og verifikasjon (Max kap. 19)"— Utskrift av presentasjonen:

1 Simulering, syntese og verifikasjon (Max kap. 19)
Innhold: Simuleringsmetoder Hendelsesbasert Cyclebasert Plassering av design i FPGA (syntese) Verifikasjon INF H13 INF 3430

2 Hendelsdrevet simulering
10ps 15ps 5ps 5ps INF H13 INF 3430

3 Ulik stige- og falltid (LH og HL)
Min, avr, max er med forå ta høyde for variasjoner med temperatur og spenning. INF H13 INF 3430

4 Med min:typ:max delay INF3430 - H13
Min, avr, max er med forå ta høyde for variasjoner med temperatur og spenning. INF H13 INF 3430

5 Inertial vs. Transport delay
Her er bare inertial vist. Ved transport delay vil 4 ps. Pulsen passert igjennom. Inertial delay er default i VHDL. Transport delay skrives som: out1<=transport in1 after 4 ps; Et yndet VHDL kompetanse spørsmål!! INF H13 INF 3430

6 Cycel based simulator C1 C2
Dropper tidsforsinkelser og regner kun ut boolske uttrykk. Kan brukes på utvalgte deler av en krets der andre deler simuleres med hendelsesdrevet simulering. Reduserer tiden for simulering betydelig. Lite brukt. INF H13 INF 3430

7 HDL-syntese til FPGA INF3430 - H13
Problemet med simulatorene foran er at de hovedsaklig ser på portforsinkelsen og bruker forenklede modeller (antall laster) for ruting-forsinkelser som er dominerende på FPGA. INF H13 INF 3430

8 Syntese med fysisk informasjon
Benytter informasjon om faktiske tidsforsinkelser i FPGAen til å beregne tidsforsinkelser og finjustere logikk i kretsen. INF H13 INF 3430

9 Syntese med fysisk informasjon: Retiming
Balanserer ut negativ og positiv tidsslakk i designet: Flytter på logikk. Veldig mye brukt i FPGA, siden de har mange flip-floper INF H13 INF 3430

10 Syntese med fysisk informasjon: Kopiering
Flytter vippe nærmere etterfølgende innganger slik at en oppnår positiv “slakk”. INF H13 INF 3430

11 Syntese med fysisk informasjon: Resyntese
Det er mange måter å implementere et design på i en FPGA. Bruker resyntese for lokal optimalisering av kritiske signalveier ved restrukturering av logikk, eliminasjon av porter og forbindelser med mer. …. til timing krav endelig oppfylles  INF H13 INF 3430

12 Timing analyse Nødvendig for å endelig bestemme klokkefrekvens/tidsforsinkelsen til et design. Statisk timing analyse: Summerer forsinkelser til porter og forbindelseslinjer. Før “Place-and-Route”: Anslag gjøres på forsinkelse i forbindelseslinjer. Etter “Place-and-Route”: Ekstrahere verdier for fysiske forbindelser for mer presis beregning. Bruker vanligvis worst-case verdier. INF H13 INF 3430

13 Verifikasjon av et komplekst system
Skrive testbenk med bitnivå beskrivelse av inngangsverdier og tilhørende utgangsverdier. Ikke mulig ved komplekse enheter som en prosessor. Benytte register-nivå (RTL) beskrivelse av alle eksterne enheter. Blir for tidkrevende å simulere. Løsning: Verifikasjons-IP (Intellectual Property) i form av en Bus Functional Model (BFM). INF H13 INF 3430

14 Bus Functional Model (BFM)
DUT: Device under test BFM’er representerer prosessorer, I/O-enheter mm. Ikke ved å kopiere hele funksjonaliteten, men snarere ved å emulere bussene og bruke transaksjoner (høynivå busshendelser som skriving og lesing). Den høyere BFM’en transformerer tilbake fra bitnivå til høynivå transaksjonsbeskrivelse. INF H13 INF 3430

15 Formell verifikasjon Ekvivalenssjekk: Et verktøy som bruker formelle (matematiske) metoder for å sammenligne to forskjellige representasjoner av et design. Modellsjekk: Utforske tilstandsrommet til et system for å teste om visse egenskaper (assertions) er sanne. INF H13 INF 3430

16 Formell verifikasjon Assertions:
Gjør det mulig å beskrive oppførselen til et system på en formell måte som gir en utvetydig representasjon av designerens intensjon. Eks: Signal A og B skal aldri være aktive (”0”) på samme tid. Lesbare av både menneske og maskin. Et verifikasjonsverktøy gransker designet for å forsikre at uønsket oppførsel (angitt med assertions) aldri oppstår. Assertions kan legges inn VHDL-koden eller på egen fil. INF H13 INF 3430

17 Formell verifikasjon - terminologi
Assertions/properties: Et utsagn om et attributt for et design som antas å være sant. Constraints: Avgrense inngangsvektorer til lovlige/gyldige kombinasjoner av inngangene. Event: Spesifiserer normalt ønsket oppførsel. En assertion kan inneholde en serie med events. Procedural: Assertions/properties/constraints/events som kodes i en VHDL/Verilog process. Ofte kalt ”in-context” assertions. Declarative: En assertions/properties/constraints/event som beskriver egenskaper ved ”structural” deler av et design (dvs. sammenkoblingen av modulene). Dette er egenskaper som alltid er aktive, mens procedural som finnes nede i modulen blir avhengig av om de blir utført under simuleringen. Pragma: Forkortelse for pragmatic information. Dette er kommandoer som legges ved i koden for spesielle verktøy. F.eks. “-- synopsys translate_off … < VHDL oppførselskode>… -- synopsys translate_on. INF H13 INF 3430

18 Formell verifikasjon - programvare
Temmelig forvirrende figur synes jeg …. … SystemVerilog har sitt eget assertion språk lignende PSL, VHDL-2008 har et subset av PSL. I tillegg har man PSL språket som enten kan legges inn i VHDL/SystemVerilog/Verilog koden som kommentarer eller legges inn i egne filer ved siden av koden. OVL er et selvstendig bibliotek med checkers som kan benyttes av SystemVerilog/Verilog og VHDL og PSL’s Verilog versjon. INF H13 INF 3430

19 Hurtigere simulering Simulering av store systemer (system med prosessor, minne, mm) beskrevet i VHDL går veldig++ sakte. Modeller beskrevet i høynivå språk som C/C++ og Matlab (for DSP) er langt raskere å simulere. => Trend mot å ta i bruk mer høynivåbeskrivende språk i design. Vi kommer tilbake til dette i forelesningen til kapittel 12 i boka. INF H13 INF 3430


Laste ned ppt "Simulering, syntese og verifikasjon (Max kap. 19)"

Liknende presentasjoner


Annonser fra Google