Προς το περιεχόμενο

Synopsys Design compiler-Πρόβλημα


paranoid_gr

Προτεινόμενες αναρτήσεις

Δημοσ.

Το 1 ήταν ένα πρόβλημα που πλέον διορθώθηκε και τώρα πλέον μου δίνει θετικό slack(αν και δεν είμαι οτι θέλω θετικό...Οπως δεν είμαι σίγουρος και για το αρνητικό :confused: :lol: :lol: )

 

 

 

 

Aυτό που με προβληματίζει ειναι το data arrival time που μου δίνει 0.Γτ το 0.75 είναι αυτο που έχω δώσει εγώ με το set_max_delay to[all_outputs].Το set_false_path δεν είδα να κάνει και καμία διαφορά.

 

Το πρόβλημα πλεόν νομίζω είναι πως να δώσω τιμές στα si,τα οποία είναι 5bit,δοκίμασα με set_drive αλλά εκει πρεπει να δώσω ή 0 ή 1,που είναι και unstable καταστάσεις.

 

Κάνε ένα post-synthesis simulation να δεις τι γίνεται και αν έχεις timing violations. Τι εννοείς να δώσεις τιμές στα si, αυτό θα το κάνεις στο simulation (εκτός και αν χάνω κάτι).

Δημοσ.

Τα si ειναι το scan input των flip-flop.Αυτο θέλω να κάνω άλλα όταν δίνω τιμές στα si.Κάνω set_drive $SI 1 to [all_inputs] ενώ στο simulation μου βγάζει οτι πήρανε την τιμή δεν βλέπω κάποια αλληλεπίδραση απο το κύκλωμα.Αυτο ρωτάω.Θέλω ένα τρόπο να παρουν τιμές τα si....

Δημοσ.

Τα si ειναι το scan input των flip-flop.Αυτο θέλω να κάνω άλλα όταν δίνω τιμές στα si.Κάνω set_drive $SI 1 to [all_inputs] ενώ στο simulation μου βγάζει οτι πήρανε την τιμή δεν βλέπω κάποια αλληλεπίδραση απο το κύκλωμα.Αυτο ρωτάω.Θέλω ένα τρόπο να παρουν τιμές τα si....

 

 

Πρόσεξε, αν κάνεις στην σύνθεση set_drive 1 στα inputs σου, απλά θα τα καρφώσεις στο 1, οπότε πιο το νόημα να είναι είσοδοι (αν θες να είναι πάντα 1). Κάνε ένα RTL simulation να δεις ότι functionally είσαι οκ, και μετά τη σύνθεση ένα post-synthesis simulation προκειμένου να δεις και timing violations αλλά και functionality. Θα πρέπει να φτιάξεις και κάποιο testbench, αν δεν το έχεις κάνει είδη.

Δημοσ.

Ok το πρόβλημα διορθώθηκε και πλέον τρέχει κανονικά.Ένα πράγμα που δεν μπορώ να καταλάβω είναι ότι όταν το έτρεξα με το περίοδο 6ns το report_timing για να μου βγαλει 1 μονοπάτι με την μεγαλύτερη καθυστέρηση.Και μου υπολογίζει το μονοπάτι με startpoint to q_reg[1] k endpoint to q_reg[0] και μετα με startpoint to q_reg[2] μέχρι out[0]

 

report_timing

 

****************************************

Report : timing

-path full

-delay max

-max_paths 1

Design : lsu_dcache_lfsr

Version: D-2010.03-SP3

Date : Wed Jun 1 17:04:19 2011

****************************************

 

Operating Conditions:

Wire Load Model Mode: top

 

Startpoint: lfsr_reg/q_reg[1]

(rising edge-triggered flip-flop clocked by clk)

Endpoint: lfsr_reg/q_reg[0]

(rising edge-triggered flip-flop clocked by clk)

Path Group: clk

Path Type: max

 

Point Incr Path

-----------------------------------------------------------

clock clk (rise edge) 0.00 0.00

clock network delay (ideal) 0.00 0.00

lfsr_reg/q_reg[1]/CP (FD1) 0.00 0.00 r

lfsr_reg/q_reg[1]/Q (FD1) 1.53 1.53 r

lfsr_reg/q[1] (dff_s_SIZE5) 0.00 1.53 r

U20/Z (EO) 1.13 2.65 f

U19/Z (ND2) 0.64 3.29 r

U21/Z (AO3) 0.62 3.91 f

lfsr_reg/din[0] (dff_s_SIZE5) 0.00 3.91 f

