片上系统构建方法

文档序号:6572756阅读:473来源:国知局
专利名称:片上系统构建方法
技术领域
本发明涉及一种片上系统构建方法。
背景技术
目前,随着计算机技术的日益普及和人们对安全验证的广泛需求,人脸识别技术以其独 有的不可替代性而得到极大的发展和日益广泛的应用,已经成为身份验证的重要手段。人脸 检测是人脸识别的关键技术,由于其运算量大、运算复杂度高,所以人脸检测大都应用在PC 机与DSP上,算法是基于软件实现,因此也仅能对代码进行软件优化,而无法实现对硬件的 优化,如此极大地制约了人脸识别技术的发展,致使其难以在各类嵌入式设备中快速有效的 运行。
因此,如何解决现有技术存在的缺点实已成为本领域技术人员亟待解决的课题。

发明内容
本发明的目的在于提供一种片上系统构建方法,以提高系统的运行速度,降低系统的体 积及功耗。
为了达到上述目的,本发明提供的片上系统构建方法包括步骤1)根据实际要完成的功 能开发设计相应的运行程序,并对所述程序进行性能评测,以找出所述程序中耗时超过预设 值的运算部分;2)根据所设计的运行程序初步构建一片上系统,并对所述片上系统进行初步 调试,所述片上系统包括处理器及相应必要的外围设备;3)根据性能评测结果在所述片上系 统中添加相应加速模块,并使所述加速模块通过总线与所述片上系统的处理器进行数据通讯, 其中,所述加速模块能对所设计的运行程序中耗时超过预设值的运算部分进行辅助处理以提 高片上系统的运行速度;4)验证所添加的加速模块的功能以确定其功能的正确性;5)将所 设计的运行程序载入己添加有通过验证的加速模块的片上系统中,对所述片上系统对进行整 体性能调试及评测以进一步优化所述片上系统。
其中,所述加速模块可通过快速单向链路(FSL)总线与所述片上系统的处理器进行数据 通讯,构建的片上系统可为基于现场可编程门阵列(FPGA)的人脸检测的系统,所述处理器 可为Microblaze处理器。
本发明提出的片上系统在构建时通过对运行程序的性能评测以添加相应的加速模块,可以实现对整个硬件平台进行优化配置,在系统中对于特定运算进行硬件加速,如此可有效提 高构建的片上系统的运行速度,同时其具有体积小、功耗低等优点。


