TwKit

《TapeOut生态小白入门全集》03 从一张接线图到一次流片 上一回,我们认识了负责判断的NAND和负责记忆的LATCH。这次就在工作台上搭一个小功能:两… · @0xkEvinC · TwKit

@0xkEvinC

《TapeOut生态小白入门全集》03 从一张接线图到一次流片 上一回,我们认识了负责判断的NAND和负责记忆的LATCH。这次就在工作台上搭一个小功能:两个条件都满足,才输出一。先约定输入A表示“门已关好”,输入B表示“检查通过”,输出Y表示“条件满足”。这只是逻辑练习,真正的安全设备还需要更多保护设计。 怎么接?给两块NAND分别标上①和②。第一块接A、B,产生中间结果T;第二块的两个输入都接T,相当于再取反一次。于是A、B都是一时,第一块输出零,第二块输出一;其余情况最终都输出零。这份电路只有两个输入、一个输出,不需要LATCH。 程序要看懂它,还需要一份连接清单,叫netlist。清单记录元件类型和接收的信号编号,输入、输出数量另行保存。注意,元件标号和信号编号是两回事:协议里的信号零、一留给固定值,两个输入从二、三开始,上面两块NAND的输出依次是四、五,最后取五作为结果。编号是在指路,不能当成信号此刻的值。 先拿纸演算一遍:输入零零、零一、一零、一一,输出应依次是零、零、零、一。再用符合协议的模拟工具逐项核对,接错一根线就可能得到另一种功能。如果加入LATCH,就先写明初始状态,再连续测几拍。只看到某一次输出正确,还不足以说明整个设计正确。 检查完才能考虑流片。按官方记录的合约行为,tapeout会校验结构,消耗新设计直接使用的NAND、LATCH资源,保存清单,并把对应的Circuit NFT铸给调用者。我们这个例子直接用了两个NAND、零个LATCH。这里的流片是链上操作,不是在现实工厂里给你造出一块芯片。 以后想复用现成模块,可以用REF引用已有电路。引用要找对处理器合约和电路编号,输入输出数量也得匹配。新设计直接添加的元件照常消耗,被引用模块内部的元件不会再烧一次。不过内部逻辑仍要参与计算,引用层层套起来也可能很复杂,清单短不等于计算轻松。 提交前把账分开看:需要多少直接元件资源、流片操作收多少费用、网络交易费是多少。金额以所用链、当前合约和提交前的信息为准,不照抄别人的旧截图。还要核对钱包里的目标合约和交易内容;完成后,再检查交易结果、电路编号、NFT归属与保存的内容。 最后记住,结构被接受,只说明通过了相应检查,功能是否符合需求还得靠测试。拿到Circuit NFT,也不会自动获得收益或让应用自行运转。先把这张接线图解释清楚,再讨论后续用途。下一篇,我们就打开这张“电路持有凭证”,看看Circuit NFT究竟说明了什么。 #TapeOut #Circuit #流片 #Netlist #NAND #LATCH #REF #电路设计 #电路模拟 #数字逻辑 #CircuitNFT #链上记录

曝光 23 · 评论 0 · 点赞 1 · 书签 0

查看原帖
TwKit
正在载入