IC_晶圆划片机软件系统的开发
多芯片晶圆划片

多芯片晶圆划片随着集成电路技术的不断进步,晶圆划片这项技术也得到了快速发展。
多芯片晶圆划片作为其中的一种划片方式,已经成为了当前半导体工业中的重要制造技术之一。
多芯片晶圆划片是指将一个晶圆上的多个芯片分离出来,以单个芯片的形式进行贴片生产的一种技术。
相对于单一芯片晶圆划片,多芯片晶圆划片的优点在于可以在同一晶圆上生产多种不同的芯片,降低了制造成本,提高了生产效率。
此外,其还可以减少不必要的硅片浪费和化学废液,对环境造成的影响更小。
多芯片晶圆划片的实现需要借助于先进的微电子制造技术。
在晶圆制造过程中,通常需要对晶圆进行薄化处理和抛光处理,以满足后续划片工序的需要。
此外,多芯片晶圆划片还需要使用先进的离线锯切技术,以保证划片后的芯片尺寸、形状和表面平整度等要求。
在实际应用中,多芯片晶圆划片的主要应用领域为物联网、智能终端、通信设备、汽车电子、医疗电子等。
在这些领域中,由于产品体积小、功耗低、生产周期短等特点,对于芯片生产的需求往往十分迫切,而多芯片晶圆划片则能够有效地满足这些需求。
尽管多芯片晶圆划片技术具有广泛的应用前景和较高的市场需求,但其在实际生产过程中仍存在一定的挑战和困难。
例如,在锯切过程中容易出现晶圆表面开裂、封装孔钻位偏差、芯片间平行度不一致等问题,这些问题都需要通过进一步的技术改进和工艺优化来解决。
综上所述,多芯片晶圆划片技术在半导体工业中的应用前景十分广阔,尤其是在物联网、智能终端等领域的发展中具有至关重要的意义。
虽然在实际生产过程中面临着一些技术难题,但通过不断的创新和改进,相信多芯片晶圆划片技术会在未来发挥越来越重要的作用。
IC设计流程及各阶段典型软件

IC设计流程及各阶段典型软件IC设计流程是指整个集成电路设计的整体过程,包括需求分析、系统设计、电路设计、物理设计、验证与测试等阶段。
每个阶段都有其典型的软件工具用于支持设计与开发工作。
本文将详细介绍IC设计流程的各个阶段及其典型软件。
1.需求分析阶段需求分析阶段是集成电路设计的起点,主要目的是明确设计目标和规格。
在这个阶段,设计团队与客户进行沟通和讨论,确定设计的功能、性能、功耗、面积等要求。
常用软件工具有:- Microsoft Office:包括Word、Excel、PowerPoint等办公软件,用于编写设计需求文档、文档整理和汇报。
2.系统设计阶段系统设计阶段主要是将需求分析阶段得到的设计目标和规格转化为可实现的电路结构和算法设计。
常用软件工具有:- MATLAB/Simulink:用于算法设计和系统级模拟,包括信号处理、通信系统等。
- SystemVerilog:一种硬件描述语言,用于描述电路结构和行为。
- Xilinx ISE/Vivado:用于FPGA设计,进行电路逻辑设计和Verilog/VHDL代码的仿真和综合。
3.电路设计阶段电路设计阶段是将系统级设计转化为电路级设计。
常用软件工具有:- Cadence Virtuoso:用于模拟和布局设计,包括原理图设计、电路模拟和布局与布线。
- Mentor Graphics Calibre:用于DRC(Design Rule Checking)和LVS(Layout vs. Schematic)设计规则检查和布局与原理图的对比。
4.物理设计阶段物理设计阶段主要是将电路级设计转化为版图设计,并进行布局布线。
常用软件工具有:- Cadence Encounter:用于逻辑综合、布局和布线。
- Cadence Innovus:用于布局布线和时钟树设计。
- Mentor Graphics Calibre:用于DRC和LVS设计规则检查和验证。
芯片应用开发流程

