You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: hw/ip_templates/clkmgr/doc/theory_of_operation.md.tpl
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -204,7 +204,7 @@ There are two occasions where this is required:
204
204
- Life cycle transition from `RAW` / `TEST_LOCKED*` to `TEST_UNLOCKED*` [states](../../../../ip/lc_ctrl/README.md#clk_byp_req).
205
205
- Software request for external clocks during normal functional mode.
206
206
207
-
207
+
% if len(derived_clks) > 0:
208
208
<%text>#### Life Cycle Requested External Clock</%text>
209
209
210
210
The life cycle controller only requests the io clock input to be switched.
@@ -264,6 +264,7 @@ This table also assumes that high speed external clock is 96MHz, while low speed
264
264
265
265
As can be seen from the table, the external clock switch scheme prioritizes the stability of the divided clocks, while allowing the undivided clocks to slow down.
266
266
267
+
% endif
267
268
268
269
<%text>### Clock Frequency / Time-out Measurements</%text>
Copy file name to clipboardExpand all lines: hw/ip_templates/clkmgr/dv/README.md.tpl
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -108,6 +108,7 @@ They depend on the `clk_hints` CSR, which has a separate bit for each, `main_ip_
108
108
They also depend on the `idle_i` input, which also has a separate multi-bit value for each unit.
109
109
Units are considered busy when their corresponding `idle_i` value is not `mubi_pkg::MuBi4True`, and this prevents its clock turning off until it becomes idle.
110
110
111
+
% if len(derived_clks) > 0:
111
112
${"####"} clkmgr_extclk_vseq
112
113
113
114
The sequence `clkmgr_extclk_vseq` randomizes the stimuli that drive the external clock selection.
@@ -117,6 +118,7 @@ When the external clock is selected and `scanmode_i` is not set to `prim_mubi_pk
117
118
* If `lc_ctrl_byp_req_i` is on, or
118
119
* If `extclk_ctrl.hi_speed_sel` CSR is `prim_mubi_pkg::MuBi4True`, when the selection is enabled by software.
119
120
121
+
% endif
120
122
${"####"} clkmgr_frequency_vseq
121
123
122
124
The sequence `clkmgr_frequency_vseq` randomly programs the frequency measurement for each clock so its measurement is either okay, slow, or fast.
@@ -145,7 +147,9 @@ The following covergroups have been developed to prove that the test intent has
145
147
These are wrapped in class `clkmgr_trans_cg_wrap` and instantiated in `clkmgr_env_cov`.
146
148
* Covergroups for the outcome of each clock measurement.
147
149
These are wrapped in class `freq_measure_cg_wrap` and instantiated in `clkmgr_env_cov`.
150
+
% if len(derived_clks) > 0:
148
151
* Covergroup for the external clock selection logic: `extclk_cg` in `clkmgr_env_cov`.
152
+
% endif
149
153
150
154
See more detailed description at `hw/top_${topname}/ip_autogen/clkmgr/data/clkmgr_testplan.hjson`.
0 commit comments