lfsr_reg/U7/Z (AO2P) 1.06 4.97 r

lfsr_reg/U3/Z (IVP) 0.19 5.17 f

lfsr_reg/q_reg[0]/D (FD1) 0.00 5.17 f

data arrival time 5.17

 

clock clk (rise edge) 6.00 6.00

clock network delay (ideal) 0.00 6.00

lfsr_reg/q_reg[0]/CP (FD1) 0.00 6.00 r

library setup time -0.80 5.20

data required time 5.20

-----------------------------------------------------------

data required time 5.20

data arrival time -5.17

-----------------------------------------------------------

slack (MET) 0.03

 

 

Startpoint: lfsr_reg/q_reg[2]

(rising edge-triggered flip-flop clocked by clk)

Endpoint: out[0] (output port)

Path Group: default

Path Type: max

 

Point Incr Path

-----------------------------------------------------------

lfsr_reg/q_reg[2]/CP (FD1) 0.00 0.00 r

lfsr_reg/q_reg[2]/Q (FD1) 1.47 1.47 f

lfsr_reg/q[2] (dff_s_SIZE5) 0.00 1.47 f

out[0] (out) 0.00 1.47 f

data arrival time 1.47

 

max_delay 1.50 1.50

output external delay 0.00 1.50

data required time 1.50

-----------------------------------------------------------

data required time 1.50

data arrival time -1.47

-----------------------------------------------------------

slack (MET)

 

 

Eνώ άμα βάλω περίοδο 1,5ns υπολογίζει τα μονοπάτια με startpoint q_reg[1] μεχρι και q_reg[2] και μετά startpoint q_reg[0] μέχρι out[1].

 

report_timing

 

****************************************

Report : timing

-path full

-delay max

-max_paths 1

Design : lsu_dcache_lfsr

Version: D-2010.03-SP3

Date : Wed Jun 1 17:33:16 2011

****************************************

 

Operating Conditions:

Wire Load Model Mode: top

 

Startpoint: lfsr_reg/q_reg[1]

(rising edge-triggered flip-flop clocked by clk)

Endpoint: lfsr_reg/q_reg[2]

(rising edge-triggered flip-flop clocked by clk)

Path Group: clk

Path Type: max

 

Point Incr Path

-----------------------------------------------------------

clock clk (rise edge) 0.00 0.00

clock network delay (ideal) 0.00 0.00

lfsr_reg/q_reg[1]/CP (FD1P) 0.00 0.00 r

lfsr_reg/q_reg[1]/Q (FD1P) 1.56 1.56 f

lfsr_reg/q[1] (dff_s_SIZE5) 0.00 1.56 f

U20/Z2 (B2I) 0.93 2.49 f

U35/Z (MUX21LP) 0.53 3.02 r

U37/Z (ND2P) 0.25 3.27 f

lfsr_reg/din[2] (dff_s_SIZE5) 0.00 3.27 f

lfsr_reg/U9/Z (MUX21LP) 0.56 3.83 r

lfsr_reg/U10/Z (IVAP) 0.17 4.00 f

lfsr_reg/q_reg[2]/D (FD1) 0.00 4.00 f

data arrival time 4.00

 

clock clk (rise edge) 1.50 1.50

clock network delay (ideal) 0.00 1.50

lfsr_reg/q_reg[2]/CP (FD1) 0.00 1.50 r

library setup time -0.80 0.70

data required time 0.70

-----------------------------------------------------------

data required time 0.70

data arrival time -4.00

-----------------------------------------------------------

slack (VIOLATED) -3.30

 

 

Startpoint: lfsr_reg/q_reg[0]

(rising edge-triggered flip-flop clocked by clk)

Endpoint: out[1] (output port)

Path Group: default

Path Type: max

 

Point Incr Path

-----------------------------------------------------------

lfsr_reg/q_reg[0]/CP (FD1P) 0.00 0.00 r

lfsr_reg/q_reg[0]/Q (FD1P) 1.54 1.54 f

lfsr_reg/q[0] (dff_s_SIZE5) 0.00 1.54 f

out[1] (out) 0.00 1.54 f

data arrival time 1.54

 

max_delay 1.50 1.50

output external delay 0.00 1.50

data required time 1.50

-----------------------------------------------------------

data required time 1.50

data arrival time -1.54

-----------------------------------------------------------

slack (VIOLATED) -0.04

 

 

Aυτο πραγματικά δεν μ φαίνεται λογικό!!!Για ποιο λόγο γίνεται αυτό.Μήπως υποψιάζεσαι κάτι?

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...