![](/UpLoadFiless/Article/gdpic/2008-08/20080819134204218.jpg)
参考文献[8]中膨胀处理器的设计方法是:从3×3窗口读取的数据w11、w12、w33…w33中,挑出数值最大的元素并把它输出,采用两两比较排序算法,共需要12级比较。由于多级比较器的传输迟滞,最大工作频率受到限制。
本系统中将多种子呈多条水平线分布,种子值为1,待填充区域为0,结构元素的w22在滑动时,只与0或1比较,比较结果若为1,则直接实现8邻域填充。这一方法简化了比较过程,提高了系统带宽和处理速度。在填充区域为320×480像素时,其最大工作频率可以达到80.12MHz(而参考文献[8]在填充区域为120×120像素时,其最大工作频率为62.751MHz),加速效果比较明显。
2.5.3 位置计数器
位置计数器根据行、列位置标志来确定滑动窗口(结构元素)在图形数据阵列中的位置。图形边界根据位置计数器的值查表得到,边界判断比较迅速。
图形填充模块的状态迁移图如图5所示。本设计根据需要设定了六个状态:Idle、ReadFIFO、Comp、WriteR-AM、Boundary、Bd_P。这六个状态根据窗口位置是否有种子而进行转换,从而完成图形填充。
3 仿真及实验结果
图6是仿真和实验结果。图6(a)是图形分层双缓存交替切换、图形填充、图形合成和多通道DMA像素引擎的时序仿真图;图6(b)是实验结果图。对800×600的屏,刷新率可达47.6Hz,即21ms/帧;对320×480的区域,填充一次约花费2.86ms。