app: stacked_cores: 57xx: do some runs where only one pos core is wired
into the output
This commit is contained in:
parent
ea6799b764
commit
b7112fab86
|
@ -21,14 +21,17 @@ def extract_57xx_tx(meas_rows: list) -> tuple:
|
|||
)
|
||||
|
||||
|
||||
buf_gates = read_db(lambda name: name.startswith("57-"))
|
||||
# buf_gates = read_db(lambda name: name.startswith("57-"))
|
||||
buf_gates = read_db(lambda name: name.startswith("57-buf-1p-2n-"))
|
||||
|
||||
sweep_buf_inputs = lambda points=101: [(m, None, m, -m, None, -m) for m in sweep_1d(points)]
|
||||
sweep_pos_input = lambda mneg, points=101: [(m, None, m, mneg, None, mneg) for m in sweep_1d(points)]
|
||||
sweep_2n1p_input = lambda points=101: [(m, None, None, -m, None, -m) for m in sweep_1d(points)]
|
||||
|
||||
|
||||
for name, meas in natsorted(buf_gates.items()):
|
||||
# trace = eval_series(meas, sweep_buf_inputs(41), extract_57xx_tx, y_idx=1)
|
||||
trace = eval_series(meas, sweep_pos_input(0, 41), extract_57xx_tx, y_idx=1)
|
||||
# trace = eval_series(meas, sweep_pos_input(0, 41), extract_57xx_tx, y_idx=1)
|
||||
trace = eval_series(meas, sweep_2n1p_input(41), extract_57xx_tx, y_idx=1)
|
||||
plot(f"{name}", "a1", trace)
|
||||
plot_slope(f"slope {name}", "a1", trace)
|
||||
|
|
|
@ -2129,6 +2129,10 @@ DB = {
|
|||
MeasRow(4e-09, [ 16454, -17198, 16466, -17137, -17413, -17122]),
|
||||
MeasRow(6e-09, [-29550, 16298, -29717, -29735, -14958, -29708]),
|
||||
],
|
||||
( 0.120, -0.120,): [
|
||||
MeasRow(4e-09, [ 16523, -17197, 16539, -17185, -17419, -17172]),
|
||||
MeasRow(6e-09, [-29550, 16291, -29717, -29737, -14944, -29708]),
|
||||
],
|
||||
( 0.150, -0.150,): [
|
||||
MeasRow(4e-09, [ 16592, -17193, 16610, -17235, -17428, -17224]),
|
||||
MeasRow(6e-09, [-29549, 16310, -29717, -29737, -14965, -29708]),
|
||||
|
@ -2288,4 +2292,304 @@ DB = {
|
|||
MeasRow(6e-09, [-28763, 15632, -28759, -28780, -13374, -28777]),
|
||||
],
|
||||
}),
|
||||
'57-buf-1p-2n-0.0004rad-2000ctl_cond-20000coupling_cond-2000ps-100ps-3ctl-3coupling-5_1_3_1_winding-1e10-drive-': ParameterizedMeas({
|
||||
(-1.000, -1.000,): [
|
||||
MeasRow(4e-09, [-17107, -17151, -16813, -17012, -17260, -16997]),
|
||||
MeasRow(6e-09, [-27678, -14252, -28550, -27793, -9249, -27735]),
|
||||
],
|
||||
(-1.000, 1.000,): [
|
||||
MeasRow(4e-09, [-17082, -16963, -16793, 16689, -16953, 16686]),
|
||||
MeasRow(6e-09, [-27756, -16733, -28607, -27671, 13620, -27614]),
|
||||
],
|
||||
(-0.200, 0.200,): [
|
||||
MeasRow(4e-09, [-12088, -16866, -12576, 12675, -16915, 12386]),
|
||||
MeasRow(6e-09, [-27668, -16666, -28599, -27686, 10906, -27630]),
|
||||
],
|
||||
(-0.100, 0.100,): [
|
||||
MeasRow(4e-09, [ 174, -16866, -1502, 7499, -16914, 7552]),
|
||||
MeasRow(6e-09, [-27619, -14158, -28605, -27698, 6085, -27645]),
|
||||
],
|
||||
( 0.000, 0.000,): [
|
||||
MeasRow(4e-09, [ 3098, -16876, -76, 3150, -16917, 3708]),
|
||||
MeasRow(6e-09, [-27619, -12711, -28603, -27709, 3443, -27655]),
|
||||
],
|
||||
( 0.020, -0.020,): [
|
||||
MeasRow(4e-09, [ 3700, -16877, 70, 2354, -16917, 2952]),
|
||||
MeasRow(6e-09, [-27619, -12428, -28602, -27709, 2945, -27658]),
|
||||
],
|
||||
( 0.050, -0.050,): [
|
||||
MeasRow(4e-09, [ 4550, -16878, 408, 1279, -16915, 1846]),
|
||||
MeasRow(6e-09, [-27619, -12024, -28603, -27710, 2223, -27660]),
|
||||
],
|
||||
( 0.100, -0.100,): [
|
||||
MeasRow(4e-09, [ 6019, -16874, 1312, -113, -16910, 269]),
|
||||
MeasRow(6e-09, [-27621, -11344, -28602, -27714, 1172, -27664]),
|
||||
],
|
||||
( 0.150, -0.150,): [
|
||||
MeasRow(4e-09, [ 7768, -16866, 5689, -5386, -16905, -5337]),
|
||||
MeasRow(6e-09, [-27620, -9610, -28598, -27727, -2540, -27675]),
|
||||
],
|
||||
( 0.200, -0.200,): [
|
||||
MeasRow(4e-09, [ 11739, -16867, 12112, -12198, -16906, -12192]),
|
||||
MeasRow(6e-09, [-27627, -6743, -28596, -27746, -7332, -27693]),
|
||||
],
|
||||
( 0.250, -0.250,): [
|
||||
MeasRow(4e-09, [ 15836, -16907, 16218, -16320, -17032, -16304]),
|
||||
MeasRow(6e-09, [-27625, -4705, -28588, -27773, -10139, -27713]),
|
||||
],
|
||||
( 1.000, -1.000,): [
|
||||
MeasRow(4e-09, [ 16744, -16974, 16790, -16983, -17144, -16977]),
|
||||
MeasRow(6e-09, [-27622, -4420, -28588, -27800, -10547, -27741]),
|
||||
],
|
||||
}),
|
||||
'57-buf-1p-2n-0.0004rad-2000ctl_cond-20000coupling_cond-2000ps-100ps-3ctl-3coupling-5_1_3_1_winding-2e10-drive-': ParameterizedMeas({
|
||||
(-1.000, -1.000,): [
|
||||
MeasRow(4e-09, [-17269, -17328, -16860, -17140, -17478, -17129]),
|
||||
MeasRow(6e-09, [-28605, -13683, -29027, -28770, -7593, -28745]),
|
||||
],
|
||||
(-1.000, 1.000,): [
|
||||
MeasRow(4e-09, [-17247, -17097, -16842, 16759, -17040, 16767]),
|
||||
MeasRow(6e-09, [-28633, -16795, -29074, -28567, 15364, -28506]),
|
||||
],
|
||||
(-0.200, 0.200,): [
|
||||
MeasRow(4e-09, [-16920, -17068, -16677, 16226, -17053, 16249]),
|
||||
MeasRow(6e-09, [-28621, -16789, -29070, -28571, 15241, -28512]),
|
||||
],
|
||||
(-0.100, 0.100,): [
|
||||
MeasRow(4e-09, [-12153, -16975, -13157, 12994, -17042, 12832]),
|
||||
MeasRow(6e-09, [-28574, -16765, -29064, -28585, 14208, -28533]),
|
||||
],
|
||||
( 0.000, 0.000,): [
|
||||
MeasRow(4e-09, [ 4817, -16987, -76, 5614, -17041, 6866]),
|
||||
MeasRow(6e-09, [-28532, -12545, -29053, -28650, 7897, -28606]),
|
||||
],
|
||||
( 0.020, -0.020,): [
|
||||
MeasRow(4e-09, [ 5831, -16989, 802, 4197, -17041, 5770]),
|
||||
MeasRow(6e-09, [-28534, -11811, -29051, -28656, 6809, -28616]),
|
||||
],
|
||||
( 0.050, -0.050,): [
|
||||
MeasRow(4e-09, [ 7260, -16986, 2634, 1310, -17034, 1601]),
|
||||
MeasRow(6e-09, [-28536, -10126, -29049, -28675, 3834, -28645]),
|
||||
],
|
||||
( 0.070, -0.070,): [
|
||||
MeasRow(4e-09, [ 8277, -16983, 5578, -4029, -17027, -3929]),
|
||||
MeasRow(6e-09, [-28542, -7764, -29042, -28713, -568, -28693]),
|
||||
],
|
||||
( 0.100, -0.100,): [
|
||||
MeasRow(4e-09, [ 11693, -16983, 12486, -12280, -17027, -12236]),
|
||||
MeasRow(6e-09, [-28561, -3313, -29030, -28785, -7528, -28770]),
|
||||
],
|
||||
( 0.120, -0.120,): [
|
||||
MeasRow(4e-09, [ 15358, -17014, 16109, -16143, -17143, -16100]),
|
||||
MeasRow(6e-09, [-28552, -564, -29020, -28826, -10976, -28804]),
|
||||
],
|
||||
( 0.150, -0.150,): [
|
||||
MeasRow(4e-09, [ 16301, -17031, 16580, -16761, -17210, -16739]),
|
||||
MeasRow(6e-09, [-28557, -81, -29027, -28823, -11510, -28802]),
|
||||
],
|
||||
( 0.170, -0.170,): [
|
||||
MeasRow(4e-09, [ 16376, -17035, 16615, -16805, -17217, -16784]),
|
||||
MeasRow(6e-09, [-28556, -38, -29026, -28825, -11557, -28803]),
|
||||
],
|
||||
( 0.200, -0.200,): [
|
||||
MeasRow(4e-09, [ 16450, -17038, 16653, -16853, -17226, -16835]),
|
||||
MeasRow(6e-09, [-28557, 7, -29025, -28826, -11600, -28805]),
|
||||
],
|
||||
( 0.220, -0.220,): [
|
||||
MeasRow(4e-09, [ 16486, -17040, 16670, -16876, -17230, -16861]),
|
||||
MeasRow(6e-09, [-28556, 26, -29024, -28827, -11624, -28805]),
|
||||
],
|
||||
( 0.250, -0.250,): [
|
||||
MeasRow(4e-09, [ 16529, -17040, 16697, -16905, -17236, -16890]),
|
||||
MeasRow(6e-09, [-28556, 51, -29025, -28827, -11652, -28806]),
|
||||
],
|
||||
( 1.000, -1.000,): [
|
||||
MeasRow(4e-09, [ 16834, -17069, 16847, -17120, -17337, -17114]),
|
||||
MeasRow(6e-09, [-28553, 188, -29025, -28831, -11892, -28812]),
|
||||
],
|
||||
}),
|
||||
'57-buf-1p-2n-0.0004rad-2000ctl_cond-20000coupling_cond-2000ps-100ps-3ctl-3coupling-5_1_5_1_winding-49999998976e0-drive-': ParameterizedMeas({
|
||||
(-1.000, -1.000,): [
|
||||
MeasRow(4e-09, [-17476, -17535, -16864, -17556, -17796, -17574]),
|
||||
MeasRow(6e-09, [-29696, -12620, -29786, -29737, -3824, -29699]),
|
||||
],
|
||||
(-1.000, 1.000,): [
|
||||
MeasRow(4e-09, [-17478, -17232, -16850, 16971, -16939, 16994]),
|
||||
MeasRow(6e-09, [-29719, -15322, -29805, -29614, 15976, -29647]),
|
||||
],
|
||||
(-0.200, 0.200,): [
|
||||
MeasRow(4e-09, [-17241, -17191, -16823, 16658, -17111, 16706]),
|
||||
MeasRow(6e-09, [-29715, -15340, -29804, -29617, 15908, -29650]),
|
||||
],
|
||||
(-0.100, 0.100,): [
|
||||
MeasRow(4e-09, [-17096, -17194, -16791, 16434, -17135, 16481]),
|
||||
MeasRow(6e-09, [-29715, -15338, -29803, -29619, 15860, -29651]),
|
||||
],
|
||||
( 0.000, 0.000,): [
|
||||
MeasRow(4e-09, [ 7130, -17108, -249, 7030, -17143, 8147]),
|
||||
MeasRow(6e-09, [-29633, -10306, -29797, -29667, 11214, -29672]),
|
||||
],
|
||||
( 0.050, -0.050,): [
|
||||
MeasRow(4e-09, [ 15632, -17136, 16713, -16491, -17306, -16444]),
|
||||
MeasRow(6e-09, [-29628, 1702, -29789, -29761, -8820, -29711]),
|
||||
],
|
||||
( 0.100, -0.100,): [
|
||||
MeasRow(4e-09, [ 16436, -17165, 16780, -17148, -17419, -17132]),
|
||||
MeasRow(6e-09, [-29632, 2202, -29788, -29760, -9410, -29708]),
|
||||
],
|
||||
( 0.150, -0.150,): [
|
||||
MeasRow(4e-09, [ 16571, -17170, 16793, -17246, -17445, -17236]),
|
||||
MeasRow(6e-09, [-29632, 2284, -29788, -29761, -9501, -29708]),
|
||||
],
|
||||
( 0.200, -0.200,): [
|
||||
MeasRow(4e-09, [ 16642, -17172, 16815, -17295, -17464, -17288]),
|
||||
MeasRow(6e-09, [-29631, 2326, -29787, -29760, -9562, -29708]),
|
||||
],
|
||||
( 0.250, -0.250,): [
|
||||
MeasRow(4e-09, [ 16693, -17171, 16830, -17330, -17480, -17326]),
|
||||
MeasRow(6e-09, [-29631, 2359, -29787, -29761, -9600, -29708]),
|
||||
],
|
||||
( 1.000, -1.000,): [
|
||||
MeasRow(4e-09, [ 16931, -17146, 16853, -17560, -17643, -17571]),
|
||||
MeasRow(6e-09, [-29628, 2531, -29785, -29763, -9868, -29710]),
|
||||
],
|
||||
}),
|
||||
'57-buf-1p-2n-0.0004rad-2000ctl_cond-20000coupling_cond-2000ps-100ps-6ctl-6coupling-3_1_3_1_winding-1e10-drive-': ParameterizedMeas({
|
||||
(-1.000, -1.000,): [
|
||||
MeasRow(4e-09, [-18034, -18043, -16824, -18223, -18872, -18206]),
|
||||
MeasRow(6e-09, [-29643, -13572, -29825, -29643, -8118, -29655]),
|
||||
],
|
||||
(-1.000, 1.000,): [
|
||||
MeasRow(4e-09, [-18102, -17652, -16824, 17043, -16855, 17038]),
|
||||
MeasRow(6e-09, [-29664, -16432, -29838, -29611, 16645, -29627]),
|
||||
],
|
||||
(-0.200, 0.200,): [
|
||||
MeasRow(4e-09, [-17718, -17548, -16736, 16617, -17211, 16613]),
|
||||
MeasRow(6e-09, [-29659, -16439, -29834, -29614, 16596, -29629]),
|
||||
],
|
||||
(-0.100, 0.100,): [
|
||||
MeasRow(4e-09, [-12258, -17275, -12663, 12661, -17566, 12703]),
|
||||
MeasRow(6e-09, [-29640, -16043, -29837, -29618, 16168, -29633]),
|
||||
],
|
||||
( 0.000, 0.000,): [
|
||||
MeasRow(4e-09, [ 8669, -17301, -1, 8542, -17564, 9110]),
|
||||
MeasRow(6e-09, [-29628, -6136, -29833, -29621, 12211, -29637]),
|
||||
],
|
||||
( 0.050, -0.050,): [
|
||||
MeasRow(4e-09, [ 10492, -17305, 884, 1707, -17550, 1841]),
|
||||
MeasRow(6e-09, [-29630, -2945, -29831, -29626, 6260, -29642]),
|
||||
],
|
||||
( 0.100, -0.100,): [
|
||||
MeasRow(4e-09, [ 12546, -17303, 12669, -12357, -17534, -12255]),
|
||||
MeasRow(6e-09, [-29629, 2216, -29817, -29629, -5531, -29643]),
|
||||
],
|
||||
( 0.150, -0.150,): [
|
||||
MeasRow(4e-09, [ 16344, -17288, 16594, -17607, -18245, -17593]),
|
||||
MeasRow(6e-09, [-29629, 5496, -29813, -29632, -10579, -29645]),
|
||||
],
|
||||
( 0.200, -0.200,): [
|
||||
MeasRow(4e-09, [ 16611, -17270, 16740, -17849, -18341, -17842]),
|
||||
MeasRow(6e-09, [-29627, 5689, -29814, -29633, -10855, -29645]),
|
||||
],
|
||||
( 0.250, -0.250,): [
|
||||
MeasRow(4e-09, [ 16675, -17253, 16760, -17913, -18387, -17904]),
|
||||
MeasRow(6e-09, [-29625, 5752, -29813, -29633, -10950, -29645]),
|
||||
],
|
||||
( 1.000, -1.000,): [
|
||||
MeasRow(4e-09, [ 17021, -17152, 16826, -18246, -18660, -18230]),
|
||||
MeasRow(6e-09, [-29624, 6063, -29811, -29638, -11445, -29647]),
|
||||
],
|
||||
}),
|
||||
'57-buf-1p-2n-0.0004rad-2000ctl_cond-20000coupling_cond-2000ps-100ps-6ctl-6coupling-3_1_3_1_winding-3e9-drive-': ParameterizedMeas({
|
||||
(-1.000, -1.000,): [
|
||||
MeasRow(4e-09, [-17679, -17701, -16769, -17860, -18381, -17850]),
|
||||
MeasRow(6e-09, [-28044, -14526, -28129, -28036, -10406, -28047]),
|
||||
],
|
||||
(-1.000, 1.000,): [
|
||||
MeasRow(4e-09, [-17710, -17367, -16770, 16904, -16799, 16900]),
|
||||
MeasRow(6e-09, [-28059, -15902, -28139, -28030, 11734, -28040]),
|
||||
],
|
||||
(-0.200, 0.200,): [
|
||||
MeasRow(4e-09, [ -1287, -17082, -1476, 8820, -17289, 8837]),
|
||||
MeasRow(6e-09, [-28036, -11553, -28113, -28027, 6457, -28038]),
|
||||
],
|
||||
(-0.100, 0.100,): [
|
||||
MeasRow(4e-09, [ 889, -17085, -24, 5557, -17282, 5619]),
|
||||
MeasRow(6e-09, [-28036, -9992, -28117, -28031, 4428, -28042]),
|
||||
],
|
||||
( 0.000, 0.000,): [
|
||||
MeasRow(4e-09, [ 3806, -17089, 0, 2042, -17272, 2153]),
|
||||
MeasRow(6e-09, [-28035, -8227, -28117, -28029, 2345, -28040]),
|
||||
],
|
||||
( 0.050, -0.050,): [
|
||||
MeasRow(4e-09, [ 5309, -17091, 2, 635, -17269, 787]),
|
||||
MeasRow(6e-09, [-28036, -7420, -28116, -28030, 1468, -28040]),
|
||||
],
|
||||
( 0.100, -0.100,): [
|
||||
MeasRow(4e-09, [ 6685, -17093, 31, 193, -17270, 276]),
|
||||
MeasRow(6e-09, [-28037, -6827, -28117, -28029, 1105, -28040]),
|
||||
],
|
||||
( 0.150, -0.150,): [
|
||||
MeasRow(4e-09, [ 7991, -17096, 127, 62, -17271, 93]),
|
||||
MeasRow(6e-09, [-28033, -6328, -28117, -28029, 937, -28040]),
|
||||
],
|
||||
( 0.200, -0.200,): [
|
||||
MeasRow(4e-09, [ 9213, -17100, 1497, -1343, -17267, -1303]),
|
||||
MeasRow(6e-09, [-28033, -5674, -28122, -28029, 24, -28040]),
|
||||
],
|
||||
( 0.250, -0.250,): [
|
||||
MeasRow(4e-09, [ 10359, -17101, 5568, -5368, -17260, -5322]),
|
||||
MeasRow(6e-09, [-28036, -4654, -28122, -28028, -2511, -28039]),
|
||||
],
|
||||
( 1.000, -1.000,): [
|
||||
MeasRow(4e-09, [ 16874, -17041, 16771, -17867, -18200, -17856]),
|
||||
MeasRow(6e-09, [-28036, -1101, -28112, -28041, -11439, -28050]),
|
||||
],
|
||||
}),
|
||||
'57-buf-1p-2n-0.0004rad-2000ctl_cond-20000coupling_cond-2000ps-100ps-6ctl-6coupling-3_1_3_1_winding-5e9-drive-': ParameterizedMeas({
|
||||
(-1.000, -1.000,): [
|
||||
MeasRow(4e-09, [-17834, -17850, -16784, -18018, -18596, -18006]),
|
||||
MeasRow(6e-09, [-28776, -14156, -28981, -28770, -9584, -28781]),
|
||||
],
|
||||
(-1.000, 1.000,): [
|
||||
MeasRow(4e-09, [-17878, -17490, -16785, 16970, -16819, 16965]),
|
||||
MeasRow(6e-09, [-28785, -15727, -28993, -28757, 15886, -28766]),
|
||||
],
|
||||
(-0.200, 0.200,): [
|
||||
MeasRow(4e-09, [-12301, -17159, -12653, 12581, -17407, 12551]),
|
||||
MeasRow(6e-09, [-28768, -14862, -28919, -28760, 13908, -28771]),
|
||||
],
|
||||
(-0.100, 0.100,): [
|
||||
MeasRow(4e-09, [ 1438, -17175, -303, 9373, -17409, 9468]),
|
||||
MeasRow(6e-09, [-28766, -10702, -28893, -28757, 10826, -28767]),
|
||||
],
|
||||
( 0.000, 0.000,): [
|
||||
MeasRow(4e-09, [ 6861, -17182, 0, 6078, -17398, 6396]),
|
||||
MeasRow(6e-09, [-28766, -7015, -28892, -28761, 8150, -28769]),
|
||||
],
|
||||
( 0.050, -0.050,): [
|
||||
MeasRow(4e-09, [ 8272, -17185, 35, 4268, -17394, 4684]),
|
||||
MeasRow(6e-09, [-28763, -5901, -28892, -28759, 6843, -28768]),
|
||||
],
|
||||
( 0.100, -0.100,): [
|
||||
MeasRow(4e-09, [ 9540, -17190, 373, 1232, -17391, 1398]),
|
||||
MeasRow(6e-09, [-28763, -4506, -28892, -28760, 4450, -28770]),
|
||||
],
|
||||
( 0.150, -0.150,): [
|
||||
MeasRow(4e-09, [ 10731, -17190, 5570, -5369, -17380, -5295]),
|
||||
MeasRow(6e-09, [-28766, -2318, -28899, -28760, -573, -28770]),
|
||||
],
|
||||
( 0.200, -0.200,): [
|
||||
MeasRow(4e-09, [ 12412, -17188, 12653, -12387, -17374, -12327]),
|
||||
MeasRow(6e-09, [-28767, 69, -28927, -28762, -5905, -28772]),
|
||||
],
|
||||
( 0.250, -0.250,): [
|
||||
MeasRow(4e-09, [ 15565, -17184, 16175, -16734, -17799, -16717]),
|
||||
MeasRow(6e-09, [-28763, 2321, -28926, -28773, -9566, -28782]),
|
||||
],
|
||||
( 1.000, -1.000,): [
|
||||
MeasRow(4e-09, [ 16942, -17093, 16783, -18033, -18401, -18019]),
|
||||
MeasRow(6e-09, [-28765, 3057, -28922, -28773, -10817, -28781]),
|
||||
],
|
||||
}),
|
||||
}
|
|
@ -6378,8 +6378,8 @@ fn main() {
|
|||
][..],
|
||||
&[
|
||||
// negative side
|
||||
// (-0.10, 0.10),
|
||||
// (-0.20, 0.20),
|
||||
(-0.10, 0.10),
|
||||
(-0.20, 0.20),
|
||||
// (-0.25, 0.25),
|
||||
// (-0.05, 0.05),
|
||||
// (-0.15, 0.15),
|
||||
|
@ -6417,7 +6417,7 @@ fn main() {
|
|||
( 0.23, -0.23),
|
||||
][..],
|
||||
] {
|
||||
for (ctl_cond, coupling_cond, clock_duration, clock_decay, coupling_loops, pos_inp_loops, neg_inp_loops, s_major, cur_flt) in [
|
||||
for (pos_cores, neg_cores, ctl_cond, coupling_cond, clock_duration, clock_decay, coupling_loops, pos_inp_loops, neg_inp_loops, s_major, cur_flt) in [
|
||||
// total slot use is L*(6*A + 1),
|
||||
// where L is the "coupling loops" and A is the inp_loops ("asymmetric loops")
|
||||
// e.g. L=6, A=1 gives 42
|
||||
|
@ -6426,10 +6426,31 @@ fn main() {
|
|||
// special case of A=0 is L*(3 + 1)
|
||||
// L=10, A=0 gives 40
|
||||
|
||||
// Y ranges -17000 to 0
|
||||
// peak slope: 0.68
|
||||
(1, 2, 2e3, 2e4, ps(2000), ps(100), 3, 2, 1, um(400), 2e10),
|
||||
// Y ranges -17000 to -4000
|
||||
// peak slope: 0.50
|
||||
(1, 2, 2e3, 2e4, ps(2000), ps(100), 3, 2, 1, um(400), 1e10),
|
||||
// Y ranges -16000 to +6000
|
||||
// slope: 0.64
|
||||
(1, 2, 2e3, 2e4, ps(2000), ps(100), 6, 1, 1, um(400), 1e10),
|
||||
// Y ranges -16000 to -1000
|
||||
// peak slope: 0.48
|
||||
(1, 2, 2e3, 2e4, ps(2000), ps(100), 6, 1, 1, um(400), 3e9),
|
||||
|
||||
// Y(16900, -17600) = (2500, -9900)
|
||||
// slope: 0.51
|
||||
(1, 2, 2e3, 2e4, ps(2000), ps(100), 3, 2, 2, um(400), 5e10),
|
||||
// Y(16900, -18000) = (3100, -10900)
|
||||
// peak slope: 0.73
|
||||
(1, 2, 2e3, 2e4, ps(2000), ps(100), 6, 1, 1, um(400), 5e9),
|
||||
|
||||
// Y(-18000, 17000) = (-13300, 15600)
|
||||
// Y( 17000, -18000) = ( 15600, -13400)
|
||||
// slope: 0.83
|
||||
(2e3, 2e4, ps(2000), ps(100), 6, 1, 1, um(400), 5e9),
|
||||
// (2, 2, 2e3, 2e4, ps(2000), ps(100), 6, 1, 1, um(400), 5e9),
|
||||
|
||||
// Y(-17700, 16900) = (-14600, 3000)
|
||||
// Y( 16900, -17700) = ( 3000, -14600)
|
||||
// slope: 0.51
|
||||
|
@ -6438,11 +6459,12 @@ fn main() {
|
|||
// Y(-18500, 17200) = (-15300, 16900)
|
||||
// Y( 17200, -18500) = ( 16900, -15400)
|
||||
// slope: 0.94
|
||||
(2e3, 2e4, ps(2000), ps(100), 6, 1, 1, um(400), 2e10),
|
||||
// (2, 2, 2e3, 2e4, ps(2000), ps(100), 6, 1, 1, um(400), 2e10),
|
||||
|
||||
// Y(-17500, 17000) = (-15200, 16400)
|
||||
// Y( 17000, -17600) = ( 16400, -15100)
|
||||
// slope: 0.95
|
||||
(2e3, 2e4, ps(2000), ps(100), 3, 2, 2, um(400), 5e10),
|
||||
// (2, 2, 2e3, 2e4, ps(2000), ps(100), 3, 2, 2, um(400), 5e10),
|
||||
] {
|
||||
for &(init_flt_a, init_flt_b) in init_set {
|
||||
// layout:
|
||||
|
@ -6476,33 +6498,61 @@ fn main() {
|
|||
params = params.with_coupling(1, 4, 1+i, net_slots, CouplingMethod::Outside);
|
||||
}
|
||||
if pos_inp_loops != 0 {
|
||||
// couple input M0 -> output M1
|
||||
params = couple_asymmetric_buffer_bi(¶ms, 0 /* low core */, pos_inp_loops /* M0 loops */, 0 /* M1 loops */, 1 + slots_per_asym /* slot offset */, net_slots);
|
||||
// couple input M2 -> output M1
|
||||
params = couple_asymmetric_buffer_bi(¶ms, 1 /* low core */, 0 /* M1 loops */, pos_inp_loops /* M2 loops */, 1 + 2*slots_per_asym /* slot offset */, net_slots);
|
||||
if pos_cores > 0 {
|
||||
// couple input M0 -> output M1
|
||||
params = couple_asymmetric_buffer_bi(¶ms, 0 /* low core */, pos_inp_loops /* M0 loops */, 0 /* M1 loops */, 1 + slots_per_asym /* slot offset */, net_slots);
|
||||
}
|
||||
if pos_cores > 1 {
|
||||
// couple input M2 -> output M1
|
||||
params = couple_asymmetric_buffer_bi(¶ms, 1 /* low core */, 0 /* M1 loops */, pos_inp_loops /* M2 loops */, 1 + 2*slots_per_asym /* slot offset */, net_slots);
|
||||
}
|
||||
} else {
|
||||
// directly couple M0 -> M1, M2 -> M1
|
||||
for i in 0..slots_per_asym {
|
||||
params = params.with_coupling(0, 1, 1 + slots_per_asym + i, net_slots, CouplingMethod::Direct);
|
||||
params = params.with_coupling(2, 1, 1 + 2*slots_per_asym + i, net_slots, CouplingMethod::Direct);
|
||||
if pos_cores > 0 {
|
||||
params = params.with_coupling(0, 1, 1 + slots_per_asym + i, net_slots, CouplingMethod::Direct);
|
||||
}
|
||||
if pos_cores > 1 {
|
||||
params = params.with_coupling(2, 1, 1 + 2*slots_per_asym + i, net_slots, CouplingMethod::Direct);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if neg_inp_loops != 0 {
|
||||
// couple input M3 -> output M4
|
||||
params = couple_asymmetric_buffer_bi(¶ms, 3 /* low core */, neg_inp_loops /* M3 loops */, 0 /* M4 loops */, 1 + slots_per_asym /* slot offset */, net_slots);
|
||||
// couple input M5 -> output M4
|
||||
params = couple_asymmetric_buffer_bi(¶ms, 4 /* low core */, 0 /* M4 loops */, neg_inp_loops /* M5 loops */, 1 + 2*slots_per_asym /* slot offset */, net_slots);
|
||||
if neg_cores > 0 {
|
||||
// couple input M3 -> output M4
|
||||
params = couple_asymmetric_buffer_bi(¶ms, 3 /* low core */, neg_inp_loops /* M3 loops */, 0 /* M4 loops */, 1 + slots_per_asym /* slot offset */, net_slots);
|
||||
}
|
||||
if neg_cores > 1 {
|
||||
// couple input M5 -> output M4
|
||||
params = couple_asymmetric_buffer_bi(¶ms, 4 /* low core */, 0 /* M4 loops */, neg_inp_loops /* M5 loops */, 1 + 2*slots_per_asym /* slot offset */, net_slots);
|
||||
}
|
||||
} else {
|
||||
// directly couple M3 -> M4, M5 -> M4
|
||||
for i in 0..slots_per_asym {
|
||||
params = params.with_coupling(3, 4, 1 + slots_per_asym + i, net_slots, CouplingMethod::Direct);
|
||||
params = params.with_coupling(5, 4, 1 + 2*slots_per_asym + i, net_slots, CouplingMethod::Direct);
|
||||
if neg_cores > 0 {
|
||||
params = params.with_coupling(3, 4, 1 + slots_per_asym + i, net_slots, CouplingMethod::Direct);
|
||||
}
|
||||
if neg_cores > 1 {
|
||||
params = params.with_coupling(5, 4, 1 + 2*slots_per_asym + i, net_slots, CouplingMethod::Direct);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let prefix = if pos_cores == 2 && neg_cores == 2 {
|
||||
"".into()
|
||||
} else {
|
||||
format!("-{pos_cores}p-{neg_cores}n")
|
||||
};
|
||||
let name = asymmetric_binary_gate_name_v2(
|
||||
¶ms, "57-buf", coupling_loops /* ctl loops */, coupling_loops, 2*pos_inp_loops + 1, 2*neg_inp_loops + 1, init_flt_a, init_flt_b
|
||||
¶ms,
|
||||
&format!("57-buf{}", prefix),
|
||||
coupling_loops /* ctl loops */,
|
||||
coupling_loops,
|
||||
2*pos_inp_loops + 1,
|
||||
2*neg_inp_loops + 1,
|
||||
init_flt_a,
|
||||
init_flt_b,
|
||||
);
|
||||
run_sim(
|
||||
&name,
|
||||
|
|
Loading…
Reference in New Issue