【2023集创赛】芯原杯一等奖作品:基于芯原DSP核的智能语音SoC设计
本文为2023年第七届全国大学生集成电路创新创业大赛(“集创赛”)芯原杯一等奖作品分享,参加极术社区的【有奖征集】分享你的2023集创赛作品,秀出作品风采,分享2023集创赛作品扩大影响力,更有丰富电子礼品等你来领!
团队介绍
参赛单位:东南大学
队伍名称:一口气全队
指导老师:黄见秋
参赛队员:黎颖,李欣欣,甘云汉
总决赛奖项:一等奖
项目概述
本项目旨在设计一款基于芯原DSP (数字信号处理器)核ZSPNano的智能语音识别SoC芯片,基于芯原自主半导体IP搭建的技术平台,可以快速设计出满足不同应用的SoC产品,实现自主可控国产SoC芯片,帮助缩短产品的上市时间。该SoC芯片采用芯原公司自主研发的DSP核作为主控芯片,集成了高性能的语音信号采集、处理、识别等功能模块,实现语音信号的采集、处理和识别功能,将能够支持基于深度神经网络模型的智能语音识别算法和传统的语音识别算法。同时,该芯片还具备低功耗、低延迟、高精度等特点,适用于各种智能语音识别场景,可广泛应用于智能音箱、车载语音系统、语音翻译、智能家居、智能安防、智能手表、智能音箱等场景。该项目旨在为用户提供一种更加高效、便捷、安全的本地语音识别解决方案,推动智能语音识别技术的发展。
本项目的设计和开发基于ZSPNano的语音处理SoC设计平台和现有系统框架完成,配合现有DSP核、语音处理单元、存储器、I2C、I2S、PDM麦克风、WDT等功能模块,设计了能够满足系统需求的AMBA总线,实现音频数据输入输出、音频的数据处理与关键字判断识别、低功耗设计与综合。我们设计的基于芯原DSP核ZSPNano的智能语音识别SoC芯片包括以下内容:
- 基于Design Spec规定的memory mapping,完成了AHB Bus的设计
- 基于Design Spec规定的memory mapping,完成了APB Bus及AHB2APB Bridge的设计。
- 完成了必要的功能验证及结果输出
- 基于系统环境验证可靠,完成了低功耗及其唤醒的实现,其中包含低功耗软件实现与MFCC硬件加速实现。
- 完成了对低功耗实现的验证与评估
硬件概述
在本项目中,硬件设计主要包含两部分,一部分是AMBA总线系统的设计,包括AHB总线矩阵以及AHB转APB桥;另一部分是语音梅尔倒谱系数(Mel-scaleFrequency Cepstral Coefficients,下文以MFCC代替)提取硬件电路,包括硬件基2蝶形FFT运算单元、梅尔滤波器组以及离散余弦变换(DCT)运算单元等数字系统构成。
我们的AMBA总线设计如下图所示
MFCC硬件设计如下图所示,该MFCC硬件包含5大模块:预处理模块、(512点)傅里叶变换模块、梅尔滤波器组、对数运算模块以及离散余弦变换模块,对其进行封装后,将总体模块根据数据流连接,并将输入输出寄存器组和控制寄存器映射到APB总线上。
为了实现对硬件电路的自动化验证,我们编写了一套从MATLAB定点化模型的输出输出到Verilog仿真模型的数据对比测试代码,分别在每一个计算模块的testbench中加入这些数据源输入、硬件输出捕获以及输出与MATLAB模型对比的task实现自动化仿真,并将出错的数据地址显示在终端中,以便轻松检查电路的设计是否有错误以及快速定位错误位置。
软件概述
在本项目中,系统流程如下图所示,分为初始化,sleep,ZSP_nano wake,system wake,结束(回到sleep)四个状态。
其中初始化状态对i2c和PDM进行初始化;
sleep状态根据赛题要求,仅开启PDM时钟,ZSPNano进入低功耗状态并保持;
倘若PDM读取中断且读满1帧数据,就由sleep状态进入ZSP_nano wake状态进行唤醒;
在ZSP_nano wake状态中,经过三层判断:第一层通过“短时能量、短时过零率双门限端点检测法”判断读取数据是否为有效;第二层通过MFCC特征提取,判断处理数据是否为语音;第三层通过关键词唤醒方法判断是否为“Hi Verisilicon”。倘若判定结果为否,则返回sleep状态,对任意一层皆适用;倘若前两层判断为是则进入下一层,最后一层判断为是则进入system wake状态唤醒。
system wake状态会开启外设时钟和i2s初始化并输出正弦波。在输出完后重新回到sleep状态。如此,一次完整的低功耗唤醒流程结束。
参赛感悟与总结
首先,非常感谢集创赛给了我们这样一个可以在实践中学习SoC设计的机会,也非常感谢指导老师的有力支持。
其次,我觉得我们团队是幸运的,不仅仅是我们的付出得到了肯定,更重要的是,在长达8个月的赛程中,我们信赖彼此,相互支持,共同成长,收获了珍贵的友谊、回忆,这些并肩作战的日子想必在遥远的以后也依然温热。
在赛程的每个阶段,我们都分工明确,每一个队员都能够在完成自己负责的部分的基础上,进行深入的思考:如何优化才能提高识别速度?有没有更多更好实现低功耗的方法?在通过讨论提出更好的方法后,我们能够将其落地实现。这些积极负责的态度也是我们团队能够走到最后的原因吧。
最后,衷心祝愿屏幕前的朋友能够找到志同道合的伙伴,享受比赛过程中挑战困难带来的快乐 o((>ω< ))o
参加极术社区的【有奖征集】分享你的2023集创赛作品,秀出作品风采,分享2023集创赛作品扩大影响力,更有丰富电子礼品等你来领!
相关文章:

