Krzysztof Herman
10/27/2021, 1:21 PMSiva Prasad
10/28/2021, 12:11 PMKrzysztof Herman
10/28/2021, 12:12 PMSiva Prasad
10/28/2021, 12:13 PMSiva Prasad
10/28/2021, 12:14 PMKrzysztof Herman
10/28/2021, 12:14 PMKrzysztof Herman
10/28/2021, 12:15 PMalways@(posedge clk) begin
if(rst ==1'b1)
begin
X1 <= 3'b000;
Yt <= 3'b000;
end
else if(en == 1) begin
X1 <= X_i;
Yt[0] <= X1[0] & X1[1];
Yt[1] <= X1[1] | X1[2];
Yt[2] <= X1[0] ^ X1[2];
end
end
Krzysztof Herman
10/28/2021, 12:16 PMSiva Prasad
10/28/2021, 12:19 PMSiva Prasad
10/28/2021, 12:19 PMKrzysztof Herman
10/28/2021, 12:19 PMKrzysztof Herman
10/28/2021, 12:20 PMKrzysztof Herman
10/28/2021, 12:21 PMcreate_generated_clock -name en -source clk -divide_by 4 en
Siva Prasad
10/28/2021, 12:21 PMKrzysztof Herman
10/28/2021, 12:21 PMSiva Prasad
10/28/2021, 12:22 PMKrzysztof Herman
10/28/2021, 12:22 PMset_multicycle_path 4 -setup -from en -to clk
Krzysztof Herman
10/28/2021, 12:22 PMSiva Prasad
10/28/2021, 12:28 PMSiva Prasad
10/28/2021, 12:30 PMKrzysztof Herman
10/28/2021, 12:35 PMKrzysztof Herman
10/28/2021, 12:35 PMset_multicycle_path 4 -setup -from _33_ -to _45_
Krzysztof Herman
10/28/2021, 12:35 PMSiva Prasad
10/28/2021, 12:36 PMKrzysztof Herman
10/28/2021, 12:36 PMSiva Prasad
10/28/2021, 12:36 PMKrzysztof Herman
10/28/2021, 12:36 PMKrzysztof Herman
10/28/2021, 12:37 PMKrzysztof Herman
10/28/2021, 12:37 PMSiva Prasad
10/28/2021, 12:37 PMKrzysztof Herman
10/28/2021, 12:38 PMKrzysztof Herman
10/28/2021, 12:39 PMKrzysztof Herman
10/28/2021, 12:40 PMSiva Prasad
10/28/2021, 12:40 PMKrzysztof Herman
10/28/2021, 12:41 PMKrzysztof Herman
10/28/2021, 12:41 PMSiva Prasad
10/28/2021, 12:42 PMKrzysztof Herman
10/28/2021, 12:42 PMKrzysztof Herman
10/28/2021, 12:42 PMSiva Prasad
10/28/2021, 12:42 PMKrzysztof Herman
10/28/2021, 12:43 PMSiva Prasad
10/28/2021, 12:49 PMKrzysztof Herman
10/28/2021, 1:32 PMall_register
_f093691af8550000_p_Instance _b0977d1cf8550000_p_Instance _1020891ef8550000_p_Instance _20f79921f8550000_p_Instance _b0f79921f8550000_p_Instance _d038bb27f8550000_p_Instance
Krzysztof Herman
10/28/2021, 1:32 PMKrzysztof Herman
10/28/2021, 2:00 PM[get_ports -of_objects [get_net X1*]]
[{}]
Krzysztof Herman
10/28/2021, 2:03 PMKrzysztof Herman
10/28/2021, 2:04 PMsky130_fd_sc_hd__dfxtp_1 _32_ (
.CLK(clk),
.D(_00_),
.Q(\X1[0] )
);
sky130_fd_sc_hd__dfxtp_1 _33_ (
.CLK(clk),
.D(_01_),
.Q(\X1[1] )
);
sky130_fd_sc_hd__dfxtp_1 _34_ (
.CLK(clk),
.D(_02_),
.Q(\X1[2] )
);
Krzysztof Herman
10/28/2021, 2:05 PMKrzysztof Herman
10/28/2021, 2:05 PMsky130_fd_sc_hd__nand2_1 _23_ (
.A(\X1[1] ),
.B(\X1[0] ),
.Y(_10_)
);
Krzysztof Herman
10/28/2021, 2:07 PMSiva Prasad
10/28/2021, 2:10 PMKrzysztof Herman
10/28/2021, 2:12 PMKrzysztof Herman
10/28/2021, 2:12 PM[get_ports -of_objects [get_net X1*]]
Krzysztof Herman
10/28/2021, 2:12 PMKrzysztof Herman
10/28/2021, 2:13 PMKrzysztof Herman
10/28/2021, 2:14 PMKrzysztof Herman
10/28/2021, 2:14 PMSiva Prasad
10/28/2021, 2:15 PMSiva Prasad
10/28/2021, 2:16 PMKrzysztof Herman
10/28/2021, 2:16 PMKrzysztof Herman
10/28/2021, 2:18 PMmodule TestSta(clk, rst, en, X_i, Y_o);
wire _00_;
wire _01_;
wire _02_;
wire _03_;
wire _04_;
wire _05_;
wire _06_;
wire _07_;
wire _08_;
wire _09_;
wire _10_;
wire _11_;
wire _12_;
wire _13_;
wire _14_;
wire _15_;
wire \X1[0] ;
wire \X1[1] ;
wire \X1[2] ;
input [2:0] X_i;
output [2:0] Y_o;
input clk;
input en;
input rst;
sky130_fd_sc_hd__buf_6 _16_ (
.A(en),
.X(_06_)
);
sky130_fd_sc_hd__mux2i_1 _17_ (
.A0(\X1[0] ),
.A1(X_i[0]),
.S(_06_),
.Y(_07_)
);
sky130_fd_sc_hd__nor2_1 _18_ (
.A(rst),
.B(_07_),
.Y(_00_)
);
sky130_fd_sc_hd__mux2i_1 _19_ (
.A0(\X1[1] ),
.A1(X_i[1]),
.S(_06_),
.Y(_08_)
);
sky130_fd_sc_hd__nor2_1 _20_ (
.A(rst),
.B(_08_),
.Y(_01_)
);
sky130_fd_sc_hd__mux2i_1 _21_ (
.A0(\X1[2] ),
.A1(X_i[2]),
.S(_06_),
.Y(_09_)
);
sky130_fd_sc_hd__nor2_1 _22_ (
.A(rst),
.B(_09_),
.Y(_02_)
);
sky130_fd_sc_hd__nand2_1 _23_ (
.A(\X1[1] ),
.B(\X1[0] ),
.Y(_10_)
);
sky130_fd_sc_hd__nor2_1 _24_ (
.A(_06_),
.B(Y_o[0]),
.Y(_11_)
);
sky130_fd_sc_hd__a211oi_1 _25_ (
.A1(_06_),
.A2(_10_),
.B1(_11_),
.C1(rst),
.Y(_03_)
);
sky130_fd_sc_hd__nor2_1 _26_ (
.A(\X1[1] ),
.B(\X1[2] ),
.Y(_12_)
);
sky130_fd_sc_hd__nor2_1 _27_ (
.A(_06_),
.B(Y_o[1]),
.Y(_13_)
);
sky130_fd_sc_hd__a211oi_1 _28_ (
.A1(_06_),
.A2(_12_),
.B1(_13_),
.C1(rst),
.Y(_04_)
);
sky130_fd_sc_hd__xnor2_1 _29_ (
.A(\X1[0] ),
.B(\X1[2] ),
.Y(_14_)
);
sky130_fd_sc_hd__nor2_1 _30_ (
.A(_06_),
.B(Y_o[2]),
.Y(_15_)
);
sky130_fd_sc_hd__a211oi_2 _31_ (
.A1(_06_),
.A2(_14_),
.B1(_15_),
.C1(rst),
.Y(_05_)
);
sky130_fd_sc_hd__dfxtp_1 _32_ (
.CLK(clk),
.D(_00_),
.Q(\X1[0] )
);
sky130_fd_sc_hd__dfxtp_1 _33_ (
.CLK(clk),
.D(_01_),
.Q(\X1[1] )
);
sky130_fd_sc_hd__dfxtp_1 _34_ (
.CLK(clk),
.D(_02_),
.Q(\X1[2] )
);
sky130_fd_sc_hd__dfxtp_1 _35_ (
.CLK(clk),
.D(_03_),
.Q(Y_o[0])
);
sky130_fd_sc_hd__dfxtp_1 _36_ (
.CLK(clk),
.D(_04_),
.Q(Y_o[1])
);
sky130_fd_sc_hd__dfxtp_1 _37_ (
.CLK(clk),
.D(_05_),
.Q(Y_o[2])
);
endmodule
Siva Prasad
10/28/2021, 2:20 PMKrzysztof Herman
10/28/2021, 2:23 PMKrzysztof Herman
10/28/2021, 2:25 PMSiva Prasad
10/28/2021, 2:31 PMKrzysztof Herman
10/28/2021, 2:31 PMKrzysztof Herman
10/28/2021, 2:32 PMall_register
_f093691af8550000_p_Instance _b0977d1cf8550000_p_Instance _1020891ef8550000_p_Instance _20f79921f8550000_p_Instance _b0f79921f8550000_p_Instance _d038bb27f8550000_p_Instance
Krzysztof Herman
10/28/2021, 2:33 PMSiva Prasad
10/28/2021, 2:37 PMSiva Prasad
10/28/2021, 2:38 PMKrzysztof Herman
10/28/2021, 2:39 PMKrzysztof Herman
10/28/2021, 2:43 PMStartpoint: en (input port clocked by clk)
Endpoint: _37_ (rising edge-triggered flip-flop clocked by clk)
Path Group: clk
Path Type: min
Delay Time Description
---------------------------------------------------------
0.00 0.00 clock clk (rise edge)
0.00 0.00 clock network delay (ideal)
0.50 0.50 ^ input external delay
0.01 0.51 ^ en (in)
0.10 0.61 ^ _16_/X (sky130_fd_sc_hd__buf_6)
0.05 0.66 v _31_/Y (sky130_fd_sc_hd__a211oi_2)
0.00 0.66 v _37_/D (sky130_fd_sc_hd__dfxtp_1)
0.66 data arrival time
15.00 15.00 clock clk (rise edge)
0.00 15.00 clock network delay (ideal)
0.50 15.50 clock uncertainty
0.00 15.50 clock reconvergence pessimism
15.50 ^ _37_/CLK (sky130_fd_sc_hd__dfxtp_1)
-0.03 15.47 library hold time
15.47 data required time
---------------------------------------------------------
15.47 data required time
-0.66 data arrival time
---------------------------------------------------------
-14.81 slack (VIOLATED)
Startpoint: _35_ (rising edge-triggered flip-flop clocked by clk)
Endpoint: Y_o[0] (output port clocked by clk)
Path Group: clk
Path Type: max
Delay Time Description
---------------------------------------------------------
0.00 0.00 clock clk (rise edge)
0.00 0.00 clock network delay (ideal)
0.00 0.00 ^ _35_/CLK (sky130_fd_sc_hd__dfxtp_1)
0.42 0.42 ^ _35_/Q (sky130_fd_sc_hd__dfxtp_1)
0.00 0.42 ^ Y_o[0] (out)
0.42 data arrival time
5.00 5.00 clock clk (rise edge)
0.00 5.00 clock network delay (ideal)
-0.50 4.50 clock uncertainty
0.00 4.50 clock reconvergence pessimism
-0.50 4.00 output external delay
4.00 data required time
---------------------------------------------------------
4.00 data required time
-0.42 data arrival time
---------------------------------------------------------
3.58 slack (MET)
Krzysztof Herman
10/28/2021, 2:45 PMKrzysztof Herman
10/28/2021, 2:46 PMKrzysztof Herman
10/28/2021, 2:46 PMKrzysztof Herman
10/28/2021, 2:57 PMSiva Prasad
10/28/2021, 7:36 PM