芯片应用开发流程
芯片应用开发流程大致可以分为以下几个步骤:
1. 需求分析和规划:根据应用的需求,确定芯片的功能和性能要求,制定开发计划和时间表。
2. 芯片设计:设计芯片的电路结构和布局,确定芯片的内部架构和电路连接方式。
3. 芯片制造和测试:将芯片的电路图转化为实际的芯片,通过半导体工艺进行制造,并进行测试,检测芯片的功能和性能是否符合设计要求。
4. 芯片验证和调试:使用专门的测试设备对芯片进行验证和调试,检验芯片的功能是否正常,对功能不正常的部分进行修复和调整。
5. 软件开发和调试:根据芯片的功能需求,进行相应的软件开发,编写驱动程序和应用程序,并进行调试和测试。
6. 系统集成和测试:将芯片和软件集成到系统中,进行系统测试,检测整个系统的功能和性能是否符合设计要求。
7. 量产和发布:在完成系统测试后,进行芯片的量产,并进行产品发布和推广。
需要注意的是,芯片应用开发流程可能会因具体的项目和需求而有所差异,但以上步骤可以作为一个基本的参考。
晶圆划片机指标

晶圆划片机指标一、前言晶圆划片机是半导体制造中必不可少的设备之一,其主要作用是将大面积的硅片或其他材料切割成小块,以便进行后续的加工和制造。
在半导体行业中,晶圆划片机的性能和稳定性直接影响到芯片质量和产能。
因此,在选择晶圆划片机时,需要考虑多方面的指标。
二、基本参数指标1. 切割方式:目前市场上主流的晶圆划片机有两种切割方式:钻孔式和线锯式。
钻孔式适用于硬度较高的材料,线锯式适用于硬度较低的材料。
2. 切割精度:晶圆划片机的切割精度直接影响到芯片质量。
通常情况下,要求精度在1um以内。
3. 切割速度:切割速度越快,产能越高。
4. 刀盘直径:一般来说,刀盘直径越大,可以处理的硅片尺寸就越大。
5. 刀盘转速:转速越快,产能越高。
三、控制系统指标1. 控制方式:晶圆划片机的控制方式有手动和自动两种。
自动控制方式可以提高生产效率,降低人工成本。
2. 控制精度:控制精度越高,切割质量越好。
3. 反馈系统:反馈系统可以实时监测切割过程中的变化,及时调整参数,提高切割精度和稳定性。
4. 数据采集和分析:数据采集和分析可以对生产过程进行监测和分析,及时发现问题并进行处理。
四、安全指标1. 紧急停机功能:在紧急情况下,晶圆划片机应该具备紧急停机功能,以保证操作人员的安全。
2. 电气安全:晶圆划片机应该符合相关的电气安全标准,并有专门的电气维护人员进行维护和检修。
3. 机械安全:晶圆划片机应该符合相关的机械安全标准,并有专门的维护人员进行维护和检修。
五、其他指标1. 能源消耗:能源消耗越低,生产成本就越低。
2. 维护成本:维护成本越低,生产成本就越低。
3. 噪音:噪音越小,操作人员的健康就越有保障。
4. 环境友好:晶圆划片机应该符合相关的环境保护标准,减少对环境的影响。
六、总结综上所述,晶圆划片机是半导体制造中必不可少的设备之一。
在选择晶圆划片机时,需要考虑多方面的指标,包括基本参数指标、控制系统指标、安全指标和其他指标等。
全自动晶圆划片机日志记录及查看功能

全自动晶圆划片机日志记录及查看功能作者:刘婷婷来源:《山东工业技术》2018年第12期摘要:本文以全自动晶圆划片机设备为基础,重点讲述日志记录模块。
通过收集、分析用户需求确定日志记录内容,日志查看程序具备的功能。
结合设备实际情况,使用VisualC++6.0,Microsoft Office Access数据库进行程序开发。
关键词:日志记录;Microsoft Office Access;全自动划片机DOI:10.16640/ki.37-1222/t.2018.12.044全自动晶圆划片机是集光机电计算机一体化的复杂设备,包括晶圆从上片、对准、划切、清洗、甩干到下片的完全自动化。
其工序是将整片晶圆通过划切分割成单个芯粒的工艺过程。
承载了包括晶圆减薄以及材料制备、光刻等前几百道工序的材料和制造成本,一旦出现问题,整个投入就会前功尽弃。
业内只要提到划片机首要关心的问题就是其可靠性如何。
但毕竟系统是人开发的,即使经过再多次测试,也无法预料运行过程会出现什么想不到的问题。
此动机之下,记录设备状态达到对设备实时监控是系统设计最为重要的任务。
分析记录内容,可快速、准确定位故障原因,提高设备可维护性从而提高系统可靠性;提取并分析设备中工艺数据,可提高设备使用率及晶圆划切工艺。
因此日志记录功能于全自动晶圆划片机设备是至关重要的。
1 全自动晶圆划片机日志记录内容分析1.1 设备故障记录全自动晶圆划切设备由上料、自动对准、测高、划切、清洗、下料六个重要流程组成,六个流程中设备都有出现故障的可能,故障发生后都会影响后续流程的可靠性。
以测高故障为例,测高故障发生后操作者忽略当前故障继续切割,导致切割晶圆深度达不到要求,若不记录测高故障及故障处理方式,很难发现是由测高故障导致的晶圆切割深度错误,用户从而认为设备可靠性不高。
记录故障内容从设计角度出发,协助分析故障原因可改进设备硬件可靠性、软件算法可靠性。
给用户提供部分可恢复故障处理方式的方法,减少设备故障时间,提高设备可靠性。
请简述你理解的芯片开发全流程及所需具备的技能。

