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: docs/source/corev_hw_loop.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -181,7 +181,7 @@ If ebreak is used to enter in Debug Mode (:ref:`ebreak_scenario_2`) and put at t
181
181
182
182
When ebreak instruction is used as Software Breakpoint by a debugger when in debug mode and is placed at the last instruction location of an HWLoop in instruction memory, no special management is foreseen.
183
183
When executing the Software Breakpoint/ebreak instruction, control is given back to the debugger which will manage the different cases.
184
-
For instance in Single-Step case, original instruction is put back in instruction memory, a Single-Step command is executed on this last instruction (with desgin updating PC and lpcountX to correct values) and Software Breakpoint/ebreak is put back by the debugger in memory.
184
+
For instance in Single-Step case, original instruction is put back in instruction memory, a Single-Step command is executed on this last instruction (with design updating PC and lpcountX to correct values) and Software Breakpoint/ebreak is put back by the debugger in memory.
185
185
186
186
When ecall instruction is used by a debugger to execute System Calls and is placed at the last instruction location of an HWLoop in instruction memory, debugger ecall handler in debug program should do the same than described above for application case.
Copy file name to clipboardExpand all lines: docs/source/fpu.rst
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -163,9 +163,6 @@ host the floating-point operands.
163
163
164
164
The latency of the individual instructions are explained in :ref:`instructions_latency_table` table.
165
165
166
-
To allow FPU unit to be put in sleep mode at the same time the core is doing so, a clock gating cell is instantiated in ``cv32e40p_top`` top level module as well
167
-
with its enable signal being inverted ``core_sleep_o`` core output.
168
-
169
166
FP CSR
170
167
------
171
168
@@ -175,6 +172,11 @@ exceptions that occurred since it was last reset and the rounding mode.
175
172
:ref:`csr-fflags` and :ref:`csr-frm` can be accessed directly or via :ref:`csr-fcsr` which is mapped to
176
173
those two registers.
177
174
175
+
FPU Sleeping mode
176
+
-----------------
177
+
178
+
To reduce power consumption, FPU clock is stopped when no FP instruction is being executed. To do so a dedicated clock gating cell is instantiated in ``cv32e40p_top`` top level module with its enable signal depending of both ``apu_req_o`` and ``apu_busy_o`` core outputs.
Copy file name to clipboardExpand all lines: docs/source/integration.rst
+49-7Lines changed: 49 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -248,13 +248,55 @@ The ``constraints/cv32e40p_core.sdc`` file provides an example of synthesis cons
248
248
ASIC Synthesis
249
249
^^^^^^^^^^^^^^
250
250
251
-
ASIC synthesis is supported for CV32E40P. The whole design is completely
252
-
synchronous and uses positive-edge triggered flip-flops. The
253
-
core occupies an area of about XX kGE.
254
-
With the FPU, the area increases to about XX kGE (XX kGE
255
-
FPU, XX kGE additional register file). A technology specific implementation
256
-
of a clock gating cell as described in :ref:`clock-gating-cell` needs to
257
-
be provided.
251
+
ASIC synthesis is supported for CV32E40P. The whole design is completely synchronous and uses positive-edge triggered flip-flops.
252
+
253
+
To give some size numbers, it has been synthetized at 100 MHz with a 32 KB memory connected on each of its OBI interface, DFT scan chains have been implemented and it went down to full back-end implementation with Clock Tree synthesis.
254
+
But no memory bist are inserted and there are no scan compression for DFT.
255
+
256
+
And a technology specific implementation of a clock gating cell as described in :ref:`clock-gating-cell` has been provided.
257
+
258
+
Following table gives CV32E40P size in Kilo-Gates numbers using a 2-input NAND gate with X1 drive for different top parameters settings (COREV_CLUSTER = 0 for all cases).
0 commit comments