---
title: HalfAdderSynthesisV95 (latest version)
description: API reference for qiskit.transpiler.passes.synthesis.hls_plugins.HalfAdderSynthesisV95 in the latest version of qiskit
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/qiskit.transpiler.passes.synthesis.hls_plugins.HalfAdderSynthesisV95
---

# HalfAdderSynthesisV95

*class* `qiskit.transpiler.passes.synthesis.hls_plugins.HalfAdderSynthesisV95`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.5/qiskit/transpiler/passes/synthesis/hls_plugins.py#L1892-L1916)

Bases: [`HighLevelSynthesisPlugin`](/docs/api/qiskit/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")

A ripple-carry adder with a carry-out bit.

This plugin name is:`HalfAdder.ripple_v95` which can be used as the key on an [`HLSConfig`](/docs/api/qiskit/qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.HLSConfig") object to use this method with [`HighLevelSynthesis`](/docs/api/qiskit/qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.HighLevelSynthesis").

For an adder on 2 registers with $n$ qubits each, this plugin requires at least $n-1$ clean auxiliary qubit.

The plugin supports the following plugin-specific options:

- `num_clean_ancillas`: The number of clean auxiliary qubits available.

## Methods

### run

`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.5/qiskit/transpiler/passes/synthesis/hls_plugins.py#L1906-L1916)

Run synthesis for the given Operation.

**Parameters**

- **high\_level\_object** ([*Operation*](/docs/api/qiskit/qiskit.circuit.Operation "qiskit.circuit.Operation")) – The Operation to synthesize to a [`DAGCircuit`](/docs/api/qiskit/qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") object.
- **coupling\_map** ([*CouplingMap*](/docs/api/qiskit/qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap")) – The coupling map of the backend in case synthesis is done on a physical circuit.
- **target** ([*Target*](/docs/api/qiskit/qiskit.transpiler.Target "qiskit.transpiler.Target")) – A target representing the target backend.
- **qubits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list)) – List of qubits over which the operation is defined in case synthesis is done on a physical circuit.
- **options** – Additional method-specific optional kwargs.

**Returns**

**The quantum circuit representation of the Operation**

when successful, and `None` otherwise.

**Return type**

[QuantumCircuit](/docs/api/qiskit/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")
