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

# ModularAdderSynthesisDefault

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

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

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

The default modular adder (no carry in, no carry out qubit) synthesis.

This plugin name is:`ModularAdder.default` 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").

The plugin supports the following plugin-specific options:

- `optimization_metric`: The optimization metric, indicating the property of the output circuit (e.g., the 2-qubit gate count or the T-count) that should be minimized. See [`OptimizationMetric`](/docs/api/qiskit/qiskit.transpiler.OptimizationMetric "qiskit.transpiler.OptimizationMetric").
- `num_clean_ancillas`: The number of clean ancillary qubits available.
- `num_dirty_ancillas`: The number of dirty ancillary 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#L1705-L1728)

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")
