V
valxiao
Guest
Salut, băieţi,
i întâlni o problemă cu poarta
la nivel de simulare, executaţi în modelsim, el apare următorul text:
-------------------------------------------------- ----------
r: ../../libs/modelsim_asic/fsc0g_d_sc.v (18445): $ setup (negedge D & & & ~ SEL: 2841 PS, posedge CK: 3 ns, 267 PS);
Timp: 3 ns repetare: 5 exemplu: /../../../../../ reg_coeff_data_reg_210_
-------------------------------------------------- ----------
clk în testbench: totdeauna # 3 clk clk <= ~ clk; (6ns)
clk în sinteză: set clk_period 4.8ns * 0.9
set clk_skew 0.4ns
...
şi report_max_path este: 0.006ns
De ce încă mai au încălcare cu $ setup pentru reg_coeff_data_reg_210_?mulţumesc!
în sdf:
(CELL
(CELLTYPE "QDFZCGD")
(INSTANŢĂ ../../reg_coeff_data_reg_210_)
(ÎNTÂRZIERE
(Absolută
(CK IOPATH Q (0.381:0.381:0.381) (0.346:0.346:0.346))
)
)
(TIMINGCHECK
(Lăţime (posedge CK) (0.258:0.258:0.258))
(Lăţime (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))
)
)în stand-celulă
modul QDFZCGD (Q, D, TD, CK, SEL);
reg pavilion; / / Notifier pavilion
ieşire Q;
de intrare D, CK, TD, SEL;
supply1 Vcc;
sârmă d_CK, d_D, d_TD, d_SEL;
/ / Funcţia de blocare a
"proteja
buf g3 (Q, QT);
dffrsb_udp G2 (qt, D1, d_CK, Vcc, Vcc, flag);
mux2_udp G4 (d1, d_D, d_TD, d_SEL);
/ / Specificaţi Bloc
specifica
/ / Modulul Cale Întârzierea
(posedge CK *> (Q: 1'bx)) = (10.68:16.82:30.00, 11.19:17.49:31.13);
/ / Setup şi Reţinere Ora
specparam setup_D_CK = 9.30;
specparam hold_D_CK = 0.00;
specparam setup_TD_CK = 10.30;
specparam hold_TD_CK = 0.00;
specparam setup_SEL_CK = 8.60;
specparam hold_SEL_CK = 0.00;
$ setuphold (posedge CK, posedge D & & & ~ SEL, 7.91:13.35:25.21, -2.94: -4.93: -8.41, pavilion,,, d_CK, d_D);
$ setuphold (posedge CK, negedge D & & & ~ SEL, 6.55:11.99:24.10, -1.46: -2.09: -2.87, pavilion,,, d_CK, d_D);
$ setuphold (posedge CK, posedge TD & & & SEL, 10.87:18.28:36.31, -4.92: -8.14: -14.82, pavilion,,, d_CK, d_TD);
$ setuphold (posedge CK, negedge TD & & & SEL, 22.09:38.87:79.21, -7.51: -9.99: -14.21, pavilion,,, d_CK, d_TD);
$ setuphold (posedge CK, posedge SEL, 22.58:38.87:78.10, -4.92: -7.64: -13.35, pavilion,,, d_CK, d_SEL);
$ setuphold (posedge CK, negedge SEL, 11.61:19.14:35.81, -1.59: -2.59: -3.36, pavilion,,, d_CK, d_SEL);
/ / Minim Puls Lăţime
specparam mpw_pos_CK = 15.64;
specparam mpw_neg_CK = 17.40;
$ latime (posedge CK, 6.87:12.53:25.83, 0, flag);
$ latime (negedge CK, 17.95:30.51:62.04, 0, flag);
endspecify
"endprotect
endmodule
"endcelldefine
când sinteza, i-au folosit "set_fix_hold clk"
i întâlni o problemă cu poarta
la nivel de simulare, executaţi în modelsim, el apare următorul text:
-------------------------------------------------- ----------
r: ../../libs/modelsim_asic/fsc0g_d_sc.v (18445): $ setup (negedge D & & & ~ SEL: 2841 PS, posedge CK: 3 ns, 267 PS);
Timp: 3 ns repetare: 5 exemplu: /../../../../../ reg_coeff_data_reg_210_
-------------------------------------------------- ----------
clk în testbench: totdeauna # 3 clk clk <= ~ clk; (6ns)
clk în sinteză: set clk_period 4.8ns * 0.9
set clk_skew 0.4ns
...
şi report_max_path este: 0.006ns
De ce încă mai au încălcare cu $ setup pentru reg_coeff_data_reg_210_?mulţumesc!
în sdf:
(CELL
(CELLTYPE "QDFZCGD")
(INSTANŢĂ ../../reg_coeff_data_reg_210_)
(ÎNTÂRZIERE
(Absolută
(CK IOPATH Q (0.381:0.381:0.381) (0.346:0.346:0.346))
)
)
(TIMINGCHECK
(Lăţime (posedge CK) (0.258:0.258:0.258))
(Lăţime (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))
)
)în stand-celulă
modul QDFZCGD (Q, D, TD, CK, SEL);
reg pavilion; / / Notifier pavilion
ieşire Q;
de intrare D, CK, TD, SEL;
supply1 Vcc;
sârmă d_CK, d_D, d_TD, d_SEL;
/ / Funcţia de blocare a
"proteja
buf g3 (Q, QT);
dffrsb_udp G2 (qt, D1, d_CK, Vcc, Vcc, flag);
mux2_udp G4 (d1, d_D, d_TD, d_SEL);
/ / Specificaţi Bloc
specifica
/ / Modulul Cale Întârzierea
(posedge CK *> (Q: 1'bx)) = (10.68:16.82:30.00, 11.19:17.49:31.13);
/ / Setup şi Reţinere Ora
specparam setup_D_CK = 9.30;
specparam hold_D_CK = 0.00;
specparam setup_TD_CK = 10.30;
specparam hold_TD_CK = 0.00;
specparam setup_SEL_CK = 8.60;
specparam hold_SEL_CK = 0.00;
$ setuphold (posedge CK, posedge D & & & ~ SEL, 7.91:13.35:25.21, -2.94: -4.93: -8.41, pavilion,,, d_CK, d_D);
$ setuphold (posedge CK, negedge D & & & ~ SEL, 6.55:11.99:24.10, -1.46: -2.09: -2.87, pavilion,,, d_CK, d_D);
$ setuphold (posedge CK, posedge TD & & & SEL, 10.87:18.28:36.31, -4.92: -8.14: -14.82, pavilion,,, d_CK, d_TD);
$ setuphold (posedge CK, negedge TD & & & SEL, 22.09:38.87:79.21, -7.51: -9.99: -14.21, pavilion,,, d_CK, d_TD);
$ setuphold (posedge CK, posedge SEL, 22.58:38.87:78.10, -4.92: -7.64: -13.35, pavilion,,, d_CK, d_SEL);
$ setuphold (posedge CK, negedge SEL, 11.61:19.14:35.81, -1.59: -2.59: -3.36, pavilion,,, d_CK, d_SEL);
/ / Minim Puls Lăţime
specparam mpw_pos_CK = 15.64;
specparam mpw_neg_CK = 17.40;
$ latime (posedge CK, 6.87:12.53:25.83, 0, flag);
$ latime (negedge CK, 17.95:30.51:62.04, 0, flag);
endspecify
"endprotect
endmodule
"endcelldefine
când sinteza, i-au folosit "set_fix_hold clk"