Laste ned 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
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.