@@ -82,32 +82,90 @@ The specific rules for updating the version number for a CTP are as follows:
8282
8383<%= proc_cert_design . include_erb ( "proc_naming_scheme.adoc.erb" ) %>
8484
85- == Instruction Summary
85+ == Coverage Points
8686
87- [%autowidth]
88- |===
89- | Name | Long Name
87+ This section contains a view of the coverage point information organized by kind
88+ (i.e., extension, instruction, or CSR).
89+ This document is generated by a database backend so all views of the information are consistent.
9090
91- <% design . in_scope_instructions . each do |inst | -%>
92- | <%= link_to_udb_doc_inst ( inst . name ) %>
93- | <%= inst . long_name %>
94- <% end # do -%>
95- |===
91+ === Extension Coverage Points
9692
97- == CSR Summary
93+ <% proc_cert_model . in_scope_extensions . each do |ext | -%>
94+ <%= portfolio_design . include_erb ( "coverage_points.adoc.erb" , { "db_obj" => ext } ) %>
95+ <% end -%>
9896
99- [%autowidth]
100- |===
101- | Name | Long Name | Address | Mode | Primary Extension
97+ === Instruction Coverage Points
10298
103- <% design.in_scope_csrs.sort_by!(&:name).each do |csr| -%>
104- | <%= link_to_udb_doc_csr(csr.name) %>
105- | <%= csr.long_name %>
106- | <%= "0x#{csr.address.to_s(16)}" %>
107- | <%= csr.priv_mode %>
108- | <%= csr.primary_defined_by %>
109- <% end # do -%>
110- |===
99+ <% proc_cert_model . in_scope_instructions ( design ) . each do |inst | -%>
100+ <%= portfolio_design . include_erb ( "coverage_points.adoc.erb" , { "db_obj" => inst } ) %>
101+ <% end -%>
102+
103+ === CSR Coverage Points
104+
105+ <% proc_cert_model . in_scope_csrs ( design ) . each do |csr | -%>
106+ <%= portfolio_design . include_erb ( "coverage_points.adoc.erb" , { "db_obj" => csr } ) %>
107+ <% csr . implemented_fields ( design ) . each do |field | -%>
108+ <%= portfolio_design . include_erb ( "coverage_points.adoc.erb" , { "db_obj" => field } ) %>
109+ <% end -%>
110+ <% end -%>
111+
112+ == Test Procedures
113+
114+ This section contains just view of the test procedure information organized by kind
115+ (i.e., extension, instruction, or CSR).
116+ This document is generated by a database backend so all views of the information are consistent.
117+
118+ === Extension Test Procedures
119+
120+ <% proc_cert_model . in_scope_extensions . each do |ext | -%>
121+ <%= portfolio_design . include_erb ( "test_procedures.adoc.erb" , { "db_obj" => ext } ) %>
122+ <% end -%>
123+
124+ === Instruction Test Procedures
125+
126+ <% proc_cert_model . in_scope_instructions ( design ) . each do |inst | -%>
127+ <%= portfolio_design . include_erb ( "test_procedures.adoc.erb" , { "db_obj" => inst } ) %>
128+ <% end -%>
129+
130+ === CSR Test Procedures
131+
132+ <% proc_cert_model . in_scope_csrs ( design ) . each do |csr | -%>
133+ <%= portfolio_design . include_erb ( "test_procedures.adoc.erb" , { "db_obj" => csr } ) %>
134+ <% csr . implemented_fields ( design ) . each do |field | -%>
135+ <%= portfolio_design . include_erb ( "test_procedures.adoc.erb" , { "db_obj" => field } ) %>
136+ <% end -%>
137+ <% end -%>
138+
139+ == Combined Coverage Points & Test Procedures
140+
141+ This section contains a combined view of the coverage point and test procedure information organized
142+ by kind (i.e., extension, instruction, or CSR).
143+ This document is generated by a database backend so all views of the information are consistent.
144+
145+ === Extension Coverage Points & Test Procedures
146+
147+ <% proc_cert_model . in_scope_extensions . each do |ext | -%>
148+ <%= portfolio_design . include_erb ( "coverage_points.adoc.erb" , { "db_obj" => ext } ) %>
149+ <%= portfolio_design . include_erb ( "test_procedures.adoc.erb" , { "db_obj" => ext } ) %>
150+ <% end -%>
151+
152+ === Instruction Coverage Points & Test Procedures
153+
154+ <% proc_cert_model . in_scope_instructions ( design ) . each do |inst | -%>
155+ <%= portfolio_design . include_erb ( "coverage_points.adoc.erb" , { "db_obj" => inst } ) %>
156+ <%= portfolio_design . include_erb ( "test_procedures.adoc.erb" , { "db_obj" => inst } ) %>
157+ <% end -%>
158+
159+ === CSR Coverage Points & Test Procedures
160+
161+ <% proc_cert_model . in_scope_csrs ( design ) . each do |csr | -%>
162+ <%= portfolio_design . include_erb ( "coverage_points.adoc.erb" , { "db_obj" => csr } ) %>
163+ <%= portfolio_design . include_erb ( "test_procedures.adoc.erb" , { "db_obj" => csr } ) %>
164+ <% csr . implemented_fields ( design ) . each do |field | -%>
165+ <%= portfolio_design . include_erb ( "coverage_points.adoc.erb" , { "db_obj" => field , "use_description_list" => true } ) %>
166+ <%= portfolio_design . include_erb ( "test_procedures.adoc.erb" , { "db_obj" => field , "use_description_list" => true } ) %>
167+ <% end -%>
168+ <% end -%>
111169
112170// Appendices
113171<%= portfolio_design . include_erb ( "ext_appendix.adoc.erb" , { "gen_ctp_content" => true } ) %>
@@ -126,6 +184,3 @@ include::ext/riscv-isa-manual/src/riscv-unprivileged.adoc[]
126184// Reset chapter numbering
127185:!chapter-number:
128186include::ext/riscv-isa-manual/src/riscv-privileged.adoc[]
129-
130- // Make sure this didn't get overwritten by the included volumes (AKA book parts).
131- // :toclevels: 2
0 commit comments