当TI、ADI已经有数百款DSP时,国内厂商还在为研发一款国外数十年前便发布的产品而努力,这个差距非常之大。产品结构单一、应用场景局限、技术体系简单、生态极度贫瘠是当前国内DSP芯片领域的痛苦现状。
数字信号处理
信号处理(SignalProcessing)是对各种类型的电信号,按一定目的及要求进行加工过程的统称,具体包括提取、变换、分析、综合等处理过程。对模拟信号的处理称为模拟信号处理,对数字信号的处理称为数字信号处理。
数字信号处理(Digital Signal Processing)是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,通过算法处理后,达到提取有用的信息结果以满足应用的目的。常见的处理包括:滤波(包括FIR滤波(Finite Impulse Response)与IIR(Infinite Impulse Response))、检测、变换、增强、估计、识别、参数提取、频谱分析(DFT(Discrete Fourier Transform))等,更高级的数字信号处理内容还包括自适应滤波、功率谱估计、多速率信号处理、小波变换等。数字信号处理的发展中有两项重大节点,即快速傅里叶变换(FFT(Fast Fourier Transform))算法的提出和数字滤波器设计方法的完善,推动数字信号处理的快速广泛的应用。
一般地讲,数字信号处理涉及三个步骤:
(1)模数转换(A/D转换):模拟信号向数字信号变换,通过ADC芯片对模拟信号转变成机器可识别的01信号,基本的理论保证是奈奎斯特采样定理。
(2)数字信号处理(DSP):对转换后的01信号进行运算处理,包括变换域分析(如频域变换)、数字滤波、识别、合成等。
(3)数模转换(D/A转换):把经过处理的数字信号还原为模拟信号并输出。
DSP芯片
数字信号处理是最关键的步骤,实现的方式包括:
(1)采用大、中小型计算机和微机:工作站和微机上各厂家的数字信号软件,如各种图象压缩和解压软件。其实也就是使用CPU的算力去进行数字信号的处理。
(2)采用单片机:可根据不同环境配不同单片机,其能达实时控制,但数据运算量不能太大。
(3)采用通用DSP芯片:DSP芯片较之单片机有着更为突出优点。如内部带有乘法器,累加器,采用流水线工作方式及并行结构,多总线速度快,配有适于信号处理的指令(如FFT指令)等。
(4)采用专用DSP芯片:专门用于FFT、FIR滤波器,卷积、相关等专用数字芯片。其软件算法已在芯片内部用硬件电路实现,使用者只需给出输入数据,可在输出端直接得到数据。
DSP芯片是一类专门用于实现数字信号处理算法的半导体器件,针对于数字信号处理典型算法如FIR滤波、FFT等,DSP芯片专门优化了内核硬件结构。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行处理,并通过其他系统芯片把数字数据解译回模拟数据或实际环境格式。它具有可编程性,在数字运算的速度上远超过通用微处理器。它的强大数据处理能力和高运行速度,是两个最强大的特性。独特的硬件设计使得DSP芯片非常适合数字信号处理算法应用比较多的场合,比如在通信、语音、视频、雷达等许多的领域。
DSP有个非常重要的分类,那就是按数据格式分类,DSP分为定点DSP和浮点DSP。定点是指表示或操作一个数值时,小数点之后(之前)的位数是固定的,浮点则是指小数点的位置可以根据有效位数而浮动。定点DSP计算时,会把一个数据当做整数来处理,不能以足够的精度表示一个小数,只能对整数进行计算。定点DSP最低为16位,因而可能的位模式有65,536种(2的16次方)。浮点DSP计算时,会把AD采样到的整数转换成小数形式。浮点DSP用于表示和操控有理数,最低为32位,因而可能的位模式有4,294,967,296种(2的32次方)。理解这一点是做DSP选型的基础。
DSP芯片的主要特点
在数字信号处理的运算中,常见的相关函数计算、卷积运算、信号滤波和各种变换算法大多归结为乘加运算,乘加相关的形式出现最为频繁,所以DSP内部结构设计都是以优化上述乘加运算为主要目的。为了快速地实现数字信号处理运算,DSP芯片一般都采用特殊的软硬件结构。DSP芯片的基本硬件结构包括:哈佛结构、流水线操作、专用的硬件乘法器、特殊的DSP指令以及快速地指令周期。
(1)哈佛结构
哈佛结构的主要特点是将程序和数据分开独立存储,每个存储器独立编址、独立访问。分别设置程序总线和数据总线,程序和数据分开跑,使得数据的吞吐率提高了一倍。由于独立编址,每条指令和数据可以具有不同的数据宽度。由于程序和数据有独立的存储和总线,因此取指和执行能完全重叠。这种结构克服了数据流传输的瓶颈,提高了运算速度。
例如最常见的卷积运算中,一条指令同时取两个操作数,在流水线处理时,同时还有一个取指操作,如果程序和数据通过一条总线访问,取指和取数必会产生冲突,而这对大运算量的循环的执行效率是很不利的。哈佛结构能基本上解决取指和取数的冲突问题。
TI公司的DSP芯片结构是基本哈佛结构的改进类型,改进之处是在数据总线和程序总线之间进行局部的交叉连接。这一改进允许数据存放在程序存储器中,并被算术运算指令直接使用,增强了芯片的灵活性。只要调度好两个独立的总线就可使处理能力达到最高,以实现全速运行。改进的哈佛结构将指令存储在高速缓存器中,省去了从存储器中读取指令的时间,运行速度大幅提升。
(2)流水线操作
DSP芯片增强处理能力的另一种方式是采用流水线以减少指令执行时间。处理器可以并行处理二到四条指令,每条指令处于流水线的不同阶段。第一代TMS320处理器采用二级流水线,第二代采用三级流水线,而第三代则采用四级流水线。以三级流水线操作为例,取指、译码和执行操作可以独立地处理,这可使指令执行能完全重叠。在每个指令周期内,三个不同的指令均处于激活状态,每个指令处于不同的阶段。例如,在第N个指令取指时,前一个指令即第N-1个指令正在译码,而第N-2个指令则正在执行。一般来说,流水线对用户是透明的。
(3)专用的硬件乘法器
在通用处理器上,算术逻辑单元(ALU)只能完成两个操作数的加、减及逻辑运算,而乘法(或除法)则由加法和移位来实现,因此如果要实现乘法运算,速度会比较慢。DSP的专用硬件乘法器设计,使得DSP在做乘法时速度非常快,而很多信号处理基本上都是以乘加运算为基础,硬件乘法器的乘加速度越快,性能越高。并且,乘法运算可以在一个指令周期内完成,指令周期越短,意味着运算速度越快。
(4)特殊的DSP指令系统
首先,DSP芯片有一套专门为数字信号处理而设计的指令系统,这个指令系统使得一些数据运算能更加方便快捷。如数据移位功能指令、抽头计算指令精简指令等。
其次,为了提高DSP处理器的性能,上面提到缩短指令周期(即提高时钟频率)是一种不错的方式。但由于提高时钟频率存在最大值,常用的方法是提高并行性。提高操作并行性,可以由两个途径实现:提高每条指令执行的操作的数量;提高每个指令周期中执行的指令的数量。这两种并行要求产生了多种DSPs新结构。
增强型DSP:使用额外的执行单元和增加数据通路,即增强型DSP。这种结构中,指令集必须也同时增强,以满足在一条指令中指定更多的并行操作,以利用额外的硬件。增强型DSPs的优点是兼容性好,而且与较早的DSP具有相似的成本和功耗。缺点是结构复杂、指令复杂,进一步发展有限。
超长指令字(VLIW结构):在一条指令周期执行多条指令,使用大的统一的寄存器堆,即超长指令字(VLIW)结构。VLIW结构的优点是高性能、结构规整。缺点是高功耗、代码膨胀需要宽的程序存储器、新的编程/编译困难。
超标量体系:和VLIW处理器一样,超标量体系结构并行地流出和执行多个指令。但跟VLIW处理器不同的是,超标量体系结构不清楚指定需要并行处理的指令,而是使用动态指令规划,根据处理器可用的资源、数据依赖性和其他的因素来决定哪些指令要被同时执行。超标量体系结构已经长期用于高性能的通用处理器中,如Pentium和PowerPC。
单指令多数据流(SIMD结构):把输入的长的数据分解为多个较短的数据,然后由单指令并行地操作,从而提高处理海量、可分解数据的能力。该技术能大幅度地提高在多媒体和信号处理中大量使用的一些矢量操作的计算速度,如坐标变换和旋转。由于使总线、数据通道等资源充分使用,并无需改变信号处理(含图象、语音)算法的基本结构,因此SIMD结构使用越来越普遍。不过SIMD结构要求算法和数据结构必须满足并行处理要求,处理数据时常需要重新安排调整。受限于数据结构要求,SIMD结构仅支持定点运算。后面会看到ADI很多产品都用到了SIMD结构。
DSP/微控制器的混合结构:一般地,微处理器在控制上能提供良好的性能,但不擅长进行数字信号处理,专用的DSP处理器则刚好相反。因此,结合两种器件的优势是一种增强功能的方式,用ARM核和DSP核做成一个新的SOC,在性能上将得到提升,多核异构是目前提升性能的主流做法。
(5)快速的指令周期
快速的指令周期、哈佛结构、流水线操作、专用的硬件乘法器、特殊的DSP指令,再加上集成电路的优化设计可使DSP芯片的指令周期大幅降低,TMS320系列处理器的指令周期已经降低10ns以下。快速的指令周期拓宽了DSP的应用场景。
(6)丰富的寻址方式
在DSP中集成了多个地址产生单元,支持丰富的寻址方式,使FFT、卷积等运算中的寻址、排序及计算速度大大提高。如TMS320C5000系列中的指令系统提供七种基本的数据寻址方式:立即寻址方式、绝对地址寻址方式、累加器寻址方式、直接寻址方式、间接寻址方式、存储器映射寄存器寻址方式、堆栈寻址方式。
(7)灵活编程和算法设计
DSP的硬件结构和资源为实现算法提供了基础,但针对于某个特定的应用,如果没有成熟的算法,即便是硬件电路再好,也无法实现特定的功能。DSP的编程语言一般为C语言,特别方便工程师进行灵活编程,主流器件完善的软件工具链赋能工程师进行算法设计。
与MCU的区别
解决特殊的运算问题需要特殊的硬件结构,DSP芯片的硬件结构,促进了DSP器件与通用处理器的分流。这种区别体现在如下几点:
(1)对密集乘法的支持
(2)存储器结构
(3)零开销循环
所谓的零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值,条件转移到循环大额顶部,将循环计数器减1。
综合来看,MCU具有比较强的事务管理功能,它的速度和数据处理能力一般,其优势主要体现在控制方面。同时MCU的外围接口比较丰富,标准化和通用性强,芯片整体功耗较低,特别适用于一些消费电子产品。而DSP最擅长的在于运算,优势是强大的数据处理能力和较高的运行速度。部分DSP产品对于控制算法非常擅长,适合用在对控制要求比较高的场合,比如军用导航、电机伺服驱动等方面,如TMS320F28335是控制领域的经典产品。
与FPGA的区别
另一类需要讨论的是FPGA,FPGA即现场可编程阵列,它既解决了定制电路的不足,又克服了原有可编程器件的门电路数有限的问题。FPGA的硬件结构可以通过编程去修改,这使得FPGA在设计和仿真上有了极大的优势。通过对FPGA编程,可以实现特定的处理器功能,它与DSP的差异体现在以下几点:
(1)内部结构
(2)内部资源
(3)编程语言
(4)应用场景
(5)功能角度
值得一提的是,DSP芯片虽然与MCU和FPGA有明显的区别,但目前他们之间的关系既有竞争也有融合。目前在一些控制类场景中,已有几种替代DSP的方案,第一种是以STM32为代表的高性能MCU,第二种是用MCU做控制、FPGA做运算。DSP与MCU的融合体现在:DSP核与ARM核融合,如TI的高端产品;在DSP的硬件配置更多的MCU上的外设,使其对于控制的能力大大提升,于是有了个新称呼叫DSC,如TI的C2000。在既强调结构灵活、通用性强以及处理复杂算法的需求下,往往会将DSP和FPGA联合,采用DSP+FPGA的结构,或者将DSP模块迁入到FPGA中,也是一种设计思路。
市场情况
自1982年第一代DSP芯片TMS32010发布以来,DSP已经发展了近40年。这40年间,DSP的产品已经发展到了第六代(按TI的产品线),DSP产品依靠其在数据运算的超强功能,在通信、工业控制、消费电子等多个领域得到了广泛的应用。
回顾来看,DSP有几大变化:
(1)形态更丰富,逐渐由通用型器件形态发展到以IP核的方式应用在各个产品中;
(2)功能更强大,由单核逐渐发展到多核,集成度越来越高,速度越来越快;
(3)应用场景更加丰富,随着消费电子、自动驾驶等下游的发展,DSP的产品体系更加丰富。与此同时,整个市场寡头格局更加明显,通用器件的主要市场被TI和ADI牢牢攥住,IP核的市场则主要控制在CEVA等厂家的手中。
(1)实力强大的巨头
TI公司是世界上最大的模拟电路技术部件制造商,是全球领先的半导体跨国公司。公司产品包括两大块,分别是模拟产品业务和嵌入式处理业务。公司是DSP业界公认的龙头,嵌入式处理器业务2018年收入约为35.5亿美元。
TI的产品设计理念以市场需求为核心,目前TI官网有182款DSP,120款DSC(C2000),做到了货架式产品供应,满足绝大多数的下游应用需求。同时,产品具有丰富的软件和硬件生态,产品竞争力全球第一。我整理了TI官网的部分产品情况如下,供大家参考:
ADI公司是全球领先的高性能模拟技术公司,公司产品包括集成电路里面的模拟器件(电源管理,信号链)、射频器件以及微处理器。ADI公司作为全球知名的DSP处理器厂商,与德州仪器公司共同构筑了两大DSP生产阵营,其系列DSP产品经过二十余年的发展,经历了ADSP21系列,SHARC系列,TigerSHARC和BlackFin等系列。产品的应用虽不及TI那么广泛,但其产品有着独特的技术特色和卓越的技术领先。根据ADI官网的信息,我整理出下表供大家参考。
(2)负重前行的国产DSP
目前国产DSP供应商分为两类,第一类是研究所,第二类则是企业。其中研究包括:
中电科58所:近年来开发完成了DSP、MCU、AD/DA、EPROM、嵌入式ASIC等上百个品种集成电路,具备研发、生产百万门级实用化ASIC能力。其量产的DSP产品有JDSPF28XX。
中电科38所:我国从事军事电子、信息产业等综合电子信息技术研制、生产、集成的国家一类研究所之一,是国内军事雷达电子的主要供应商。下属四创电子股份有限公司是国内第一民用雷达上市公司。2006年,38所开始进入DSP芯片设计领域,2012年推出“魂芯I”BWDSP100,2018年4月推出“魂芯II”。
中电科14所:是中国雷达工业的发源地,国家诸多新型、高端雷达装备的供应商。14所曾承担01专项,和龙芯、清华合作开发国产DSP芯片华睿1号,已成功应用在其10多个型号的雷达产品,该DSP芯片在国内雷达装备使用最多。目前华睿2号也已推向市场,华睿3号也在研发中。
目前已知的企业如下:
长城银河:由长沙湘计海盾科技有限公司与湖南省产业技术协同创新研究院共同出资打造的高新技术型企业,转化了国防科大陈书明教授牵头研发的“银河飞腾”DSP。银河飞腾的典型产品YHFT-QDSP在0.13微米工艺下,频率达到350MHz,性能大于11.2GOPS,功耗约2.99W,该芯片目前已应用于图像处理领域、无线基站、雷达等领域。
进芯电子:中国电科58所副总工程师黄嵩人于2012年成立,公司主要产品是国产高可靠性的16位和32位定点与浮点DSP芯片,包括AVP32、ADP32、ADP16。曾获汇川技术、深创投、盈富泰克投资,是民营DSP厂商的典型代表。其AVP32F335完全对标TI的TMS320F28335,高达150MHz的主频,32位浮点,拥有12/16位模数转换器(ADC)。
毂梁微:由陈书明教授弟子万江华博士牵头成立,团队从事国产芯片研发20余年,是国内研发最早、实力最顶级的DSP研发团队。其LS-T35产品已成功研发,正向兼容TI的同类产品,且算力和能效都得到了大幅提升。
中科昊芯:耐威科技参股子公司,主要从事国产安全可控DSP芯片、RISC-V处理器的研发设计,2019年7月Haawking-DSP1.0流片成功,2019年8月具有自主知识产权的高性能RISC-V处理器核研发成功。
(3)另一类DSP参与者:IP供应商
随着消费电子、便携设备等产品的发展,集成电路设计步入SoC时代,单颗芯片可集成 IP 数量增多,为更多IP在SoC中实现可复用提供新的空间,从而推动半导体IP市场进一步发展。目前IP的供应格局基本形成,既有传统国外巨头如图像处理领域的imagination、处理器领域的ARM、DSP领域的CEVA以及三大EDA厂商,也有国内兴起的玩家如芯原股份、NPU领域的寒武纪等。
嵌入式DSP IP和可编程DSP IP领域的快速发展是半导体IP行业及其细分领域的最新热点之一。在过去的5年中,高级嵌入式DSP、复杂的可编程DSP已引起DSP行业的主要参与者的广泛关注。在DSP领域中,主要的IP供应商有Synopsys、Cadence、CEVA、芯原。其中CEVA排名全球第一,芯原DSP IP的市场占有率排名世界前三。
CEVA是面向手机、便携设备和消费电子的DSP IP的领先供应商。CEVA 的IP组合非常丰富,尤其擅长DSP。如今,全球已交付的手机产品中,超过40%都采用了CEVA DSP内核。
芯原股份作为中国大陆排名第一、全球排名第七的半导体IP授权服务提供商,拥有五类处理器IP和1400多个数模混合IP和射频IP,DSP IP、GPU IP(含ISP)的市场占有率均排名世界前三。但这个排名并不能说明太多问题,原因在于芯原股份在2019年实现营收0.70亿美元,市占率仅有1.8%,这也可以看出DSP的IP供应市场大多被国外巨头占领。
难点、困境与希望之光
DSP的研发是一个系统性的工程,它的设计难点主要体现在以下几个方面。首先,DSP的设计需要一个顶尖的架构师,这类人才在国内屈指可数,优秀的架构决定了整体的性能;其次要懂得各类处理器的设计,了解指令集和物理结构,具备ADC、电源管理、PLL等核心模块的设计经验,但由于ADC等高端芯片又是国内所缺失的,成为DSP研发的难点。设计者只有懂得底层原理,才有创新的可能;第三,有完善的设计工具、产品的开发工具,目前不管是前端还是后端都依赖于三大EDA厂家的工具,而产品开发工具如编译器、连接器等,国产DSP厂商缺乏研发能力,做出来的产品成熟度低、功能性差;最后,还需要有成功量产的经验,熟悉晶圆厂的工艺,在芯片发现问题后,了解修改的原则和方向。
通过市场部分的介绍不难看出,当TI、ADI已经有数百款DSP时,国内厂商尚还在为研发一款国外数十年前便发布的产品而努力,这个差距非常之大。产品结构单一、应用场景局限、技术体系简单、生态极度贫瘠是当前国内DSP芯片领域的痛苦现状。由于起步晚、研发弱、积累薄、生态差,目前基本上只能照着TI的某款产品去做,即便芯片出来后也只能先使用TI的工具链开发。研究所穷尽数十年之力,目前也只做出了屈指可数的几个产品,产品体系非常单一;资本界的明星企业,目前也只能在单个产品上取得一定的话语权。真正做到自主、独立、可控,还有非常漫长的路要走。
当然,国内这些年还是取得了一些突破,像毂梁微等公司的产品正向兼容TI同款,并在功耗、速度等性能指标上都有了较大提升;像进芯电子作为国内民用DSP领域第一家,已经在多家客户中进行了测试,积累宝贵的工程经验。虽然这两家民营公司的产品结构单一,但至少有了“单点突破”的机会。随着飞腾等国产处理器取得突破,代表着处理器研发能力的提升,这对于DSP的发展是利好。
目前,国内DSP厂家根本无法直接与TI竞争,只能先求生存再图发展。要想在DSP领域取得突破,需要体制的力量。首先是下游的支持,下游厂家要对DSP芯片厂商保持耐心和信心,给予产品测试的机会,和DSP芯片厂商一起承担试错成本,一起建立国产生态。其次是资本的助力和耐心,DSP虽然不会用到顶尖的工艺,但和其他芯片产品一样,产品研发投入大、研发周期较长,资金支持是长足发展的基础。第三是先从体制内进行市场突破,DSP的一大应用是在军工领域,军工领域的应用是国产DSP芯片厂商获得生存机会的关键场景,军工不宜只给研究所机会,也要向民营公司敞开大门。第四是更多的研发成果走出学校和研究所,走向市场,完善IP授权的机制。
可见的趋势
整个DSP届呈现出如下的大趋势:
(1)DSP独特的硬件架构使得其在数字信号处理方面有巨大的优势;
(2)相比MCU、FPGA,它拥有自己独特的应用价值和地位,不会消失;
(3)从世界领先公司的产品结构来看,DSP的应用场景非常丰富,巨头们已经形成了更集成、更多核、以及更多新架构的产品,同时出现了DSP与ARM、DSP与FPGA的集成SOC;
(4)芯片SOC化加速了DSP IP的发展,提升计算性能、综合各类处理器的优势,是已经在发生的技术趋势,未来这些趋势仍将持续。
国产化DSP的发展呈现出如下小趋势:第一种以毂梁微为代表的,依托多年的IP积累,以超算指令字架构对标研发TI同款,实现原位替代;第二种以中科昊芯这种,结合开源的架构和IP做研发,开拓新的应用场景;第三种,以芯原为代表的IP供应商,以DSP的IP研发去夯实技术地基。
本文部分参考了部分网络文章,如“FPGA与DSP有哪些区别、特点及用途?”、“计算机指令集架构”、“DSP与ARM存储器架构和指令集有哪些差异”、“定点DSP与浮点DSP的比较”等,在此一并表示感谢。