笔趣阁

奇奇中文>四合院:我是雨水表哥 > 第515章 专芯专用(第3页)

第515章 专芯专用(第3页)

他在下面写了一行字:游程:[,]。

“硬件实现非常简单,只需要一个状态机加两个计数器。扫描一行像素,遇到从o变就记录start,遇到从变o就记录end,输出一个游程。”

钱兰在笔记本上飞快地记着,嘴里小声重复:“状态机加两个计数器。”

陈教授继续往下讲。

“有了游程,下一步是连通域标记。找出哪些游程属于同一个焊盘。”

他在黑板上画了三行像素的示意图,用红笔把重叠的部分圈出来。

“关键观察:当前行的游程和上一行的游程,如果列范围重叠,就属于同一个连通域。硬件实现只需要存储上一行的游程标记结果,每列一个标记。”

诸葛彪皱起了眉头:“每列一个标记?列,就是个标记。每个标记需要多少位?”

陈教授想了想:“最多同时有多少个焊盘在一行里?假设焊盘直径o个像素,一行最多二十几个焊盘。用位标记就够了。乘等于o位寄存器,可以接受。”

他顿了顿,铅笔在纸上点了一下。

“标记的时候有个麻烦,当前行的游程可能同时和上一行的两个游程重叠,那两个游程属于不同的连通域,但被当前行连在一起了。这叫‘等价标记’。”

本小章还未完,请点击下一页继续阅读后面精彩内容!

他在黑板上画了一个“工”字形的例子,然后停顿了一下。

“这个问题,我想了整整一周。”

他的声音很轻,像是在自言自语。会议室里安静了一瞬,三个人都没有说话。

然后他拿起粉笔,在黑板上写了几个字:优先级编码器。

“用优先级编码器做硬件实现。个prev_abe并行比较,找出第一个非零的。不需要循环,一个时钟周期搞定。”

钱兰道:“这个巧妙。用空间换时间。”

陈教授点了点头,继续往下讲。

“有了连通域标记,下一步是质心计算。”

他在黑板上写了两行公式:

x_

y_

“累加每个连通域内所有像素的x坐标和y坐标,最后用除法求平均。硬件实现需要每个连通域有一套累加器。假设最多同时有个焊盘在视野里,每个累加器需要x累加器、y累加器、像素计数器。”

他在纸上估算了一下面积。

“x坐标范围o到,位就够了。但累加时,一个焊盘可能有几十个像素,位会溢出。用位累加器,每个域三个位寄存器,个域,共乘乘等于位寄存器。可以接受。”

“扫描结束后,对每个焊盘,用除法器计算质心。除法器的硬件实现用移位减法,位除以位,约个时钟周期完成。对键合机来说,扫描结束后花几百微秒算除法,完全可以接受。”

吕辰听到这里,心里已经有了底。

这个方案,可行。

陈教授翻开第四张图。

“第三步,位置偏差计算。”

他指着图上一个极简的方框。

“这一步最简单。理想坐标存在ro里,实测坐标来自第二步的质心计算结果,做减法。”

他在图上画了一个小框图。

“但有一个问题,需要知道‘当前对准的是第几个焊盘’。一颗芯片可能有几十个焊盘,必须按顺序一个一个对准。”

他顿了顿,在图上加了一个地址计数器。

“焊盘序号→ro(存储理想坐标)→减法器→输出Δx,Δy。按照预设顺序,从左到右、从上到下。芯片设计时就已经定好了焊盘的顺序,键合时按这个顺序执行。”

诸葛彪插了一句:“这个ro里的理想坐标,从哪儿来?”

陈教授看了他一眼:“从芯片的版图设计数据里来。芯片设计完成后,每个焊盘的位置是确定的。把这些坐标提取出来,固化到ro里。不同型号的芯片,换不同的ro。”

他估算了一下:“约ooo个门,面积很小。甚至可以和特征提取芯片集成,但为了模块化和并行处理,单独做一块也有道理。”

陈教授翻开第五张图。

“第四步是运动控制。”

他在图上画了一个pid控制器的框图。

已完结热门小说推荐

最新标签