Getting Started with CV32E40X

This page discusses initial steps and requirements to start using CV32E40X in your design.

Clock Gating Cell

CV32E40X requires clock gating cells. These cells are usually specific to the selected target technology and thus not provided as part of the RTL design. A simulation-only version of the clock gating cell is provided in cv32e40x_sim_clock_gate.sv. This file contains a module called cv32e40x_clock_gate that has the following ports:

  • clk_i: Clock Input

  • en_i: Clock Enable Input

  • scan_cg_en_i: Scan Clock Gate Enable Input (activates the clock even though en_i is not set)

  • clk_o: Gated Clock Output

And the following Parameters: * LIB : Standard cell library (semantics defined by integrator)

Inside CV32E40X, the clock gating cell is used in cv32e40x_sleep_unit.sv.

The cv32e40x_sim_clock_gate.sv file is not intended for synthesis. For ASIC synthesis and FPGA synthesis the manifest should be adapted to use a customer specific file that implements the cv32e40x_clock_gate module using design primitives that are appropriate for the intended synthesis target technology.