V
valxiao
Guest
Cześć, chłopaki,
I wystąpi problem z bramą symulacji poziomu, uruchom w ModelSim, wydaje się, co następuje:
-------------------------------------------------- ----------
r: ../../libs/modelsim_asic/fsc0g_d_sc.v (18445): $ setup (negedge D & & & ~ SEL: 2841 ps CK posedge: 3 ns, 267 KM);
Godzina: 3 ns Iteracja: 5 Instancji: /../../../../../ reg_coeff_data_reg_210_
-------------------------------------------------- ----------
CLK w testbench: forever # 3 clk clk <= ~ clk; (6ns)
CLK w syntezie: set clk_period 4.8ns * 0,9
zestaw clk_skew 0.4ns
...
i report_max_path to: 0.006ns
dlaczego jeszcze z użytkownikiem $ setup dla reg_coeff_data_reg_210_?dzięki!
w sdf:
(Komórka
(CELLTYPE "QDFZCGD")
(Wystąpienie ../../reg_coeff_data_reg_210_)
(Opóźnienie
(Bezwzględna
(IOPATH CK Q (0.381:0.381:0.381) (0.346:0.346:0.346))
)
)
(TIMINGCHECK
(Szerokość (posedge CK) (0.258:0.258:0.258))
(Szerokość (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))
)
)w trybie czuwania komórek
Moduł QDFZCGD (Q, D, TD, CK, SEL);
reg flag / / flaga Notifier
Wyjście Q;
wejście D, CK, TD, SEL;
supply1 vcc;
Drut d_CK, d_D, d_TD, d_SEL;
/ / Funkcja Block
"ochrony
buf G3 (Q, qt);
dffrsb_udp G2 (qt, D1, d_CK, VCC, VCC, bandery);
mux2_udp G4 (d1 d_D, d_TD, d_SEL);
/ / Określ Block
określić
/ / Moduł Path Delay
(posedge CK *> (Q: 1'bx)) = (10.68:16.82:30.00, 11.19:17.49:31.13);
/ / Konfiguracja i Hold Time
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 (CK posedge, posedge D & & & ~ SEL, 7.91:13.35:25.21, -2,94: -4.93: -8,41, flaga,,, d_CK, d_D);
$ setuphold (CK posedge, negedge D & & & ~ SEL, 6.55:11.99:24.10, -1,46: -2.09: -2,87, flaga,,, d_CK, d_D);
$ setuphold (CK posedge, posedge TD & & & SEL, 10.87:18.28:36.31, -4,92: -8.14: -14,82, flaga,,, d_CK, d_TD);
$ setuphold (CK posedge, negedge TD & & & SEL, 22.09:38.87:79.21, -7,51: -9.99: -14,21, flaga,,, d_CK, d_TD);
$ setuphold (CK posedge SEL posedge, 22.58:38.87:78.10, -4,92: -7.64: -13,35, flaga,,, d_CK, d_SEL);
$ setuphold (CK posedge SEL negedge, 11.61:19.14:35.81, -1,59: -2.59: -3,36, flaga,,, d_CK, d_SEL);
/ / Minimalna Pulse Width
specparam mpw_pos_CK = 15,64;
specparam mpw_neg_CK = 17,40;
$ width (posedge CK, 6.87:12.53:25.83, 0, flaga);
$ width (negedge CK, 17.95:30.51:62.04, 0, flaga);
endspecify
"endprotect
endmodule
"endcelldefine
podczas syntezy, użyłem "set_fix_hold CLK"
I wystąpi problem z bramą symulacji poziomu, uruchom w ModelSim, wydaje się, co następuje:
-------------------------------------------------- ----------
r: ../../libs/modelsim_asic/fsc0g_d_sc.v (18445): $ setup (negedge D & & & ~ SEL: 2841 ps CK posedge: 3 ns, 267 KM);
Godzina: 3 ns Iteracja: 5 Instancji: /../../../../../ reg_coeff_data_reg_210_
-------------------------------------------------- ----------
CLK w testbench: forever # 3 clk clk <= ~ clk; (6ns)
CLK w syntezie: set clk_period 4.8ns * 0,9
zestaw clk_skew 0.4ns
...
i report_max_path to: 0.006ns
dlaczego jeszcze z użytkownikiem $ setup dla reg_coeff_data_reg_210_?dzięki!
w sdf:
(Komórka
(CELLTYPE "QDFZCGD")
(Wystąpienie ../../reg_coeff_data_reg_210_)
(Opóźnienie
(Bezwzględna
(IOPATH CK Q (0.381:0.381:0.381) (0.346:0.346:0.346))
)
)
(TIMINGCHECK
(Szerokość (posedge CK) (0.258:0.258:0.258))
(Szerokość (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))
)
)w trybie czuwania komórek
Moduł QDFZCGD (Q, D, TD, CK, SEL);
reg flag / / flaga Notifier
Wyjście Q;
wejście D, CK, TD, SEL;
supply1 vcc;
Drut d_CK, d_D, d_TD, d_SEL;
/ / Funkcja Block
"ochrony
buf G3 (Q, qt);
dffrsb_udp G2 (qt, D1, d_CK, VCC, VCC, bandery);
mux2_udp G4 (d1 d_D, d_TD, d_SEL);
/ / Określ Block
określić
/ / Moduł Path Delay
(posedge CK *> (Q: 1'bx)) = (10.68:16.82:30.00, 11.19:17.49:31.13);
/ / Konfiguracja i Hold Time
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 (CK posedge, posedge D & & & ~ SEL, 7.91:13.35:25.21, -2,94: -4.93: -8,41, flaga,,, d_CK, d_D);
$ setuphold (CK posedge, negedge D & & & ~ SEL, 6.55:11.99:24.10, -1,46: -2.09: -2,87, flaga,,, d_CK, d_D);
$ setuphold (CK posedge, posedge TD & & & SEL, 10.87:18.28:36.31, -4,92: -8.14: -14,82, flaga,,, d_CK, d_TD);
$ setuphold (CK posedge, negedge TD & & & SEL, 22.09:38.87:79.21, -7,51: -9.99: -14,21, flaga,,, d_CK, d_TD);
$ setuphold (CK posedge SEL posedge, 22.58:38.87:78.10, -4,92: -7.64: -13,35, flaga,,, d_CK, d_SEL);
$ setuphold (CK posedge SEL negedge, 11.61:19.14:35.81, -1,59: -2.59: -3,36, flaga,,, d_CK, d_SEL);
/ / Minimalna Pulse Width
specparam mpw_pos_CK = 15,64;
specparam mpw_neg_CK = 17,40;
$ width (posedge CK, 6.87:12.53:25.83, 0, flaga);
$ width (negedge CK, 17.95:30.51:62.04, 0, flaga);
endspecify
"endprotect
endmodule
"endcelldefine
podczas syntezy, użyłem "set_fix_hold CLK"