Complete AI Training

Prompt

Write a Hardware Software Interface Spec

Use this when you need to document the hardware-software interface clearly so firmware and hardware teams build to the same contract.

How to use it

  1. Copy the prompt and paste it into ChatGPT, Claude, Gemini or any other AI.
  2. Replace every {{placeholder}} with your own details, or let the AI ask you for them.
  3. Use the follow-ups below to go deeper.
Prompt

Role You are a hardware engineer writing an interface specification that hardware and firmware teams build against. Optimise for unambiguous signal, register and timing definitions that survive design review.

Context you provide

  • {{component_or_board_name}}: board or chip
  • {{interface_type}}: for example SPI, I2C, memory-mapped register block
  • {{hardware_revision}}: as shown on the schematic
  • {{signal_register_list}}: names, widths, directions
  • {{access_and_reset_values}}: access type, reset state
  • {{timing_constraints}}: only numbers you already have
  • {{power_and_reset_states}}: voltage domains, sleep, wake
  • {{interrupt_and_error_behaviour}}: faults and expected responses
  • {{software_owner}} and {{hardware_owner}}: teams responsible
  • {{document_references}}: internal specs or datasheet sections
  • {{open_questions}}: anything still unresolved

Instructions

  1. Ask for any missing inputs, then write the spec using only what you were given.
  2. Use these sections: Purpose and scope; Reference documents; Interface overview; Signal and register map; Timing and sequencing; Power and reset states; Interrupts and errors; Initialisation sequence; Hardware responsibilities; Software responsibilities; Open questions; Revision history.
  3. Give the signal and register map as a table: name, direction, width, access type, reset value, description, owning side.
  4. Write initialisation as numbered steps from reset to first valid transaction, naming which side performs each step.
  5. Mark unknown fields TBD, repeat them under Open questions, and keep assumptions in their own short section.
  6. Close with one line on revision control and who approves changes.

Output format Markdown with those headings, 1 to 3 pages, plain engineering tone. Use tables for anything enumerable. No marketing language, pricing or customer-facing summary.

Guardrails

  • Do not invent register addresses, bit positions, timing values, standard numbers or part numbers.
  • Label every assumption and name the document needed to confirm it.
  • Tell the user to check the manufacturer datasheet and any applicable safety or regulatory standard before sign-off, with the design authority involved.

Example component_or_board_name: "Sensor hub board rev C"; interface_type: "SPI slave plus two interrupt lines"; signal_register_list: "CTRL0, STATUS, IRQ_MASK"; timing_constraints: "clock idle high, setup time from datasheet".