-
repo:https://github.com/ytham/hammster bg:在这个项目中,电路会计算 2 个 8 位二进制串的 hamming 距离,举例来说: 10000000
00000000 的距离是 1(只有一位不同),这个距离是通过 2 个串做 XOR(异或)然后将 Advice 列相加得到的。 我的问题在于,观察下面的电路图,可以看到 但是如下代码,代码中显示的是 2 个 column 都是分配在 config.advice[2] 上的, impl<F: Field> Instructions<F> for HammsterChip<F> {
type Num = Number<F>;
fn xor(...){
layouter.assign_region(
region
.assign_advice(|| "a xor b", config.advice[2], 0, || xor_result).map(Number) // ....
fn accumulator(...){
layouter.assign_region(
region
.assign_advice(|| "accumulation result", config.advice[2], BINARY_LENGTH, || accumulation).map(Number) 所以我不理解为什么绘制的图所显示的列(column) 和 代码实际赋值的列(config.advice[2]) 会产生不同? |
Beta Was this translation helpful? Give feedback.
Answered by
Demian101
Sep 4, 2023
Replies: 0 comments 1 reply
-
@零与一: 在使用xor门时,一共使用了三个cell分别是(advice[0],0),(advice[1],0)和(advice[2],0)。在画电路图时,cell的具体值被隐藏,该region标题在区域内应该是靠左显示,所以你看起来没对齐(事实xor使用的region宽度是3,acc使用的宽度是1,不应该用对齐来形容吧[捂脸]) |
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
Demian101
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@零与一:
在使用xor门时,一共使用了三个cell分别是(advice[0],0),(advice[1],0)和(advice[2],0)。在画电路图时,cell的具体值被隐藏,该region标题在区域内应该是靠左显示,所以你看起来没对齐(事实xor使用的region宽度是3,acc使用的宽度是1,不应该用对齐来形容吧[捂脸])