请简述你理解的芯片开发全流程及所需具备的技能概述芯片(I nt eg ra te dC i rc ui t,I C)是现代电子产品的核心组件,其开发流程复杂且需要多种技能。
本文将简述芯片开发的全流程,并介绍在该过程中所需具备的技能。
芯片开发全流程芯片开发全流程通常包括前端设计、验证与验证、物理设计和半导体制造四个主要阶段。
前端设计前端设计是芯片开发的起始阶段,主要包括电路设计、逻辑设计和验证。
1.电路设计:根据芯片的需求和规格,设计各种模拟电路和数字电路,如放大器、滤波器、逻辑门等。
2.逻辑设计:根据芯片功能需求,设计芯片的逻辑电路,包括逻辑门、时序逻辑以及算术逻辑等。
3.验证:通过仿真和测试验证设计的电路和逻辑是否满足需求,调整设计模型以达到预期效果。
验证与验证验证与验证阶段是芯片开发的重要环节,旨在确保设计的正确性和稳定性。
1.功能验证:对设计的芯片进行功能验证,验证其是否满足预期功能。
2.时序验证:验证芯片中各个电路之间的时序关系是否满足需求。
3.电源与温度验证:验证芯片在不同电源电压和温度条件下的运行情况。
4.特性验证:验证芯片的特性参数,如功耗、噪声、功率纹波等。
物理设计物理设计阶段将前端设计的逻辑电路转化为物理实现,包括布局设计和版图设计两个方面。
1.布局设计:将芯片的逻辑电路进行物理布局,包括各个电路的位置、大小和连线的布线等。
2.版图设计:根据布局设计,进行具体的电路板设计,包括将电路转化为版图、调整连线路径、进行电气规则检查等。
半导体制造半导体制造是芯片开发的最后阶段,将物理设计的版图制造成真实的芯片产品。
1.掩膜制作:根据物理设计的版图,制作光刻掩膜,用于传输图案到硅片上。
2.硅片加工:将掩膜图案转移至硅片上,并进行各种工艺加工,如刻蚀、沉积、离子注入等。
3.封装与测试:将芯片进行封装,同时进行电性能测试,包括引脚功能、性能参数以及可靠性测试等。
所需具备的技能芯片开发需要综合掌握硬件、电路设计、逻辑设计和半导体制造等多个领域的知识和技能。
芯片开发全流程及所需具备的技能

芯片开发全流程及所需具备的技能一、芯片开发全流程芯片开发是一个复杂的过程,一般可以分为以下几个阶段:1. 需求分析:在芯片开发的初期阶段,需要明确产品的需求和目标。
这包括对芯片功能、性能、功耗等方面的要求进行分析和确定。
2. 架构设计:在需求分析的基础上,进行芯片的架构设计。
这一阶段需要考虑芯片的整体结构、功能模块的划分和连接方式等。
3. 电路设计:根据架构设计,进行芯片电路的设计。
这包括各个模块电路的设计、电路的布局和连线等。
4. 物理设计:在电路设计完成后,进行芯片的物理设计。
这包括芯片的布局和布线,以及对布局和布线进行优化。
5. 验证与测试:在芯片设计完成后,需要进行验证和测试。
这包括对芯片进行功能验证、性能测试和可靠性测试等。
6. 制造与封装:验证和测试通过后,将芯片进行制造和封装。
制造过程包括芯片的晶圆制作、工艺加工和温度处理等。
封装过程包括将芯片封装到封装盒中,并进行焊接和封装测试等。
7. 产线测试与质量控制:制造和封装完成后,对芯片进行产线测试和质量控制。
这包括对芯片进行功能测试、外观检查和质量评估等。
二、所需具备的技能芯片开发需要具备多方面的技能,包括硬件设计、软件开发和测试等。
以下是几个关键的技能:1. 电路设计:熟悉模拟电路和数字电路的设计原理和方法,并能使用相关的设计工具进行电路设计。
2. 物理设计:掌握芯片的布局和布线技术,能够进行芯片的物理设计和优化。
3. 集成电路制造工艺:了解集成电路的制造过程和工艺要求,包括晶圆制作、工艺加工和温度处理等。
4. 软件开发:掌握芯片相关的软件开发技术,包括嵌入式系统开发和驱动程序开发等。
5. 验证与测试:具备芯片验证和测试的技能,包括功能验证、性能测试和可靠性测试等。
6. 项目管理:具备项目管理的能力,能够组织和管理芯片开发项目,合理安排资源和时间。
7. 问题解决能力:具备快速解决问题的能力,能够分析和解决芯片开发过程中的各种问题和挑战。
晶圆代工厂开发流程