【2023集创赛】芯原杯一等奖作品:基于芯原DSP核的智能语音SoC设计
本文为2023年第七届全国大学生集成电路创新创业大赛(“集创赛”)芯原杯一等奖作品分享,参加极术社区的【有奖征集】分享你的2023集创赛作品,秀出作品风采,分享2023集创赛作品扩大影响力,更有丰富电子礼品等…...
代理IP与Socks5代理在跨界电商、爬虫、游戏和网络安全中的应用
在数字化时代,网络工程师们需要不断应对各种技术挑战,以满足跨界电商、爬虫、游戏和网络安全领域的需求。本文将聚焦于代理IP和Socks5代理,探讨它们在这些领域中的重要应用和影响。 1. 代理IP:跨越地域的电商战略 跨界电商已经成…...

DDS信号发生器Verilog波形发生器FPGA
名称:DDS信号发生器Verilog波形发生器 软件:Quartus 语言:Verilog 要求: 1.可产生正弦波,锯齿波,三角波,方波4种波形,频率可调 2.具有波形选择、起动、停止功能。 代码下载&…...

基于springboot实现二手交易平台管理系统演示【项目源码】分享
基于springboot实现二手交易平台管理系统演示 java简介 Java语言是在二十世纪末由Sun公司发布的,而且公开源代码,这一优点吸引了许多世界各地优秀的编程爱好者,也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言之…...

一个链接分享自制的产品图册
在商业中我们都需要一本产品册展现自家的产品特点,方便更多的人群挑选产品。但是纸质版的消费量最大,还不好存放和管理。不妨试试制作一本电子版的产品图册,无论是新手还是有经验者都能轻松上手 接下来给大家分享这款网站---FLBOOK在线制作…...

2023工博会 | 上海添力网络营销公司 | 助力工业品线上推广
2023年9月23日,为期五天的工博会正式落下帷幕。本届工博会不仅有数量,更加有质量,国内外企业纷纷拿出看家本领,围绕着“绿色低碳”、“数字化转型”、“数字经济”、“科技创新”、“智能制造”等主题进行推陈出新。 本次工博会也…...
React实现多图片预览功能、预览图上下张切换(实战示例)
前言 在React项目中,展示和预览多张图片是一种常见的需求。本篇帖子将介绍如何使用React和antd库来实现这一功能,并探讨如何在预览模态框中切换到前一张或后一张图片。 背景 我们将以一个OCR图像列表展示的示例来演示代码的运用。假设我们有一个OCR系…...