图1为本发明的片上系统构建方法的操作步骤流程图。
图2为本发明的片上系统构建方法所构建的片上系统结构示意图。
图3为本发明的片上系统构建方法所构建的片上系统的人脸检测程序的检测过程示意图。
具体实施例方式
请参阅图l,本发明的片上系统构建方法主要包括以下步骤-
第一步根据实际要完成的功能开发设计相应的运行程序,并对所述程序进行性能评测,以 找出所述程序中耗时超过预设值的运算部分,例如,当需要完成一人脸检测功能时,开发者 设计一人脸检测程序,然后由性能评测工具对人脸检测程序进行算法的功能验证,同时评测 工具对整个人脸检测程序进行性能评测,找出算法中较为耗时的运算作为硬件加速的依据, 性能评测工具还会给出人脸检测程序中各个子函数被调用次数以及运行时间,开发者可以根 据评测结果对函数进行研究,最终确定需要进行硬件加速的运算。
第二步根据所设计的运行程序初步构建一片上系统(SoC),所述片上系统包括处理器及相 应必要的外围设备,通常在初步建构时包括两大部分,即处理器配置与外围设备接口配置两 部分,在处理器配置阶段,可配置的单元包括桶形移位器、浮点运算单元、硬件除法器、 指令与数据缓存器(Cache)等,可以根据开发者对片上系统的要求来进行配置,在外围设备 配置阶段,如果在程序调试过程中用到串口,那么需要选择串口,在外围设备接口配置阶段, 除了串口,开发者还可根据自己的需要配置其他单元,例如,网络模块、外部存储器模块, Block Ram模块等,请参见图2,整个SoC硬件系统初步构建完成之后,包括一 Microblaze 处理器、在所述Microblaze处理器左侧连接的一个快速存取的存储器(Bram),两者通过局 部存储器总线(Local Memory Bus)连接,所述Bram的大小可以由开发者指定,所述Microblaze 处理器右侧连接指令缓存器(I- Cache Bram)与数据缓存器(D-Cache Bram),对于是否采 用Cache以及Cache大小可以由开发者指定,所述Microblaze处理器与其他一些外围设备, 例如网口、其他外围设备,分别连接到片上外围总线(0PB)总线,对于其他外围设备,开 发者可以根据自己设计的系统要求来选择,例如可包括网口 (UART)、存储器控制器、外部
存储器与串口等,而存储器控制器可与片外存储器相连接,由于0PB总线采用仲裁机制,所 以连接外部低速设备,此外,所述Microblaze处理器还可通过数据线(Cache Link)与静态 随机存储器(SRAM)相连接,在对SoC硬件平台初步构建完成之后,需要对整个平台与调试 系统进行初步的功能测试,主要方法是编写一个较为简单的应用程序,并尝试在SoC硬件平 台上运行,在超级终端下观察输出结果正确与否,此与现有技术类似,在此不再详述。
第三步根据性能评测结果在所述片上系统中添加相应加速模块,并使所述加速模块通过总 线与所述片上系统的处理器进行数据通讯,其中,所述加速模块能对所设计的运行程序中耗 时超过预设值的运算部分进行辅助处理以提高片上系统的运行速度,请参见图2,在SoC硬件 系统中添加多个加速模块作为Microblaze处理器的协处理单元,两者通过FSL总线连接,在 挂接成功后,加速模块只是生成了模块接口而不执行任何功能,所以,需要进行加速模块的 功能设计,加速模块的功能包括接收数据、处理数据、发送数据三个基本状态,对于人脸检 测系统中的加速模块,使用FSL总线与Microblaze处理器相连接,FSL实际上是一个深度可 配置的FIF0,每个FSL是单向传输,而加速模块与Microblaze处理器需要进行数据的双向传 输,所以,每个加速模块通过两条FSL与Microblaze处理器相连,两者的数据交互过程可简 单描述为Microblaze处理器把需要处理的数据依次送入FSL,加速模块首先接收从 Microblaze处理器传来的数据,之后进入处理状态,在数据处理结束后,加速模块把计算结 果依次送回Microblaze处理器。
第四步在对加速模块设计结束之后,需要首先验证加速模块功能的正确性,具体方法为编 写简单应用程序,通过Microblaze处理器向加速模块送入数据,经过处理通过串口观察模块 输出数据,以确定加速模块功能的正确性。
第五步将所设计的运行程序载入已添加有通过验证的加速模块的片上系统中,对所述片 上系统对进行整体性能调试及评测以进一步优化所述片上系统,在确认加速模块功能正确后, 需要在人脸检测程序中使用加速模块来完成特定的功能,在这一步不仅需要验证人脸检测程 序在使用了加速模块后的功能正确性,还需要对整个系统的性能进行评估,以确定进一步的 优化方案,请参见图3,其为人脸检测程序的检测过程示意图,所述片上系统启动后首先进行 初始化即载入人脸检测程序,之后加载待检测图片与分类器,在对待检测图片进行检测之前, 人脸检测程序需要对图片进行预处理,主要包括积分图的计算,之后进入检测阶段,检测过 程是通过检测子窗口对图片的遍历来完成的,为适应不同大小的人脸,检测窗口需要不断放 大,直至窗口大小达到预设的终止条件后,再最后经过去除人脸重复区域的处理后输出,由
性能评测工具对基于FPGA的人脸检测片上系统整体性能的检测后,相对于纯软件的实现,图 像的检测速度由原来的llfps提高到18fps,待检测图片选用CIF格式图片,系统不仅对于正 面人脸检测效果好,对15°内的俯仰、侧向旋转以及遮挡和闭眼等多种姿态下的人脸检测效 果也较好。
综上所述,本发明的片上系统构建方法在构建时通过对运行程序的性能评测以添加相应的 加速模块,克服了目前的人脸检测系统在设计过程中只能对代码进行软件优化的缺点,可以 同时对整个硬件平台进行配置,其中包括对处理器本身与外围设备接口的配置,更重要的是, 可以针对人脸检测算法的特点,在系统中对于特定运算进行硬件加速,如此可有效提高构建 的片上系统的运行速度,同时其具有体积小、功耗低等优点,进而可使人脸检测方法被应用 于嵌入式设备中,例如数码相机、玩具、门禁系统等场合,满足当今市场发展的需求,为企 业带来更多的发展机遇。
权利要求
1.一种片上系统构建方法,其特征在于包括步骤1)根据实际要完成的功能开发设计相应的运行程序,并对所述程序进行性能评测,以找出所述程序中耗时超过预设值的运算部分;2)根据所设计的运行程序初步构建一片上系统,并对所述片上系统进行初步调试,所述片上系统包括处理器及相应必要的外围设备;3)根据性能评测结果在所述片上系统中添加相应加速模块,并使所述加速模块通过总线与所述片上系统的处理器进行数据通讯,其中,所述加速模块能对所设计的运行程序中耗时超过预设值的运算部分进行辅助处理以提高片上系统的运行速度;4)验证所添加的加速模块的功能以确定其功能的正确性;5)将所设计的运行程序载入已添加有通过验证的加速模块的片上系统中,并对所述片上系统进行整体性能调试及评测以进一步优化所述片上系统。
2. 如权利要求1所述的片上系统构建方法,其特征在于所述加速模块通过快速单向链 路总线与所述片上系统的处理器进行数据通讯。
3. 如权利要求1所述的片上系统构建方法,其特征在于构建的片上系统为基于现场可 编程门阵列的人脸检测的系统。
4. 如权利要求1所述的片上系统构建方法,其特征在于所述处理器为Microblaze处 理器。
全文摘要
一种片上系统构建方法,首先根据实际要完成的功能开发设计相应的运行程序,并对所述程序进行性能评测,接着根据所设计的运行程序初步构建一包括处理器及与相应必要的外围设备的片上系统,并对所述片上系统进行初步调试,然后再根据性能评测结果在所述片上系统中添加相应加速模块,并使所述加速模块通过总线与所述片上系统的处理器进行数据通讯,在验证了所添加的加速模块的功能后,将所设计的运行程序载入片上系统中,并对所述片上系统进行整体性能调试及评测,如此可以实现对整个硬件平台进行优化配置,而在系统中对于特定运算进行硬件加速,可有效提高构建的片上系统的运行速度,同时其具有体积小、功耗低等优点。
文档编号G06K9/00GK101364258SQ200710044750
公开日2009年2月11日 申请日期2007年8月9日 优先权日2007年8月9日
发明者炜 孙, 青 张, 峰 赵 申请人:上海银晨智能识别科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1