RTL Studio Open IDE

Clock Generators

Clock Enable with Soft-Reset Stretch — L2 Upgrade

Configurable clock enable generator with stretch and phase offset capabilities for precise timing control.

About this block

Simulate it in the Verilog IDE

Mediumverilogsimsyn

Clock Enable with Soft-Reset Stretch — L2 Upgrade is a Verilog reference block in the Clock Generators catalog. Clock dividers, gating, and clock distribution helpers. Marked Medium: more state or a wider datapath, still one workspace in the IDE.

This IP implements a configurable clock enable generator with stretch and phase offset capabilities. It allows precise control over CE signal timing relative to input pulses. The module supports independent stretch and phase offset configurations. Stretch logic extends the CE pulse duration based on a counter. Phase offset logic delays the CE pulse start based on a counter. The output is the logical OR of stretch and phase flags. This design is suitable for power management and synchronized data path control.

This IP provides a robust solution for clock enable timing control. It supports stretch and phase offset configurations. The design is verified and ready for integration. Use this module to manage power and synchronization in digital designs.

  1. Choose Open in IDE. RTL Studio loads the packaged workspace for Clock Enable with Soft-Reset Stretch — L2 Upgrade.
  2. Read the Verilog module in the editor. The catalog line for this block: Configurable clock enable generator with stretch and phase offset capabilities for precise timing control.
  3. Run the packaged testbench with the in-browser Verilator simulator, then open the VCD in the waveform viewer.
  4. Run Yosys in the same IDE for a generic netlist. Sky130 liberty mapping is a separate Pro library option.

RTL Studio is the Verilog simulator and IDE around this block: Slang lint, Verilator, VCD waveforms, and Yosys, in the browser. Simulation guide · Yosys guide.

Features

Supports configurable stretch count via stretch_cnt input. Supports configurable phase offset via phase_offset input. Asynchronous active-low reset rst_n clears all internal state. Synchronous operation on positive clock edge clk. 4-bit width for both stretch and phase counters. Simple interface with single bit inputs and outputs.

Ports

Port NameDirectionWidthDescription
clkInput1Clock input
rst_nInput1Active-low asynchronous reset
ce_inInput1Input clock enable pulse
stretch_enInput1Enable stretch logic
stretch_cntInput[3:0]Stretch counter value
phase_offsetInput[3:0]Phase offset counter value
ce_outOutput1Generated clock enable output

Verification

The testbench verifies four key scenarios. Reset behavior ensures output is low during reset. Stretch test verifies pulse extension duration. Phase offset test verifies pulse delay duration. Combined test verifies interaction of both features. All tests passed in simulation.

Test CaseDescriptionResult
TC1Reset TestPASS
TC2Stretch TestPASS
TC3Phase Offset TestPASS
TC4Combined TestPASS

More in Clock Generators

All Clock Generators blocks