update(examples): pllld_wait_scan

- also, it was formatted
This commit is contained in:
Wataru Otsubo 2024-12-19 17:47:48 +09:00
parent b89f0e595b
commit c8e2ff356b

View file

@ -30,14 +30,49 @@ md"""
# ╔═╡ 8c8f15fb-508f-4068-8fc0-d6ad5905891d # ╔═╡ 8c8f15fb-508f-4068-8fc0-d6ad5905891d
df_psboards = DataFrame( df_psboards = DataFrame(
position = ["B-$(i)-$(j)" for j in 1:9 for i in 0:1], position = ["B-$(i)-$(j)" for j in 1:9 for i in 0:1],
psbid = [001142, 000973, 000990, 000992, 001113, 001030, 001121, 001141, 001050, 001053, 001110, 001248, 001242, 001276, 000872, 000861, 000525, 000862] psbid = [
001142,
000973,
000990,
000992,
001113,
001030,
001121,
001141,
001050,
001053,
001110,
001248,
001242,
001276,
000872,
000861,
000525,
000862,
],
) )
# ╔═╡ 4ebadb4f-ba6f-412e-9def-450ca9d3f6b8 # ╔═╡ 4ebadb4f-ba6f-412e-9def-450ca9d3f6b8
df_setups = DataFrame( df_setups = DataFrame(
runid = [384, 386, 388, 389, 390, 391, 393, 396, 397, 398, 400, 401], runid = [384, 386, 388, 389, 390, 391, 393, 396, 397, 398, 400, 401],
firmware = [fill("PS_firmware_top_2024_11_27.zip", 6); fill("PS_firmware_top_CPdrivability_2b00.zip", 6);], firmware = [
wait_length = [missing, 100u"ns", 1u"μs", 10u"μs", 100u"μs", 1u"ms", 1u"ms", 100u"ns", 10u"μs", 1u"μs", 100u"μs", 100u"μs"], fill("PS_firmware_top_2024_11_27.zip", 6)
fill("PS_firmware_top_CPdrivability_2b00.zip", 6)
],
wait_length = [
missing,
100u"ns",
1u"μs",
10u"μs",
100u"μs",
1u"ms",
1u"ms",
100u"ns",
10u"μs",
1u"μs",
100u"μs",
100u"μs",
],
) )
# ╔═╡ 8ae734be-7a93-4257-ad2a-02cdee82066a # ╔═╡ 8ae734be-7a93-4257-ad2a-02cdee82066a
@ -53,23 +88,35 @@ function get_pllld_counter_hist(slaveresult)
end end
# ╔═╡ bc78bf6e-2d1f-4922-8b9e-48aaf1e8b0af # ╔═╡ bc78bf6e-2d1f-4922-8b9e-48aaf1e8b0af
df_pllld_fail_counts = transform(df_configs, [:runid, :psbid] => ByRow((runid, psbid) -> begin df_pllld_fail_counts = transform(
df_configs,
[:runid, :psbid] =>
ByRow(
(runid, psbid) -> begin
slavelog = "../test/input/slavelogs/main/$(psbid)_$(runid)_longrun.txt" slavelog = "../test/input/slavelogs/main/$(psbid)_$(runid)_longrun.txt"
if !ispath(slavelog) if !ispath(slavelog)
@info "file $(slavelog) not found" @info "file $(slavelog) not found"
return missing return missing
end end
slaveresult = PSBoardDataBase.SlaveLogParser.parse_slavelog_file(slavelog) slaveresult =
PSBoardDataBase.SlaveLogParser.parse_slavelog_file(slavelog)
# @info "" slaveresult # @info "" slaveresult
h_pllld_fail_count = get_pllld_counter_hist(slaveresult) h_pllld_fail_count = get_pllld_counter_hist(slaveresult)
h_pllld_fail_count h_pllld_fail_count
end) => :pllld_count) end,
) => :pllld_count,
)
# ╔═╡ 6100e4a6-30ed-4540-9e8d-0171272e41e9 # ╔═╡ 6100e4a6-30ed-4540-9e8d-0171272e41e9
let df let df
df = filter([:firmware, :wait_length] => ((firmware, wait_length) -> begin df = filter(
[:firmware, :wait_length] => (
(firmware, wait_length) -> begin
firmware == "PS_firmware_top_2024_11_27.zip" && ismissing(wait_length) firmware == "PS_firmware_top_2024_11_27.zip" && ismissing(wait_length)
end), df_pllld_fail_counts) end
),
df_pllld_fail_counts,
)
@info "" nrow(df) nrow(df) == 18 * 1 @info "" nrow(df) nrow(df) == 18 * 1
combine(groupby(df, :wait_length), :pllld_count => sum) combine(groupby(df, :wait_length), :pllld_count => sum)
@ -80,9 +127,14 @@ let df
fig = Figure() fig = Figure()
ax = Axis(fig[1, 1], xlabel = "number of reset", title = "same setup as 6th QAQC") ax = Axis(fig[1, 1], xlabel = "number of reset", title = "same setup as 6th QAQC")
df = filter([:firmware, :wait_length] => ((firmware, wait_length) -> begin df = filter(
[:firmware, :wait_length] => (
(firmware, wait_length) -> begin
firmware == "PS_firmware_top_2024_11_27.zip" && ismissing(wait_length) firmware == "PS_firmware_top_2024_11_27.zip" && ismissing(wait_length)
end), df_pllld_fail_counts) end
),
df_pllld_fail_counts,
)
normhist = normalize(sum(df.pllld_count)) normhist = normalize(sum(df.pllld_count))
stephist!(ax, normhist) stephist!(ax, normhist)
@ -93,9 +145,14 @@ end
# ╔═╡ d1be7028-6c2d-40bc-8a76-352d59d1f91a # ╔═╡ d1be7028-6c2d-40bc-8a76-352d59d1f91a
let df let df
df = filter([:firmware, :wait_length] => ((firmware, wait_length) -> begin df = filter(
[:firmware, :wait_length] => (
(firmware, wait_length) -> begin
firmware == "PS_firmware_top_2024_11_27.zip" && !ismissing(wait_length) firmware == "PS_firmware_top_2024_11_27.zip" && !ismissing(wait_length)
end), df_pllld_fail_counts) end
),
df_pllld_fail_counts,
)
@info "" nrow(df) nrow(df) == 18 * 5 @info "" nrow(df) nrow(df) == 18 * 5
df_summarized = combine(groupby(df, :wait_length), :pllld_count => sum) df_summarized = combine(groupby(df, :wait_length), :pllld_count => sum)
@ -103,32 +160,62 @@ end), df_pllld_fail_counts)
fig = Figure(size = (600, 1000)) fig = Figure(size = (600, 1000))
Label(fig[0, 1], "normal firmware, softreset software for scanning", tellwidth = false) Label(fig[0, 1], "normal firmware, softreset software for scanning", tellwidth = false)
for (i, row) in enumerate(eachrow(df_summarized)) for (i, row) in enumerate(eachrow(df_summarized))
ax = Axis(fig[i, 1], yscale = log10, xlabel = "number of resets", ylabel = "fraction", title = "$(row.wait_length)") ax = Axis(
fig[i, 1],
yscale = log10,
xlabel = "number of resets",
ylabel = "fraction",
title = "$(row.wait_length)",
limits = ((1, 11), (eps(), 100)),
)
normhist = normalize(row.pllld_count_sum) normhist = normalize(row.pllld_count_sum)
stephist!(ax, normhist) stephist!(ax, normhist)
errorbars!(ax, normhist) errorbars!(ax, normhist)
text!(
ax,
bincenters(normhist),
bincounts(normhist),
text = [@sprintf "%.4f" r for r in bincounts(normhist)],
)
end end
fig fig
end end
# ╔═╡ ae97c43d-34dd-4aad-8cf5-7158b717e5c1 # ╔═╡ ae97c43d-34dd-4aad-8cf5-7158b717e5c1
let df let df
df = filter([:firmware, :wait_length] => ((firmware, wait_length) -> begin df = filter(
[:firmware, :wait_length] => (
(firmware, wait_length) -> begin
firmware == "PS_firmware_top_CPdrivability_2b00.zip" firmware == "PS_firmware_top_CPdrivability_2b00.zip"
end), df_pllld_fail_counts) end
),
df_pllld_fail_counts,
)
dropmissing!(df, :pllld_count) dropmissing!(df, :pllld_count)
@info "" nrow(df) nrow(df) == 18 * 6 @info "" nrow(df) nrow(df) == 18 * 6
df_summarized = combine(groupby(df, :wait_length), :pllld_count => sum) df_summarized = combine(groupby(df, :wait_length, sort = true), :pllld_count => sum)
fig = Figure(size = (600, 1000)) fig = Figure(size = (600, 1000))
Label(fig[0, 1], "minimum charge pump bias current", tellwidth = false) Label(fig[0, 1], "minimum charge pump bias current", tellwidth = false)
for (i, row) in enumerate(eachrow(df_summarized)) for (i, row) in enumerate(eachrow(df_summarized))
ax = Axis(fig[i, 1]) ax = Axis(
fig[i, 1],
yscale = log10,
xlabel = "number of resets",
ylabel = "fraction",
title = "$(row.wait_length)",
limits = ((1, 11), (eps(), 100)),
)
normhist = normalize(row.pllld_count_sum) normhist = normalize(row.pllld_count_sum)
stephist!(ax, normhist) stephist!(ax, normhist)
errorbars!(ax, normhist) errorbars!(ax, normhist)
text!(
ax,
bincenters(normhist),
bincounts(normhist),
text = [@sprintf "%.4f" r for r in bincounts(normhist)],
)
end end
fig fig
end end