集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1034|回复: 0

采用软硬件协同设计方法实现语音识别SoC

[复制链接]
dzyjc7 发表于 2012-4-27 08:55:06 | 显示全部楼层 |阅读模式
一般来说,不明确或错误的设计要求是导致系统设计失败的最大原因,因此,对于系统设计师来说,将系统要求或规格做成可执行的明确格式就非常重要。为此必须使客户、系统供应商和多个设计小组在并行软硬件设计流程的早期就达成一致意见。本文以基于SoC的语音识别系统设计为例,介绍意法半导体公司在采用CoWare N2C方法实现系统级设计方面的经验。


我们过去设计的一个原型系统采用了内置语音识别功能的语音激活控制器,并采用了新型的全硬连线(fully hardwired)ST专利算法。该系统采用0.25微米ASIC工艺,并用外部非易失存储器来存储单词模板和特征参数。虽然这个原型系统功耗很低,并且具有优越的识别性能,但要把它集成进一个系统级芯片(SoC)还是相当困难,主要原因在于它缺乏灵活性, 其控制状态机和数据路径完全通过硬连线实现的。


在新的设计中,我们在保留前面的功能特性基础上,对功能进行了参数化处理,不再采用单一用途的硬连接,因此新设计具有很大的灵活性。新设计中的一部分功能用硬件实现,另一部分用软件实现。为了提高语音识别系统的灵活性,主要处理功能是用硬件协处理器加上周边的ARM7TDMI 32位处理器和2M位的嵌入式闪存实现的。这款最新的SoC还包含有一条Amba-APB总线(高级外围设备总线)和大量的外围器件、定时器、中断控制器和其它相关功能模块。
从系统设计到RTL设计花费了2位工程师6个月的时间,整个软件开发流程也花了2位软件工程师6个月的时间,因此总的工作量是2人年。这款语音识别SoC顺利通过生产,并且所有功能首次测试就全部通过,它包含30万个逻辑门,约相当于500万个晶体管。
语音识别器的结构
设计中我们特别注重语音识别器的结构,如图1所示,该识别器具有一个预处理器,用来为终点检测(EPD)流程和自相关函数(ACF)计算滤波器提供数据。EPD串接于ACF和线性预测倒谱(LPC)模块中间,主要用来进行静音/语音判断,并将每个输入的单词作为语音样本序列翻译成长度可变的倒谱特征向量序列。
压缩器模块随即用合适的存储器结构转换所得到的倒谱向量,然后再存储于单词RAM中。紧靠动态时间偏移(DTW)距离计算协处理器的是一个片上闪存,它用来存储识别阶段使用的数据库。DTW引擎由2个模块组成,分别是DTW输出环和DTW输入环,用来将识别结果传送给标准选举规则(norm-and-voting-rule)模块。接下来标准选举规则模块开始计算接收单词和存储于识别数据库中的所有单词之间的标准化距离。然后根据所定的选举规则将接收单词与存储单词之间的最佳距离提供给应用程序。
采用SoC进行设计可以实现以下目的:
1. 通过开发软硬件协同设计和结构选择来研究自顶向下的设计方法;

2. 利用可指令校正的软硬件接口综合设计方法取得首次设计成功经验;
3. 设计可复用高度参数化功能模块(功能和真实循环封装);
4. 开发用于驱动嵌入式闪存参数化的结构,以便用于信号处理;
5. 开展软硬件协同验证,并评估RTL验证所用硬件仿真的最终用途。
新的设计方案
最大的设计挑战莫过于保证操作的实时性。当我们设置好一系列能完成高性能语音识别的系统参数后,必须确保软硬件交互任务能工作于理想的频率。另外,由于SoC设计的目标是低功耗应用,尽量降低工作频率就非常重要。
因此要借用过去的一些优秀设计,包括对系统功能的完整的C/C++描述、测试平台和大量复杂的用VHDL-RTL描述的IP模块。同时,重新设计主要的语音处理IP模块,使之成为高度参数化的IP,便于编译或运行结构化参数设计。参数化设计定义了该IP模块的功能性、结构性和微结构化特征。
此外,要用C/C++语言从原始代码开始开发语音识别设备的功能化模型。新项目的这一阶段包括了系统的功能化模块创建,因为原来的参数规格是在完全硬连线实现原则下完成的,此时不再适用。这次创建意在使识别性能调整到最终设备时具有更好的灵活性,而且具备全结构化开发的能力。
其中最主要的工作是用CoWare-C语言对已有的VHDL IP模块进行功能性建模,并同时提供纯功能(未定时的)C模型和VHDL封装模型。为了完全分离功能与通信,在功能模型中去除了通信细节。正因为如此,利用接口综合快速评估系统的不同硬件/软件部分才成为可能。
(本文由Cogo商城-IC元器件在线采购平台搜集整理,
浏览http://www.cogobuy.com/product/2-3-5-22.html了解更多详细信息)
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-25 15:51 , Processed in 0.065594 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表