【NLP的Python库(04/4)】:Flair
一、说明 Flair是一个现代的NLP库。从文本处理到文档语义,支持所有核心 NLP 任务。Flair使用现代转换器神经网络模型来完成多项任务,并结合了其他Python库,可以选择特定的模型。其清晰的API和注释文本的数据结构,以及多语言支持&a…...
Vue框架学习大纲
Vue.js 是一个构建用户界面的框架,尤其是单页面应用。以下是一些主要基于 Vue 2.x 的版本必须了解的 Vue.js基本知识点和特性: Vue 实例: 创建一个 Vue 实例是开始使用 Vue 的第一步。 var vm new Vue({// 选项 });数据绑定: Vue 提供了非常直观的数据绑…...

利用PPT导出一张高清图的方法,office与WPS只需要使用一个即可,我使用的是office。
利用PPT导出一张高清图的方法,office与WPS只需要使用一个即可,我使用的是office。 1,PPT的功能拓展来解决导出高清图片方法1.1,PPT功能拓展—>安装插件: 2,各种方法导出图片效果显示:2.1&…...

2023年【四川省安全员B证】最新解析及四川省安全员B证模拟考试
题库来源:安全生产模拟考试一点通公众号小程序 四川省安全员B证最新解析考前必练!安全生产模拟考试一点通每个月更新四川省安全员B证模拟考试题目及答案!多做几遍,其实通过四川省安全员B证模拟考试题很简单。 1、【多选题】5.5kW…...

某瑞集团安全技术研发岗位面试
本文由掌控安全学院 - sbhglqy 投稿 一、自我介绍 阿吧阿吧,不多说 二、就ctf比赛经历方面提些问题 面试官:ctf打了多久了 我:两三年了。 面试官:得过什么奖项没有 我:本科的时候得过一个校一等奖。 面试官&#x…...

学习笔记|ADC反推电源电压|扫描按键(长按循环触发)|课设级实战练习|STC32G单片机视频开发教程(冲哥)|第十八集:ADC实战
文章目录 1.ADC反推电源电压测出Vref引脚电压的意义?手册示例代码分析复写手册代码Tips:乘除法与移位关系为什么4096后面还有L 2.ADC扫描按键(长按循环触发)长按触发的实现 3.实战小练1.初始状态显示 00 - 00 - 00,分别作为时,分,…...

2020 款凯迪拉克 XT5 车发动机加速异响
故障现象 一辆2020款凯迪拉克XT5车,搭载LSY发动机,累计行驶里程约为8万km。车主反映,加速时发动机有明显异响。 故障诊断 接车后试车,起动发动机,发动机怠速运转平稳;打开发动机室盖,能够听到轻…...

【AI视野·今日CV 计算机视觉论文速览 第255期】Wed, 27 Sep 2023
AI视野今日CS.CV 计算机视觉论文速览 Wed, 27 Sep 2023 (showing first 100 of 103 entries) Totally 100 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Generating Visual Scenes from Touch Authors Fengyu Yang, Jiacheng Zhang, Andre…...

Java应用生产Full GC或者OOM问题如何定位
1 引言 生产应用服务频繁Full GC却无法释放内存,甚至可能OOM,这种情况很有可能是内存泄露或者堆内存分配不足,此时需要dump堆信息来定位问题,查看是哪些地方内存泄漏。 Dump文件也称为内存转储文件或内存快照文件,是…...
Data processing flow
1. 找出第一年的address,有lat和long,自动生成 csv_log_lat_county.ipynb import csv from geopy.geocoders import Nominatim from geopy.exc import GeocoderTimedOutgeolocator Nominatim(user_agent"my-app") data_csv r"D:/year…...
CAP理论与BASE理论
分布式领域CAP理论: Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告࿱…...
DRM全解析 —— ADD_FB2(3)
接前一篇文章:DRM全解析 —— ADD_FB2(2) 本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 上一回围绕libdrm与DRM在Linux内核中的接口: DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB2,…...
【Java】SpringMVC ResponseBodyAdvice详解
目录 1. ResponseBodyAdvice 2. supports方法 3. beforeBodyWrite方法 4. 实践 1. ResponseBodyAdvice Spring MVC的ResponseBodyAdvice是Spring 4.1版本中引入的一个接口,它允许在Controller控制器中ResponseBody修饰的方法或ResponseEntity执行之后ÿ…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决
问题: pgsql数据库通过备份数据库文件进行还原时,如果表中有自增序列,还原后可能会出现重复的序列,此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”,…...

相关类相关的可视化图像总结
目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...
32位寻址与64位寻址
32位寻址与64位寻址 32位寻址是什么? 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元(地址),其核心含义与能力如下: 1. 核心定义 地址位宽:CPU或内存控制器用32位…...