晶圆代工厂开发流程晶圆代工厂开发流程可分为以下几个主要阶段:市场调研与规划、土地与资源准备、建设筹备与设计、设备采购与安装、生产测试与调试、试产与批量生产、交付与客户服务。
一、市场调研与规划在开发之前,晶圆代工厂需要进行市场调研与规划,确定代工市场的需求和发展趋势。
通过市场调研,了解行业竞争对手、市场份额、市场规模等信息,为后续的开发工作提供参考。
二、土地与资源准备晶圆代工厂需要寻找合适的土地资源,以便建立生产设施和办公区。
这些土地资源需要满足一系列的要求,如地理位置、基础设施、交通便利等。
同时,还需要保证供应水、电、燃气等基础资源的可靠性。
三、建设筹备与设计建设筹备阶段主要包括建设方案制定、设计规划、资金筹措、相关准备工作等。
建设方案制定需要考虑生产线布局、工厂大小、设备配备、人员配置等因素。
设计规划则涉及到建筑结构、设备布局、环境规划等方面。
四、设备采购与安装设备采购与安装是晶圆代工厂开发工作的重要环节。
根据建设方案和设计规划,确定需要采购的设备种类和数量。
设备采购还需要考虑设备供应商的信誉度、设备性能等因素。
设备安装则是将采购的设备安装到相应的位置,并确保设备能够正常运行。
五、生产测试与调试在设备安装完成后,晶圆代工厂需要进行生产测试和设备调试。
生产测试包括对设备的性能和稳定性进行测试,确保设备能够正常工作,并符合代工工艺的要求。
设备调试则涉及到设备的调整和优化,使其能够达到最佳的工作状态。
六、试产与批量生产在生产测试和设备调试完成后,晶圆代工厂可以进行试产工作。
试产是为了验证代工工艺和生产流程的稳定性和可行性,以确保产品质量和生产效率。
试产阶段需要对生产线进行调整和改进,以满足客户的需求。
试产阶段完成后,晶圆代工厂正式进入批量生产阶段。
批量生产阶段需要保持生产的稳定性和高效性,实现产品的规模化生产。
同时,还需要建立质量控制体系,确保产品质量的稳定和可靠。
七、交付与客户服务晶圆代工厂的最后一个环节是产品交付和客户服务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东北大学信息科学与工程学院/ 关守平、鲍芳E-mail:Internet16@163.com针对半导体行业的IC/晶圆划片机,基于PC机开发了软件系统,实现了对划片机的精确实时控制和数据管理。
采用C++ Builder6.0作为软件开发环境,应用ActiveX组件和多线程等技术,并提出一种在缩放坐标系中精确绘制图形的算法/误差搜集算法,使开发的划片机软件系统满足了工业生产的需要。
IC/晶圆划片机软件系统的开发IC(Integrated Circuit)/晶圆划片设备是集成电路半导体加工后封装工艺中的重要组成部分[1][2],它广泛用于厚膜电路、铌酸锂、石英等脆硬材料的开槽划片加工,也适用于划片和切割各种晶体、陶瓷、玻璃、矿石和金属等。
自20世纪70年代初划片机问世以来,诸多国家都积极投身于这一领域的研究。
我国起步时间较晚,直到1982年才研制成功第一台国产划片机,在此之前,我国的划片机完全依赖进口。
现如今,虽然我国划片设备的硬件水平已有了很大程度的提高,但对划片机的软件控制和管理水平,与国外相比还很落后。
因此,开发先进实用的划片机的控制与管理一体化的软件系统,进一步提高划片机的控制精度和管理水平,显得必要而又非常迫切。
基于PC机控制的划片系统结构按照物理结构可以分为三部分:上位机、下位机和执行机械,各部分间关系见图1。
上位机主要由建立在Windows(98、2000、XP)操作系统上的控制软件构成,用户通过人机交互界面下达加工指令,与下位机即控制器通过串行通信来交换数据。
上位机发出的指令到达控制器后,经过控制器中的单片机进行计算后,驱动步进电机的进行精确划片或切割。
上位机控制软件的设计总体结构设计考虑到与硬件联系紧密、可靠性要求高、需具有可移植性等特点,采用Borland公司的快速开发工具C++Builder6.0作为开发平台。
软件主要由算法与图形显示模块、多线程处理模块和串口通信模块组成。
算法与图形显示模块能够根据用户的给定进行计算,并应用误差搜集算法进行图形的精确显示。
它可使用户看到完整的刀具运动轨迹和切割的过程,如刀尖的即时位置、被切割下的晶片脱落情况等,解决了以往大部分控制软件的图形显示过快、已切割掉的部分与待切割部分连接在一起、图形不能显示真实加工情况的问题。
多线程能够完成多事件的处理,该处理模块主要完成在切割运行时,软件仍能响应用户合理操作的任务,但这种操作必须是符合逻图1:基于PC机控制的划片系统结构图辑的。
如加工进行时可以暂停、暂停后继续和紧急停止等,但像修改原料的尺寸、加工片宽和改变电机转速等操作要求则不予响应。
多线程的实现采用VCL中的TThread类来实现,调用了一些相关的API,说明如下://建立新线程FirstThread,该新线程应用于TMyThreadUnit单元文件中TThread *FirstThread;FirstThread= (TThread*) new TMyThread (true);//开始运行新线程FirstThread->Resume ();//把线程挂起,可以用Resume唤起FirstThread->Suspend ();//终止线程,不能够用Resume唤起FirstThread->Terminate ();串口通信模块主要完成与串行口的数据接收和发送。
与串口的通信方式实现有很多方法,本系统采用第三方控件完成串口通信。
控件选用MOXA 公司的Pcomm,它兼有API函数和MSComm控件两种方法的优点。
Pcomm有关通信函数及使用方法如下://串口打开函数void __fastcall TCommForm:: OpenClick (TObject*Sender){sio_open(1);//打开com1口sio_ioctl(1, B2400,P_NONE|BIT_7|STOP_1);//设置波特率、奇偶校验、数据位、停止位if (sio_open (1)! =0)//判断串口打开是否成功ShowMessage(“串口打开失败!”);}//数据发送函数void __fastcall TCommForm1:: SendClick (TObject*Sender){String SendData;SendData=Memo1->Text;sio_write (1, SendData.c_str (), SendData.Length());}//数据接收函数void __fastcall TCommForm1::ReceiveClick (TObject*Sender){int rLen;char *buf=new char [1024];String Buf;rLen=sio_read (1, buf, 1024);if (rLen==0) return;Buf=AnsiString (buf, rLen);Memo2->Text=Memo2->Text+Buf;Memo2->SelStart=Memo2->Text. Length ();Memo2->SelLength=0;}//串口关闭函数void __fastcall TForm1:: CloseClick (TObject *Sender){ sio_close(1); //关闭com1口 exit (0);}功能模块设计软件系统的功能模块包括加工文件定制、系统参数设定、计算与加工、数据库管理和用户管理,各模块间关系如图2所示。
加工文件定制模块包括文件导入和参数设定两部分。
文件导入主要是满足对用户已经形成DXF格式的加工文件进行导入,系统能够自动识别其中的加工指令标记。
另外,对于以前使用本软件时建立的加工文件,只要用户进行过存储,同样可以通过导入功能加载该文件。
这样就大大提高了加工效率,用户不必花时间重复建立相同加工文件。
参数定制则是用户按照软件给出的交互界面输入各种加工参数,如:原料尺寸、片宽、刀片厚度等,系统会自动计算可加工出的片数,并生成加工文件。
系统参数设定模块主要完成对电机、通信端口的参数设置及硬件的测试。
加工过程中有4个电机,一个主轴旋转电机,3个步进电机,只有对它们的转速进行正确的设置,加工出的晶片才能符合要求。
系统根据专家经验提供了几组匹配的给定值,便于用户使用,当然用户也可以根据自己的实际要求对电机参数进行设置。
由于上位机与下位机通过串口通信,需要设置串口的通信端口号,软件同样提供了一些端口供用户选择。
补偿参数设定是对精度控制的重要环节,其中设置了后冲补偿、丝杠误差和齿轮啮合误差等参数,用于保证加工精度。
为了检测对有关硬件的设置是否有效,可以通过硬件测试来完成。
在这一部分,用户能够看到原料被加工的模拟图形和硬件通信是否正常的显示,非常直观。
计算与加工模块是软件的核心,它能够完成对输入参数的精确计算,包括英制尺寸与公制尺寸的转换、包含加工补偿在内的计算并给出原料的加工剩余。
用户可以自由选择加工方式,自动加工就是系统可以根据已经导入的文件或设置好的参数进行全过程的自动加工,只要按下“加工”按钮后如无紧急情况就不再需要人工干预;在自定义加工中,用户可以自由选择加工到哪个位置后停止、是否在停车位置继续加工还是运动到另一位置,使用起来灵活、方便。
数据库管理主要是对加工文件所存储的数据库进行定期的整理和数据备份、恢复等。
系统能够按照一定的规律提取出加工文件的特征,根据这些特征和加工文件最近的使用记录进行综合考虑,定期删除一些冗余的文件。
除了系统的定期数据库备份外,用户可以根据自己的需要随时或指定日期备份和恢复数据库。
用户管理主要包括用户常规管理和权限管理。
常规管理完成增加、删除用户和修改用户密码;权限管理完成对各级权限的分配和调度,如哪些用户可以修改系统的硬件参数、哪些用户可以对数据库进行维护、哪些用户只能修改自己的登录密码等。
另外系统还有登录日志和加工记录等辅助功能。
误差搜集算法算法的提出划片机要求控制软件能够实时显示刀具的运动轨迹,但目前许多类似的控制软件,都不能精确地显示出具体的加工过程,往往只是显示合理性范围内的一种尺寸示意。
众所周知,显示器的屏幕大小有限,不可能按照实物的规格来显示,因此需要改变坐标系上的刻度单位来实现缩放,但因此会使显示器屏幕上的每个像素点代表的长度大小有所变化。
如用50个像素点代表0.5mm,那么一个像素点就代表0.01mm,表示图形显示能达到的精度是0.01mm;如用50个像素点代表10mm,那么一个像素点就代表0.2mm,表示图形显示能达到的精度是0.2mm。
(注意:图形显示能达到的精度并不代表加工系统切割物件能达到的精度。
)从以上的实际数字举例可以看出,随着被加工物体的增大,坐标系的单位刻度应该增大,那么每一像素代表的长度就会增加,图形显示能达到的精度就会下降。
然而在实际应用的过程中,往往要求的精度是百分之几个毫米,也就是说,要满足实际应用的精确度,仅用坐标缩放的方法来进行图形绘制的处理是远远不够的,它的具体表现就是,每切割一刀,小于一个像素所代表的小数部分的数据就会被系统截掉,随着加工片数的增加,截掉的小数部分造成的累积误差越来越大,达到人眼的分辨率时就能看出图形显示不合理的程度。
算法的实现为了解决以上遇到的累积误差问题,可以采用误差搜集的算法。
该算法的原理就是将每次图2:软件系统的功能模块图切割产生的小于一个像素所代表的小数部分的数据保存起来,进行累加,用这个累加结果与一个像素所代表的长度大小进行比较;如果这个累加结果大于或等于一个像素所代表的长度,就在显示图形时多显示一个像素,并在累加总和中减去一个像素所代表的长度,剩下的部分继续与每次切割产生的小于一个像素所代表的小数部分的数据进行累加;如果这个累加结果小于一个像素所代表的长度,则持续累加过程。
下面用具体数学表达式详细说明这一过程。
设每一像素代表的长度为UnitLength,切割的刀数序号为CutNo(CutNo=1,2,3…),切割的总刀数为TotalCutNo,每刀切割的片宽为CutWidth(假设片宽大于一个像素代表的长度,即CutWidth>UnitLength),每片误差(即每次切割产生的小于一个像素所代表的小数部分的数据)为UnitFraction,累积误差为Fraction,可写为:UnitFraction=CutWidth-UnitLength当CutNo=1时,Fraction=UnitFraction;如果Fraction> UnitLength,显示图形时多显示一个像素,Fraction=Fraction- UnitLength;如果Fraction<UnitLength,不做任何操作。
当CutNo=2时,Fraction=Fraction+UnitFraction;如果Fraction> UnitLength,显示图形时多显示一个像素,Fraction=Fraction- UnitLength;如果Fraction<UnitLength,不做任何操作。