四合院:我是雨水表哥
第515章 专芯专用

“所以要用局部自适应阈值。取当前像素周围N乘N区域的灰度均值,以此为阈值。”

他在图上画了一个示意图,一个像素周围围着八个邻居,组成3乘3的区域。

“局部均值的计算不需要乘法器。九个像素的和可以用加法树实现,除以九可以用移位加法近似。”

诸葛彪开口了:“加法树的速度呢?”

“一个时钟周期。”陈教授说,“九个8位数相加,用三级加法树,每级延迟几十纳秒。一兆赫的时钟周期是一微秒,绰绰有余。”

他在纸上算了一下,然后抬起头。

“预处理部分,到此结束。输入模拟视频,输出二值化像素流。全部硬件实现,每一行像素进来,实时处理,实时输出,没有帧延迟。”

他在图纸上画了一条横线,表示第一部分结束。

然后翻开第三张图。

“第二步,特征提取。”

他的声音提高了一些,铅笔在纸上点了几下。

“这是整个算法中最核心、最巧妙的部分。”

吕辰盯着那张图,心跳微微加速。他知道,这才是真正的难点。

陈教授拿起粉笔,在黑板上画了一行二值化的像素:0 0 0 1 1 1 1 1 0 0 0 0。

“这一行像素,连续的白像素从第4列到第8列,长度5。我们可以把它压缩成一个线段:start=4, end=8, length=5。”

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

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

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

陈教授继续往下讲。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

X_centroid = (Σ x) / N

Y_centroid = (Σ y) / N

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

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

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

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

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

这个方案,可行。

陈教授翻开第四张图。

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

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

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

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

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

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

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

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

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

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

陈教授翻开第五张图。

“第四步是运动控制。”

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

“输入目标位置,来自偏差计算芯片,加当前位置,来自光栅尺反馈,输出压电陶瓷驱动电压。内部架构是一个PID控制器的硬件实现。”

他在黑板上写了PID的标准公式:u(t) = Kp·e(t) + Ki·∫e(t)dt + Kd·de(t)/dt。

“比例项、积分项、微分项,每一项都需要乘法器。硬件实现用8乘12乘法器,可以串行实现以节省面积,也可以并行实现以追求速度。”

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

“约到个门,是这几块芯片中最复杂的。面积可能到60到80平方毫米。”

80平方毫米,将近1厘米乘0.8厘米。在五微米工艺下,这已经是非常大的芯片了。吕辰在心里盘算了一下,没有立刻表态。

陈教授继续往下讲。

“另外还需要插补器。X轴和Y轴需要协同运动,不能一个动一个不动。需要一个小型CORDIC或者简单的逐点比较法插补器。”

他在图上又加了一个方框。

“再加上一个超声焊接控制芯片,控制键合头的超声振动、压力、时间。”

他翻开第六张图。

《四合院:我是雨水表哥》 第515章 专芯专用 精彩章节在线阅读。本章共计 7628 字。

热门小说
血战 崩坏 一路 餐厅 D 我也 哥们 花花 小故事 姐妹花 师姐 他不 我要 你的 求生 显示所有标签