kernel: TimingInfo to clamp -ve setup/edge-sensitive delays to zero
[yosys.git] / manual / APPNOTE_011_Design_Investigation / submod_01.dot
1 digraph "scramble" {
2 rankdir="LR";
3 remincross=true;
4 n17 [ shape=octagon, label="clk", color="black", fontcolor="black" ];
5 n18 [ shape=octagon, label="d", color="black", fontcolor="black" ];
6 n19 [ shape=octagon, label="mem[0]", color="black", fontcolor="black" ];
7 n20 [ shape=octagon, label="mem[1]", color="black", fontcolor="black" ];
8 n21 [ shape=octagon, label="mem[2]", color="black", fontcolor="black" ];
9 n22 [ shape=octagon, label="mem[3]", color="black", fontcolor="black" ];
10 n23 [ shape=octagon, label="n1", color="black", fontcolor="black" ];
11 c27 [ shape=record, label="{{<p24> A|<p25> B}|$28\n$add|{<p26> Y}}" ];
12 c28 [ shape=record, label="{{<p24> A|<p25> B}|$31\n$add|{<p26> Y}}" ];
13 c29 [ shape=record, label="{{<p24> A|<p25> B}|$34\n$add|{<p26> Y}}" ];
14 c30 [ shape=record, label="{{<p24> A|<p25> B}|$37\n$add|{<p26> Y}}" ];
15 v0 [ label="1'1" ];
16 c31 [ shape=record, label="{{<p24> A|<p25> B}|$145\n$and|{<p26> Y}}" ];
17 v1 [ label="1'1" ];
18 c32 [ shape=record, label="{{<p24> A|<p25> B}|$175\n$and|{<p26> Y}}" ];
19 v2 [ label="1'1" ];
20 c33 [ shape=record, label="{{<p24> A|<p25> B}|$205\n$and|{<p26> Y}}" ];
21 v3 [ label="1'1" ];
22 c34 [ shape=record, label="{{<p24> A|<p25> B}|$235\n$and|{<p26> Y}}" ];
23 v4 [ label="2'00" ];
24 c35 [ shape=record, label="{{<p24> A|<p25> B}|$143\n$eq|{<p26> Y}}" ];
25 v5 [ label="2'01" ];
26 c36 [ shape=record, label="{{<p24> A|<p25> B}|$173\n$eq|{<p26> Y}}" ];
27 v6 [ label="2'10" ];
28 c37 [ shape=record, label="{{<p24> A|<p25> B}|$203\n$eq|{<p26> Y}}" ];
29 v7 [ label="2'11" ];
30 c38 [ shape=record, label="{{<p24> A|<p25> B}|$233\n$eq|{<p26> Y}}" ];
31 c40 [ shape=record, label="{{<p24> A|<p25> B|<p39> S}|$147\n$mux|{<p26> Y}}" ];
32 c41 [ shape=record, label="{{<p24> A|<p25> B|<p39> S}|$177\n$mux|{<p26> Y}}" ];
33 c42 [ shape=record, label="{{<p24> A|<p25> B|<p39> S}|$207\n$mux|{<p26> Y}}" ];
34 c43 [ shape=record, label="{{<p24> A|<p25> B|<p39> S}|$237\n$mux|{<p26> Y}}" ];
35 c47 [ shape=record, label="{{<p44> CLK|<p45> D}|$66\n$dff|{<p46> Q}}" ];
36 c48 [ shape=record, label="{{<p44> CLK|<p45> D}|$68\n$dff|{<p46> Q}}" ];
37 c49 [ shape=record, label="{{<p44> CLK|<p45> D}|$70\n$dff|{<p46> Q}}" ];
38 c50 [ shape=record, label="{{<p44> CLK|<p45> D}|$72\n$dff|{<p46> Q}}" ];
39 c27:p26:e -> c40:p24:w [color="black", style="setlinewidth(3)", label=""];
40 c36:p26:e -> c32:p24:w [color="black", label=""];
41 c37:p26:e -> c33:p24:w [color="black", label=""];
42 c38:p26:e -> c34:p24:w [color="black", label=""];
43 c40:p26:e -> c47:p45:w [color="black", style="setlinewidth(3)", label=""];
44 c41:p26:e -> c48:p45:w [color="black", style="setlinewidth(3)", label=""];
45 c42:p26:e -> c49:p45:w [color="black", style="setlinewidth(3)", label=""];
46 c43:p26:e -> c50:p45:w [color="black", style="setlinewidth(3)", label=""];
47 n17:e -> c47:p44:w [color="black", label=""];
48 n17:e -> c48:p44:w [color="black", label=""];
49 n17:e -> c49:p44:w [color="black", label=""];
50 n17:e -> c50:p44:w [color="black", label=""];
51 n18:e -> c40:p25:w [color="black", style="setlinewidth(3)", label=""];
52 n18:e -> c41:p25:w [color="black", style="setlinewidth(3)", label=""];
53 n18:e -> c42:p25:w [color="black", style="setlinewidth(3)", label=""];
54 n18:e -> c43:p25:w [color="black", style="setlinewidth(3)", label=""];
55 c47:p46:e -> n19:w [color="black", style="setlinewidth(3)", label=""];
56 n19:e -> c29:p25:w [color="black", style="setlinewidth(3)", label=""];
57 n19:e -> c30:p24:w [color="black", style="setlinewidth(3)", label=""];
58 c28:p26:e -> c41:p24:w [color="black", style="setlinewidth(3)", label=""];
59 c48:p46:e -> n20:w [color="black", style="setlinewidth(3)", label=""];
60 n20:e -> c27:p24:w [color="black", style="setlinewidth(3)", label=""];
61 n20:e -> c30:p25:w [color="black", style="setlinewidth(3)", label=""];
62 c49:p46:e -> n21:w [color="black", style="setlinewidth(3)", label=""];
63 n21:e -> c27:p25:w [color="black", style="setlinewidth(3)", label=""];
64 n21:e -> c28:p24:w [color="black", style="setlinewidth(3)", label=""];
65 c50:p46:e -> n22:w [color="black", style="setlinewidth(3)", label=""];
66 n22:e -> c28:p25:w [color="black", style="setlinewidth(3)", label=""];
67 n22:e -> c29:p24:w [color="black", style="setlinewidth(3)", label=""];
68 n23:e -> c35:p25:w [color="black", style="setlinewidth(3)", label=""];
69 n23:e -> c36:p25:w [color="black", style="setlinewidth(3)", label=""];
70 n23:e -> c37:p25:w [color="black", style="setlinewidth(3)", label=""];
71 n23:e -> c38:p25:w [color="black", style="setlinewidth(3)", label=""];
72 c29:p26:e -> c42:p24:w [color="black", style="setlinewidth(3)", label=""];
73 c30:p26:e -> c43:p24:w [color="black", style="setlinewidth(3)", label=""];
74 c31:p26:e -> c40:p39:w [color="black", label=""];
75 c32:p26:e -> c41:p39:w [color="black", label=""];
76 c33:p26:e -> c42:p39:w [color="black", label=""];
77 c34:p26:e -> c43:p39:w [color="black", label=""];
78 c35:p26:e -> c31:p24:w [color="black", label=""];
79 v0:e -> c31:p25:w [color="black", label=""];
80 v1:e -> c32:p25:w [color="black", label=""];
81 v2:e -> c33:p25:w [color="black", label=""];
82 v3:e -> c34:p25:w [color="black", label=""];
83 v4:e -> c35:p24:w [color="black", style="setlinewidth(3)", label=""];
84 v5:e -> c36:p24:w [color="black", style="setlinewidth(3)", label=""];
85 v6:e -> c37:p24:w [color="black", style="setlinewidth(3)", label=""];
86 v7:e -> c38:p24:w [color="black", style="setlinewidth(3)", label=""];
87 }