Hjelp! Hvordan sikre at netlists fra syntese er riktige?

C

cheat0821

Guest
Jeg syntetisere koden min av DC, etter det får jeg netlist og SDF filer. For å sikre at resultatet er riktig, bruker jeg dem til å gjøre en simulering, men jeg får ingen wave der bortsett mange metastabilities. Forresten, er det ingen timing brudd etter syntese og kun har en advarsel: "Potential simulering-syntese mismatch hvis index overstiger størrelsen på array 'Court". Jeg tror det er fordi jeg trenger en 216-bits output "Court", som består av 36 6-bits enheter, så jeg bruker en 6-bits adresse fra "000000" til "100011". Hvorfor resultatet av simuleringen er galt? bare på grunn av denne advarselen? Hva bør jeg gjøre nå? Takk hilsen
 
Har du LMU din netlist å sjekke det er logisk ekvivalent til RTL koden? Mener du X eller Z i simulering når du sier metastabilities?
 
Formell Logic Equivalent Check (LMU), mener du dette? Jeg gjorde ikke det. Hva er verktøyet for LMU? Jeg har bare DC for syntese og ModelSim for simulering. den metastability, mener jeg X.
 
LMU er et tråkkfrekvens konforme verktøy som utfører logikk tilsvarende sjekk Sometime DC kan søles ut junks som ikke samsvarer med din rtl For X er det du får, vet du da starter den (f.eks fra en tilstand maskin eller alle registre snu X en gang komme ut av POR eller du har highZ innspill til noen celler) Når DC søler ut SDF-filen, gjorde du bare se på loggen og sjekke om det er noen timing brudd? Hva skjer hvis du ikke kommentere SDF fil? Jeg tror ikke "Potential simulering-syntese mismatch hvis index overstiger størrelsen på array 'Court" er et problem hvis du bruker et signal til din adresse registrere bank.
 
Må syntese trinnvis. Det er syntetisere en modul, mens la andre forbli i atferdsmessige eller unsynthesized tilstand. Nå kjøre simulering og se det works.Then syntetisere den andre modulen og se om det fungerer til alle moduler er syntetisert. Denne måten vil du finne modul som forårsaker problemet etter syntese. Håper det hjelper
 
til shumws, Når SDF filen er sølt ut, er det ingen advarsel eller feil, sier bare en informasjon "last forsinkelse er inkludert i celle forsinkelser". Jeg ser på bølgeform og finner ut at omtrent én syklus etter reset signal, mange garn tilbake til X igjen. Og hvis ikke kommentere SDF-fil, vil det være feil som dette: "Feil: / home/..../smic18m.v (9755): $ hold (posedge CK: 4 ns, posedge RN: 4 ns, 500 ps) ; Tid: 4ns Iterasjon: 2 Instance: / Test_Calibration/FA/F8 / \\ Cout_reg [29] [3] \\ ". alle feilene er om holdtime. hvis kommentere SDF-fil, feil der fortsatt og setuptime feil, også. Hvorfor dose dette skje? DC rapportene er det ingen timing brudd, hvorfor simulatoren rapportene så mange oppsett og hold feil? og Tariq, vil jeg prøve det du sa, takk for forslaget ditt. Takk, folkens. Jeg virkelig setter pris på din hjelp!
 
Det kan være noen grunner. Når du bruker DC, gjorde du spesifisere klokker som du bruker? Hvis du ikke har spesifisert klokkene, kan det være et problem. Visste du også buffered opp signal om at din adresse registrere bank? Virker som det er en stor fan ut netto. Er din klokke og reset på samme kanten? Hold kan være en reset hold tid (fjerning) overtredelse. I så fall gjøre reset signal 5ns hverandre døgnet kanten.
 
Jeg har spesifisert klokke i DC, og min reset er på fallende kant, mens klokken er på stigende flanke. Jeg prøvde hva Tariq sa, syntetisert en modul og la andre forbli unsynthesized.When jeg simulert bare syntetisert modulen, er det OK. Men når jeg gjør en simulering med syntetisert ene og andre unsynthesized modulene sammen, er det X tilstand igjen. så, kanskje det er den andre grunnen du sa. Men jeg har allerede bruker kommandoen "set_fix_multiple_port_nets-buffer_constants-all", og hva du skal gjøre neste?::
 

Welcome to EDABoard.com

Sponsor

Back
Top