V
valxiao
Guest
Salut, les gars,
je rencontre un problème avec la simulation au niveau porte, courir dans ModelSim, il apparaît le texte suivant:
-------------------------------------------------- ----------
R: ../../libs/modelsim_asic/fsc0g_d_sc.v (18445): $ setup (negedge D & & & ~ SEL: 2841 ps, CK posedge: 3 ns, 267 ps);
Durée: 3 ns itération: 5 instance: /../../../../../ reg_coeff_data_reg_210_
-------------------------------------------------- ----------
CLK banc d'essai: Forever # 3 <CLK CLK CLK = ~; (6ns)
CLK dans la synthèse: set clk_period 4.8ns * 0,9
ensemble clk_skew 0.4ns
...
et report_max_path est: 0.006ns
pourquoi encore violation avec $ d'installation pour reg_coeff_data_reg_210_?Merci!
sdf dans:
(CELL
(CELLTYPE "QDFZCGD")
(Instance ../../reg_coeff_data_reg_210_)
(DELAY
(Absolue
(Q CK IOPATH (0.381:0.381:0.381) (0.346:0.346:0.346))
)
)
(TIMINGCHECK
(LARGEUR (posedge CK) (0.258:0.258:0.258))
(LARGEUR (negedge CK) (0.620:0.620:0.620))
(SETUP (posedge D) (posedge CK) (0.276:0.282:0.282))
(SETUP (negedge D) (posedge CK) (0.261:0.267:0.267))
(HOLD (posedge D) (posedge CK) (-0,099: -0,103: -0,103))
(HOLD (negedge D) (posedge CK) (-0,037: -0,039: -0,039))
(SETUP (posedge TD) (posedge CK) (0.421:0.421:0.421))
(SETUP (negedge TD) (posedge CK) (0.817:0.817:0.817))
(HOLD (posedge TD) (posedge CK) (-0,192: -0,192: -0,192))
(HOLD (negedge TD) (posedge CK) (-0,155: -0,155: -0,155))
(SETUP (posedge SEL) (posedge CK) (0.783:0.783:0.783))
(SETUP (negedge SEL) (posedge CK) (0.353:0.353:0.353))
(HOLD (posedge SEL) (posedge CK) (-0,128: -0,128: -0,128))
(HOLD (negedge SEL) (posedge CK) (-0,034: -0,034: -0,034))
)
)en stand-cellulaire
module QDFZCGD (Q, D, TD, CK, SEL);
reg pavillon; / / Indicateur d'alerte
sortie Q;
D 'entrée, CK, TD, SEL;
supply1 VCC;
d_CK fil, d_D, d_TD, d_SEL;
/ Bloc Fonction /
«De protéger
buf G3 (Q, QT);
dffrsb_udp G2 (qt, D1, d_CK, VCC, VCC, drapeau);
mux2_udp G4 (D1, d_D, d_TD, d_SEL);
/ / Spécifiez Block
préciser
/ / Chemin Delay Module
(CK posedge *> (Q: 1'bx)) = (10.68:16.82:30.00, 11.19:17.49:31.13);
/ / Le programme d'installation et de Hold Time
setup_D_CK specparam = 9,30;
hold_D_CK specparam = 0,00;
setup_TD_CK specparam = 10.30;
hold_TD_CK specparam = 0,00;
setup_SEL_CK specparam = 8,60;
hold_SEL_CK specparam = 0,00;
$ Setuphold (CK posedge, posedge D & & & ~ SEL, 7.91:13.35:25.21, -2,94: -4,93: -8,41, drapeau,,, d_CK, d_D);
$ Setuphold (CK posedge, negedge D & & & ~ SEL, 6.55:11.99:24.10, -1,46: -2,09: -2,87, drapeau,,, d_CK, d_D);
$ Setuphold (CK posedge, posedge TD & & & SEL, 10.87:18.28:36.31, -4,92: -8,14: -14,82, drapeau,,, d_CK, d_TD);
$ Setuphold (CK posedge, negedge TD & & & SEL, 22.09:38.87:79.21, -7,51: -9,99: -14,21, drapeau,,, d_CK, d_TD);
$ Setuphold (CK posedge, posedge SEL, 22.58:38.87:78.10, -4,92: -7,64: -13,35, drapeau,,, d_CK, d_SEL);
$ Setuphold (CK posedge, negedge SEL, 11.61:19.14:35.81, -1,59: -2,59: -3,36, drapeau,,, d_CK, d_SEL);
/ / Largeur d'impulsion minimale
mpw_pos_CK specparam = 15,64;
mpw_neg_CK specparam = 17,40;
largeur $ (CK posedge, 6.87:12.53:25.83, 0, flag);
largeur $ (CK negedge, 17.95:30.51:62.04, 0, flag);
endspecify
»Endprotect
endmodule
»Endcelldefine
lorsque la synthèse, j'ai utilisé "CLK set_fix_hold"
je rencontre un problème avec la simulation au niveau porte, courir dans ModelSim, il apparaît le texte suivant:
-------------------------------------------------- ----------
R: ../../libs/modelsim_asic/fsc0g_d_sc.v (18445): $ setup (negedge D & & & ~ SEL: 2841 ps, CK posedge: 3 ns, 267 ps);
Durée: 3 ns itération: 5 instance: /../../../../../ reg_coeff_data_reg_210_
-------------------------------------------------- ----------
CLK banc d'essai: Forever # 3 <CLK CLK CLK = ~; (6ns)
CLK dans la synthèse: set clk_period 4.8ns * 0,9
ensemble clk_skew 0.4ns
...
et report_max_path est: 0.006ns
pourquoi encore violation avec $ d'installation pour reg_coeff_data_reg_210_?Merci!
sdf dans:
(CELL
(CELLTYPE "QDFZCGD")
(Instance ../../reg_coeff_data_reg_210_)
(DELAY
(Absolue
(Q CK IOPATH (0.381:0.381:0.381) (0.346:0.346:0.346))
)
)
(TIMINGCHECK
(LARGEUR (posedge CK) (0.258:0.258:0.258))
(LARGEUR (negedge CK) (0.620:0.620:0.620))
(SETUP (posedge D) (posedge CK) (0.276:0.282:0.282))
(SETUP (negedge D) (posedge CK) (0.261:0.267:0.267))
(HOLD (posedge D) (posedge CK) (-0,099: -0,103: -0,103))
(HOLD (negedge D) (posedge CK) (-0,037: -0,039: -0,039))
(SETUP (posedge TD) (posedge CK) (0.421:0.421:0.421))
(SETUP (negedge TD) (posedge CK) (0.817:0.817:0.817))
(HOLD (posedge TD) (posedge CK) (-0,192: -0,192: -0,192))
(HOLD (negedge TD) (posedge CK) (-0,155: -0,155: -0,155))
(SETUP (posedge SEL) (posedge CK) (0.783:0.783:0.783))
(SETUP (negedge SEL) (posedge CK) (0.353:0.353:0.353))
(HOLD (posedge SEL) (posedge CK) (-0,128: -0,128: -0,128))
(HOLD (negedge SEL) (posedge CK) (-0,034: -0,034: -0,034))
)
)en stand-cellulaire
module QDFZCGD (Q, D, TD, CK, SEL);
reg pavillon; / / Indicateur d'alerte
sortie Q;
D 'entrée, CK, TD, SEL;
supply1 VCC;
d_CK fil, d_D, d_TD, d_SEL;
/ Bloc Fonction /
«De protéger
buf G3 (Q, QT);
dffrsb_udp G2 (qt, D1, d_CK, VCC, VCC, drapeau);
mux2_udp G4 (D1, d_D, d_TD, d_SEL);
/ / Spécifiez Block
préciser
/ / Chemin Delay Module
(CK posedge *> (Q: 1'bx)) = (10.68:16.82:30.00, 11.19:17.49:31.13);
/ / Le programme d'installation et de Hold Time
setup_D_CK specparam = 9,30;
hold_D_CK specparam = 0,00;
setup_TD_CK specparam = 10.30;
hold_TD_CK specparam = 0,00;
setup_SEL_CK specparam = 8,60;
hold_SEL_CK specparam = 0,00;
$ Setuphold (CK posedge, posedge D & & & ~ SEL, 7.91:13.35:25.21, -2,94: -4,93: -8,41, drapeau,,, d_CK, d_D);
$ Setuphold (CK posedge, negedge D & & & ~ SEL, 6.55:11.99:24.10, -1,46: -2,09: -2,87, drapeau,,, d_CK, d_D);
$ Setuphold (CK posedge, posedge TD & & & SEL, 10.87:18.28:36.31, -4,92: -8,14: -14,82, drapeau,,, d_CK, d_TD);
$ Setuphold (CK posedge, negedge TD & & & SEL, 22.09:38.87:79.21, -7,51: -9,99: -14,21, drapeau,,, d_CK, d_TD);
$ Setuphold (CK posedge, posedge SEL, 22.58:38.87:78.10, -4,92: -7,64: -13,35, drapeau,,, d_CK, d_SEL);
$ Setuphold (CK posedge, negedge SEL, 11.61:19.14:35.81, -1,59: -2,59: -3,36, drapeau,,, d_CK, d_SEL);
/ / Largeur d'impulsion minimale
mpw_pos_CK specparam = 15,64;
mpw_neg_CK specparam = 17,40;
largeur $ (CK posedge, 6.87:12.53:25.83, 0, flag);
largeur $ (CK negedge, 17.95:30.51:62.04, 0, flag);
endspecify
»Endprotect
endmodule
»Endcelldefine
lorsque la synthèse, j'ai utilisé "CLK set_fix_hold"