Writing specifications

Clarifying questions

Why Plan mode asks first, and how your answers change the module you get.

In Plan mode, RTLBridge reads your description and comes back with a short list of the decisions it would otherwise make on your behalf. Answering them takes under a minute and usually saves a whole round of review.

What it asks about

The questions target genuine ambiguity in your text, not trivia. Typically that means:

  • Reset style: synchronous or asynchronous, active high or low.
  • Port widths and which values should become parameters.
  • Behaviour at the boundaries: full, empty, overflow, an invalid request.
  • Whether outputs are registered, and the latency you expect.
  • Clock domains, when more than one is implied.

If your description already answers everything it needed, no questions are asked and the run starts immediately.

Each question shows the answer RTLBridge would assume if you said nothing. You can accept it, edit it, or write something else entirely. There is also Use all, which fills every unanswered question with its recommendation in one press.

Note

The recommendation is always shown as text you can read and change. That is the point: an invisible "decide for me" button tells you nothing about what was decided, and you find out only when you review the module.

Answering well

  • Short is fine. Active-low, synchronous is a complete answer.
  • Say why if it matters. "Async, because the rest of the chip resets that way" carries information the plain answer does not.
  • Add things nobody asked about. Anything you type is used, so a question about widths is a fine place to mention that you also need registered outputs.
  • Leaving one blank is allowed. Unanswered questions fall back to the recommendation.

Getting there without the questions

SituationWhat happens
Agent modeNo questions. The agent resolves ambiguity itself as it works.
Project modeNo questions. It reads your files to answer them instead.
Plan mode with a complete specNo questions, because there was nothing left to ask.
A follow-up in an existing chatNo questions. The earlier turns already carry the answers.