Merge remote-tracking branch 'parallax/master'
This commit is contained in:
commit
2a1e49e8f4
3078
doc/OpenSTA.fodt
3078
doc/OpenSTA.fodt
File diff suppressed because it is too large
Load Diff
BIN
doc/OpenSTA.pdf
BIN
doc/OpenSTA.pdf
Binary file not shown.
|
|
@ -647,7 +647,6 @@ protected:
|
||||||
// Capacity of tag_groups_.
|
// Capacity of tag_groups_.
|
||||||
TagGroupIndex tag_group_capacity_;
|
TagGroupIndex tag_group_capacity_;
|
||||||
std::mutex tag_group_lock_;
|
std::mutex tag_group_lock_;
|
||||||
std::mutex tag_group_ref_count_lock_;
|
|
||||||
// Latches data outputs to queue on the next search pass.
|
// Latches data outputs to queue on the next search pass.
|
||||||
VertexSet *pending_latch_outputs_;
|
VertexSet *pending_latch_outputs_;
|
||||||
std::mutex pending_latch_outputs_lock_;
|
std::mutex pending_latch_outputs_lock_;
|
||||||
|
|
|
||||||
|
|
@ -546,8 +546,6 @@ PathGroups::makePathEnds(ExceptionTo *to,
|
||||||
pushGroupPathEnds(path_ends);
|
pushGroupPathEnds(path_ends);
|
||||||
if (sort_by_slack) {
|
if (sort_by_slack) {
|
||||||
sort(path_ends, PathEndLess(this));
|
sort(path_ends, PathEndLess(this));
|
||||||
if (static_cast<int>(path_ends.size()) > group_path_count_)
|
|
||||||
path_ends.resize(group_path_count_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (unconstrained_paths
|
if (unconstrained_paths
|
||||||
|
|
|
||||||
|
|
@ -2783,7 +2783,7 @@ Search::setVertexArrivals(Vertex *vertex,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (tag_group != prev_tag_group) {
|
if (tag_group != prev_tag_group) {
|
||||||
LockGuard lock(tag_group_ref_count_lock_);
|
LockGuard lock(tag_group_lock_);
|
||||||
tag_group->incrRefCount();
|
tag_group->incrRefCount();
|
||||||
if (prev_tag_group) {
|
if (prev_tag_group) {
|
||||||
prev_tag_group->decrRefCount();
|
prev_tag_group->decrRefCount();
|
||||||
|
|
|
||||||
|
|
@ -156,6 +156,7 @@ record_sta_tests {
|
||||||
report_json2
|
report_json2
|
||||||
suppress_msg
|
suppress_msg
|
||||||
verilog_attribute
|
verilog_attribute
|
||||||
|
report_checks_sorted
|
||||||
}
|
}
|
||||||
|
|
||||||
define_test_group fast [group_tests all]
|
define_test_group fast [group_tests all]
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
Startpoint: r1 (rising edge-triggered flip-flop clocked by clk)
|
||||||
|
Endpoint: r4 (rising edge-triggered flip-flop clocked by clk)
|
||||||
|
Path Group: long
|
||||||
|
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 ^ r1/CLK (DFFHQx4_ASAP7_75t_R)
|
||||||
|
64.76 64.76 ^ r1/Q (DFFHQx4_ASAP7_75t_R)
|
||||||
|
17.77 82.53 ^ u2/Y (BUFx2_ASAP7_75t_R)
|
||||||
|
17.88 100.42 ^ u3/Y (BUFx2_ASAP7_75t_R)
|
||||||
|
16.66 117.08 ^ u4/Y (BUFx2_ASAP7_75t_R)
|
||||||
|
0.00 117.08 ^ r4/D (DFFHQx4_ASAP7_75t_R)
|
||||||
|
117.08 data arrival time
|
||||||
|
|
||||||
|
500.00 500.00 clock clk (rise edge)
|
||||||
|
0.00 500.00 clock network delay (ideal)
|
||||||
|
0.00 500.00 clock reconvergence pessimism
|
||||||
|
500.00 ^ r4/CLK (DFFHQx4_ASAP7_75t_R)
|
||||||
|
-12.61 487.39 library setup time
|
||||||
|
487.39 data required time
|
||||||
|
---------------------------------------------------------
|
||||||
|
487.39 data required time
|
||||||
|
-117.08 data arrival time
|
||||||
|
---------------------------------------------------------
|
||||||
|
370.32 slack (MET)
|
||||||
|
|
||||||
|
|
||||||
|
Startpoint: r1 (rising edge-triggered flip-flop clocked by clk)
|
||||||
|
Endpoint: r3 (rising edge-triggered flip-flop clocked by clk)
|
||||||
|
Path Group: custom
|
||||||
|
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 ^ r1/CLK (DFFHQx4_ASAP7_75t_R)
|
||||||
|
64.76 64.76 ^ r1/Q (DFFHQx4_ASAP7_75t_R)
|
||||||
|
17.77 82.53 ^ u2/Y (BUFx2_ASAP7_75t_R)
|
||||||
|
17.88 100.42 ^ u3/Y (BUFx2_ASAP7_75t_R)
|
||||||
|
0.00 100.42 ^ r3/D (DFFHQx4_ASAP7_75t_R)
|
||||||
|
100.42 data arrival time
|
||||||
|
|
||||||
|
500.00 500.00 clock clk (rise edge)
|
||||||
|
0.00 500.00 clock network delay (ideal)
|
||||||
|
0.00 500.00 clock reconvergence pessimism
|
||||||
|
500.00 ^ r3/CLK (DFFHQx4_ASAP7_75t_R)
|
||||||
|
-12.98 487.02 library setup time
|
||||||
|
487.02 data required time
|
||||||
|
---------------------------------------------------------
|
||||||
|
487.02 data required time
|
||||||
|
-100.42 data arrival time
|
||||||
|
---------------------------------------------------------
|
||||||
|
386.60 slack (MET)
|
||||||
|
|
||||||
|
|
||||||
|
Startpoint: r1 (rising edge-triggered flip-flop clocked by clk)
|
||||||
|
Endpoint: r2 (rising edge-triggered flip-flop 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 ^ r1/CLK (DFFHQx4_ASAP7_75t_R)
|
||||||
|
64.76 64.76 ^ r1/Q (DFFHQx4_ASAP7_75t_R)
|
||||||
|
17.77 82.53 ^ u2/Y (BUFx2_ASAP7_75t_R)
|
||||||
|
0.00 82.53 ^ r2/D (DFFHQx4_ASAP7_75t_R)
|
||||||
|
82.53 data arrival time
|
||||||
|
|
||||||
|
500.00 500.00 clock clk (rise edge)
|
||||||
|
0.00 500.00 clock network delay (ideal)
|
||||||
|
0.00 500.00 clock reconvergence pessimism
|
||||||
|
500.00 ^ r2/CLK (DFFHQx4_ASAP7_75t_R)
|
||||||
|
-12.98 487.02 library setup time
|
||||||
|
487.02 data required time
|
||||||
|
---------------------------------------------------------
|
||||||
|
487.02 data required time
|
||||||
|
-82.53 data arrival time
|
||||||
|
---------------------------------------------------------
|
||||||
|
404.48 slack (MET)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
# report_checks with sorted path ends
|
||||||
|
read_liberty asap7_small.lib.gz
|
||||||
|
read_verilog report_checks_sorted.v
|
||||||
|
link_design top
|
||||||
|
|
||||||
|
create_clock -name clk -period 500 {clk}
|
||||||
|
set_input_delay -clock clk 0 {in}
|
||||||
|
|
||||||
|
group_path -name custom -to {r3}
|
||||||
|
group_path -name long -to {r4}
|
||||||
|
|
||||||
|
report_checks -group_path_count 1 -sort_by_slack
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
module top (input in, input clk, output out);
|
||||||
|
|
||||||
|
wire w1, w2, w3, w4;
|
||||||
|
|
||||||
|
DFFHQx4_ASAP7_75t_R r1 (.D(in), .CLK(clk), .Q(w1));
|
||||||
|
|
||||||
|
BUFx2_ASAP7_75t_R u2 (.A(w1), .Y(w2));
|
||||||
|
BUFx2_ASAP7_75t_R u3 (.A(w2), .Y(w3));
|
||||||
|
BUFx2_ASAP7_75t_R u4 (.A(w3), .Y(w4));
|
||||||
|
|
||||||
|
DFFHQx4_ASAP7_75t_R r2 (.D(w2), .CLK(clk), .Q(out));
|
||||||
|
DFFHQx4_ASAP7_75t_R r3 (.D(w3), .CLK(clk), .Q(out));
|
||||||
|
DFFHQx4_ASAP7_75t_R r4 (.D(w4), .CLK(clk), .Q(out));
|
||||||
|
|
||||||
|
endmodule
|
||||||
Loading…
Reference in New Issue