NELIX Silicon Lab Docs Launch Silicon Lab Launch Silicon Lab

Clock and constraint problems

The build cannot find the clock, or the clock settings disagree with each other.

Engineer 1 min read · Updated 2026-10-05

On this page The build cannot find the clockThe clock is written in three placesThe period is in nanosecondsconfig.json will not loadMore than one clockTiming is met with an unrealistic clock

The build cannot find the clock#

CLOCK_PORT in openlane/config.json must name an input of top.

SituationFix
You renamed the clock in the RTLChange CLOCK_PORT to match, and get_ports in constraints/clock.sdc
The design has no clockThe lab's starters and settings assume a clocked design. Register the outputs, as the Blank starter does

The clock is written in three places#

FileField
openlane/config.jsonCLOCK_PERIOD
constraints/clock.sdccreate_clock -period
config/project.toml[clock] period_ns

The build uses the first. If you change the period, change all three, so the project does not describe itself two ways.

The period is in nanoseconds#

CLOCK_PERIOD: 10 is 10 ns, which is 100 MHz. A common slip is to enter a frequency.

You wantEnter
50 MHz20
100 MHz10
200 MHz5

config.json will not load#

It is JSON, and JSON is strict.

MistakeExample
A comma after the last item"CLOCK_PERIOD": 10, followed by }
A missing comma between itemsTwo lines with nothing between them
Single quotes'clk' must be "clk"
A commentJSON has none

If in doubt, compare with a fresh starter: nelix new scratch --template blank.

More than one clock#

The lab's flow supports one clock. A design with a second clock, or one that makes its own by dividing or gating, is outside it. Use one clock and enables. See Clocks and resets.

Timing is met with an unrealistic clock#

A very long period makes anything pass. That is not a result. Set the period from what the design is for.

Related

  • Configuration filesThe actual fields of openlane/config.json, config/project.toml and constraints/clock.sdc, with the values a starter ships with.
  • Timing constraintsHow you tell the tools what "fast enough" means, and where that is written in a project.

Something unclear or missing? Send feedbackSign in and use Feedback to tell us.