@@ -77,6 +77,7 @@ def _create_device_spec_with_horizontal_couplings():
77
77
'coupler_pulse' ,
78
78
'meas' ,
79
79
'wait' ,
80
+ 'fsim_via_model' ,
80
81
]
81
82
gate_durations = [(n , i * 1000 ) for i , n in enumerate (gate_names )]
82
83
for gate_name , duration in sorted (gate_durations ):
@@ -109,6 +110,7 @@ def _create_device_spec_with_horizontal_couplings():
109
110
cirq .GateFamily (cirq_google .experimental .ops .coupler_pulse .CouplerPulse ),
110
111
cirq .GateFamily (cirq .ops .measurement_gate .MeasurementGate ),
111
112
cirq .GateFamily (cirq .ops .wait_gate .WaitGate ),
113
+ cirq .GateFamily (cirq .ops .FSimGate , tags_to_accept = [cirq_google .FSimViaModelTag ()]),
112
114
)
113
115
114
116
base_duration = cirq .Duration (picos = 1_000 )
@@ -139,6 +141,10 @@ def _create_device_spec_with_horizontal_couplings():
139
141
cirq .GateFamily (cirq_google .experimental .ops .coupler_pulse .CouplerPulse ): base_duration * 7 ,
140
142
cirq .GateFamily (cirq .ops .measurement_gate .MeasurementGate ): base_duration * 8 ,
141
143
cirq .GateFamily (cirq .ops .wait_gate .WaitGate ): base_duration * 9 ,
144
+ cirq .GateFamily (
145
+ cirq .ops .FSimGate , tags_to_accept = [cirq_google .FSimViaModelTag ()]
146
+ ): base_duration
147
+ * 10 ,
142
148
}
143
149
144
150
expected_target_gatesets = (
@@ -164,6 +170,7 @@ def _create_device_spec_with_horizontal_couplings():
164
170
),
165
171
cirq_google .experimental .ops .coupler_pulse .CouplerPulse ,
166
172
cirq .ops .wait_gate .WaitGate ,
173
+ cirq .GateFamily (cirq .ops .FSimGate , tags_to_accept = [cirq_google .FSimViaModelTag ()]),
167
174
]
168
175
),
169
176
cirq_google .SycamoreTargetGateset (),
@@ -189,6 +196,7 @@ def _create_device_spec_with_horizontal_couplings():
189
196
),
190
197
cirq_google .experimental .ops .coupler_pulse .CouplerPulse ,
191
198
cirq .ops .wait_gate .WaitGate ,
199
+ cirq .GateFamily (cirq .ops .FSimGate , tags_to_accept = [cirq_google .FSimViaModelTag ()]),
192
200
]
193
201
),
194
202
)
@@ -505,6 +513,7 @@ def test_device_from_device_information_equals_device_from_proto():
505
513
cirq_google .experimental .ops .coupler_pulse .CouplerPulse ,
506
514
cirq .ops .measurement_gate .MeasurementGate ,
507
515
cirq .ops .wait_gate .WaitGate ,
516
+ cirq .GateFamily (cirq .ops .FSimGate , tags_to_accept = [cirq_google .FSimViaModelTag ()]),
508
517
)
509
518
510
519
base_duration = cirq .Duration (picos = 1_000 )
@@ -525,6 +534,10 @@ def test_device_from_device_information_equals_device_from_proto():
525
534
cirq .GateFamily (cirq_google .experimental .ops .coupler_pulse .CouplerPulse ): base_duration * 7 ,
526
535
cirq .GateFamily (cirq .ops .measurement_gate .MeasurementGate ): base_duration * 8 ,
527
536
cirq .GateFamily (cirq .ops .wait_gate .WaitGate ): base_duration * 9 ,
537
+ cirq .GateFamily (
538
+ cirq .ops .FSimGate , tags_to_accept = [cirq_google .FSimViaModelTag ()]
539
+ ): base_duration
540
+ * 10 ,
528
541
}
529
542
530
543
device_from_information = cirq_google .GridDevice ._from_device_information (
@@ -627,6 +640,10 @@ def test_to_proto():
627
640
cirq .GateFamily (cirq_google .experimental .ops .coupler_pulse .CouplerPulse ): base_duration * 7 ,
628
641
cirq .GateFamily (cirq .ops .measurement_gate .MeasurementGate ): base_duration * 8 ,
629
642
cirq .GateFamily (cirq .ops .wait_gate .WaitGate ): base_duration * 9 ,
643
+ cirq .GateFamily (
644
+ cirq .ops .FSimGate , tags_to_accept = [cirq_google .FSimViaModelTag ()]
645
+ ): base_duration
646
+ * 10 ,
630
647
}
631
648
632
649
spec = cirq_google .GridDevice ._from_device_information (
0 commit comments