This section describes the devices in Cirq for Google hardware devices and their usage. Since quantum hardware is an active area of research, hardware specifications and best practices are constantly evolving in an attempt to continuously improve performance. While this information should be a solid base for beginning your quantum application, please work with your Google sponsor to obtain the latest information on devices that you plan to use.

## General limitations¶

Qubits on Google devices are laid out in a grid structure. Connectivity is limited to adjacent qubits, either horizontally or vertically.

Measurement takes much longer than other gates. Currently, the only supported configuration is to have terminal measurement in the final moment of a circuit.

Most devices have a limited set of gates that can be applied. Gates not in that set must be decomposed into an equivalent circuit using gates within the set. See below for those restrictions.

There are some limitations to the total circuit length due to hardware limitations. Several factors can influence this limit, but this can be estimated at about 40 microseconds of total circuit run-time. Circuits that exceed this limit will return a “Program too long” error code.

## Specific Device Layouts¶

### Sycamore¶

The Sycamore device is a 54 qubit device introduced in 2019 with a publication in Nature. Note that the supremacy result in the paper utilized a device that had 53 qubits since one qubit had malfunctioned.

It can be accessed using cirq.GridQubit(row, col) using grid coordinates specified below.

  0123456789
0 -----AB---
1 ----ABCD--
2 ---ABCDEF-
3 --ABCDEFGH
4 -ABCDEFGHI
5 ABCDEFGHI-
6 -CDEFGHI--
7 --EFGHI---
8 ---GHI----
9 ----I-----


It can be accessing by using cirq.google.Sycamore. This device has two possible two-qubits gates that can be used.

• Square root of ISWAP. The gate cirq.ISWAP ** 0.5 or cirq.ISWAP ** -0.5 can be used on cirq.google.optimized_for_sycamore with optimizer type sqrt_iswap

• Sycamore gate. This gate, equivalent to FSimGate(π/2, π/6) can be used as cirq.google.SYC or by using cirq.FsimGate(numpy.pi/2,numpy.pi/6). Circuits can be compiled to use this gate by using cirq.google.optimized_for_sycamore with optimizer type sycamore

### Sycamore23¶

The Sycamore23 chip is a 23-qubit subset of the Sycamore chip that is easier to work with and presents less hardware-related complications than using the full Sycamore device.

  0123456789
0 ----------
1 ----------
2 ----------
3 --A-------
4 -ABC------
5 ABCDE-----
6 -CDEFG----
7 --EFGHI---
8 ---GHI----
9 ----I-----


This grid can be accessed using cirq.google.Sycamore23 and uses the same gate sets and compilation as the Sycamore device.

### Bristlecone¶

The Bristlecone processor is a 72 qubit device announced by Google in 2018.

The device is arrayed on a grid in a diamond pattern like this.

            11
012345678901
0 -----AB-----
1 ----ABCD----
2 ---ABCDEF---
3 --ABCDEFGH--
4 -ABCDEFGHIJ-
5 ABCDEFGHIJKL
6 -CDEFGHIJKL-
7 --EFGHIJKL--
8 ---GHIJKL---
9 ----IJKL----
10-----KL-----


It can be accessing by using cirq.google.Bristlecone. Circuits can be compiled to it by using cirq.google.optimized_for_xmon or by using cirq.google.optimized_for_sycamore with optimizer_type xmon.

### Foxtail¶

The Foxtail device is a 2 by 11 XMON device arranged in a bilinear array, addressable by using grid qubits ({0,1}, {0-11}). It was one of the first super-conducting quantum devices announced by Google. Due to the small number of qubits and limited connectivity, it is still interesting for exploring the space of constrained algorithms on NISQ devices.

It can be accessing by using cirq.google.Foxtail. Circuits can be compiled to it by using cirq.google.optimized_for_xmon or by using cirq.google.optimized_for_sycamore with optimizer_type xmon.