账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
加速蓝芽产品开发与整合的新方法
共通平台、高层次抽象技术

【作者: 誠君】2002年07月05日 星期五

浏览人次:【10031】

在Ericsson、Nokia等电信龙头的大力鼓吹下,蓝芽技术已经成为PC开发商、行动电话制造商及许多消费性产品制造商一致看好的热门技术,这也促使许多新款的蓝芽应用模组和晶片组的不断推出。虽然,系统整合和晶片设计厂商纷纷投入蓝芽技术的应用开发,但是,要完全实现蓝芽技术,使蓝芽应用产品真正商品化,还有很多问题有待克服,这包括以SoC设计的矽智权(IP)模组的开发与整合、不同厂牌的互通性、单价和成本。这些问题需要以系统化的方法来解决,目前国外厂商们的作法是以相同的平台进行蓝芽技术的设计与整合(platform-b​​ased designs),并且,使用不同的模拟技术来加速各种整合工作,这能有效解决蓝芽产品商品化的问题。


传统方法的缺失

在SoC的时代里,要将蓝芽技术推向成功,系统设计商和晶片设计商之间必须要有效地完成矽智权的交换及交易。藉由采用相同平台的设计和更高层次的抽象(higher levels of abstraction)技术,可以解决蓝芽矽智权交换的问题。不过,国外这种技术合作开发的新观念,是否能被国内厂商们所接受而普及,仍然有待观察。


在传统的蓝芽产品开发过程中,晶片设计商提供不同的内核(core)能力、系统整合商使用不同的开发工具,这使得不同厂牌的蓝芽产品不能互通。这个问题可能会妨碍整个晶片的设计过程,进而影响最终系统的开发。值得庆幸的是,现在已经有了新的设计模型和抽象方法可以解决这个问题,并使系统整合厂商能够更快地将蓝芽产品上市。



《图一 蓝芽通讯协议堆栈》
《图一 蓝芽通讯协议堆栈》

蓝芽通讯协定技术

蓝芽技术是一种短距离的无线传输技术,其目的是取代传统的实体电缆。蓝芽工作在2.4GHz频段,它应用了跳频扩谱(FHSS)技术,每发送或接收完一个数据封包后,就在不同通道之间跳转,从而避免信号干扰。


图一所示为蓝芽通讯协定堆叠。蓝芽无线电模组,即蓝芽规范所定义的最底层,定义了工作在2.4GHz频段的蓝芽收发器的需求。藉由在79个间隔为1MHz的频率之间跳转完成扩频,典型的起始频率为2.403GHz。就最终产品(end product)而言,这些RF元件或RF模组可能是系统整合商的核心技术,设计时需要类比模拟工具来模拟连续时间之效应。


在蓝芽通讯协定的实体层(PHY)上,基频信号是在RF载波上调变的资讯,它负责实体通道、链接、纠错、为降低直流偏压(DC bias)的乱码处理(data whitening /scrambler)、跳频选择以及蓝芽安全等,如图二。实现这项功能所需要的演算法(可由专业的协力开发商授权使用)通常采用数据流(data flow/bit stream flow)描述来进行建模(modeling)和模拟。简述基频数据流的建立过程如下:


添加封包頭除錯碼(HEC)-亂碼處理(scrambling/ whitening)- 前向除錯編碼(FEC encoding)-與經亂碼處理過的數據"* 封包头(Header): 产生封包头- 添加封包头除错码(HEC)-乱码处理(scrambling/ whitening)- 前向除错编码(FEC encoding)-与经乱码处理过的数据内容(scrambled payload)组合。


[添加數據內容除錯碼(CRC)] - [加密(Encryption)] -亂碼處理- [前向除錯編碼] - 插入封包頭"* 数据内容(Payload): 插入数据内容- [添加数据内容除错码(CRC)] - [加密(Encryption)] -乱码处理- [前向除错编码] - 插入封包头


* 上述中括弧[ ]内的步骤,是依据封包或链路(link)类型的不同来决定是否要执行。


* 在封包头和数据内容里都需要经过乱码处理,而且是先处理封包头,再处理数据内容,位元是以串列方式进入乱码处理器,乱码处理器只需在开始时,启动一次就可以。


在蓝芽技术中,链路的建立、验证、设定及其它通讯协定都是经由链路管理器(Link Manager;LM)处理,链路管理器是藉由链接管理通讯协定(LMP)与其它蓝芽装置的链路管理器进行通讯。链路管理器利用底层的链路控制器(LC)所支援的服务内容,使它成为服务供应者的角色。逻辑链路控制与适配通讯协定(L2CAP)位于基频通讯协定之上,它允许更高层的通讯协定和应用程式能接收和发送最大为64​​KB的数据封包。另一个通讯协定RFCOMM能在L2CAP之上模拟串列埠(serial port)。


使用规范描述语言(Specification Description Language;SDL)工具,来开发蓝芽通讯协定软体的协力厂商会授权给系统整合商使用。而蓝芽晶片设计商可使用有限状态机(Finite State Machine;FSM)来描述基频的控制逻辑。这些模组功能必须与应用软体密切组合,才能完整地实现最终产品的核心功能。


蓝芽通讯协定中还融合了一个服务发现通讯协定(SDP),该通讯协定能使应用程式了解附近的蓝芽设备中可提供哪些服务项目,它还可以更详细地了解这些可使用的服务项目的特性。另一个重要的通讯协定是主控制器介面(HCI),该介面为L2CACP提供了一个与基频控制器和链路管理器沟通的命令介面,并可撷取硬体状态暂存器和控制暂存器之内容。


《图二 蓝芽基频内部架构》
《图二 蓝芽基频内部架构》

需要三种不同的模拟技术

尽管蓝芽通讯协定堆叠比较小,但系统和晶片设计团队仍然要处理三种不同的建模和模拟技术。为了将这些建模和模拟技术和越来越复杂的蓝芽SoC设计结合在一起,设计团队需要采用更先进的设计方法。这些方法包括:在相同平台中设计和整合、采用更高层次的抽象,以及不同模拟技术的异质整合。下面首先介绍于相同平台上设计的优势。


如今,随着设计的复杂度增加与上市时间的压力增大,从无到有地完成每一个设计工作是不可能的。由于设计模组中的每个改变都需要进行完整的重新验证,因此,纵然是可合成(synthesizable)的设计模组也很难重复使用,因为连它都可能被修改。于是,国外的系统和SoC设计团队现在采用「设计模组再使用(design block reuse)」技术,对「再使用模组(reused block)」不做修改。该方法参考自印刷电路板(PCB)的设计。这就产生了基于相同平台的设计技术,这种技术在产品开发过程中,一直维持平台的基本架构不变,这就好像硬体设计团队不会一直更换他们的主机板一样。


基于相同平台的设计方法的主要问题之一就是难以实现差异化。由于使用通用的SoC平台,系统和晶片设计商可能开发出与竞争对手几乎一样的蓝芽产品。在相同的平台上设计时,产品的差异性可以藉由两种方法来实现:即藉由软体实现产品差异化和使用标准介面从平台程式库(platform library)中增加硬体元件来实现差异化设计。这类似目前的PC硬体设计商大都在微软的视窗作业系统中,开发出各自的硬体产品一样。


基于平台的设计方法改变了各个设计团队在设计供应链中的互动方式,甚至可以让不同类型的公司互动起来。在半导体整合平台中,最著名的有TI公司针对无线电应用提供的开放式多媒体应用平台(Open Multimedia Application Platform;OMAP)、飞利浦半导体公司的Nexperia平台和Tality的蓝芽平台。各公司可以从标准的平台系统开始,藉由使用软体或更换平台架构中的模组来增加其独特的功能,以实现差异化的设计。利用系统级(system-level)工具,系统设计商和晶片设计商之间的互动就可以提早进行,这是在暂存器传输层(RTL)和嵌入软体采购签约之前。如果在这互动期间,规格有所异动,必须重新更改工程设计(Engineer Change;EC)时,因为晶片和嵌入软体的详细架构都尚未决定,因此并不会造成严重的困扰。


在这个过程中,抽象的作用越来越重要,半导体公司再也不能仅仅提供平台的实现模型,系统整合商现在还需要抽象的系统平台模型,俾使在早期就能对系统功能之取舍做评估和对其它设计因素做考量。此外,半导体商(silicon provider)还向软体开发商提供一个平台规范以及相对应的应用程​​式介面(API),以便软体开发商设定和修改平台。


在一个典型的相同平台的设计方法中,设计团队可能至少会采用三种不同的模拟类型。无线信号可能会在模拟类比连续时间数据的环境中进行分析;数据流模拟器也会用来分析蓝芽的基频信号;最后,离散事件(discrete event)模拟器将会用来评估图一中所示的蓝芽通讯协定。这牵涉到三种不同的时序模拟,不同于以往的是:以前所使用的不同技术之间的简单型协同模拟(co-simulation)已经不实用了,因为上述所提的三种不同的模拟器之时间基准(time base)是完全不同的,而且要同时模拟整个系统,必须花费很多时间或记忆体数量。


综合上所述,可以整理出一个结果:在蓝芽设计中会有三个挑战:


A. 无线电模组和基频解码器之间的相互作用;


B. 基频模组与通讯协定之间,以控制主导功能的介面;


C. 软硬体之间的组合以及系统开发商(system house)与SoC供应商之间的互动。



《图三 Cadence的SPW采用了K模型》
《图三 Cadence的SPW采用了K模型》

类比抽象

无线接收器RF前端中的混合信号射频电路一般位于天线和DSP之间。在这个电路中,包含能产生噪音的非线性类比元件,如低噪音放大器(LNA)、混频器和振荡器等。 RF模组从类比RF载波上萃取出数位信号数据,类​​比元件的噪音使基频信号产生失真。典型的设计困难在于根据类比电路架构,对一个特定的通道接收器组合进行误码率(BER)估计。若仍然使用具有数据流模拟功能的Spice或与之同类型的类比数据协同模拟器,由于其模拟时间太长,实务上并不可行。


不过,K模型(Kalman filter model)能解决这个难题。 K模型在无线接收器中有着广泛的应用,它是类比电路的离散时间行为模型,它能显示出由RF接收器引起的线性和非线性的基频信号失真,并可应用于以C++设计数据流演算法的系统级模拟上。大多数通道的变化范围很大,在做数据流模拟时,K模型萃取了类比电路的特性,其所产出的行为模型代表了速度与准确度的实用折衷。 K模型与以C++设计的模型一起执行时,它们并不需要使用类比模拟器。这个完美的结合,在连续时间类比模拟和DSP中使用的数据流模拟之间,提供了一个高效率的介面。因此,RF的类比特性可以藉由K模型将之数位化,此数位化模型可以成为基频的RF模拟信号,基频设计商从此就可以摆脱RF类比电路的噩梦了。


图三显示了如何使用「抽象」来实现这一结合。 K模型从模拟电晶体模式开始,到模拟非线性RF电路。它以输入信号的几个确定的振幅值,求得频率传递函数,借以决定K模型的特性。为了使K模型能准确地代表类比效应,设计团队应该在类比域(频域)作一次瞬态分析,并将此分析结果与从数据流模拟器中所得到的数据流模拟结果进行比较。描述特征和比对验证之后,K模型就可代表接收器,应用在以C++设计的数据流模拟模型中。基频信号解码后,送到控制系统模组,这个模组决定进一步的处理需求,如语音处理、视频处理或简单的数据储存。控制模型可以用离散事件计算模型进行有效模拟,在模拟过程中,只要有任何一个有效输入,就执行这些模型。


相比之下,数据流模型只有当全部输入都有效时才执行。由于模组的执行次序可以预先确定,因此数据流模拟要比离散事件模拟快很多。图四是一个蓝芽产品的模拟系统架构图。图中显示了一个发送器和接收器路径,两个基频控制器与来自数据流模拟器的输入模组连接。 LC和HCI是以C和C++设计的模型,驱动此模拟系统的测试平台(testbench)也是以C和C++设计。根据「开放式模型介面标准(OMI,IEEE 1499)」,在EDA厂商提供的几种系统级设计模组整合工具之间,存在着数据流与控制块的相互链接。


在输入到OMI封装模型时,一定要产生必要的逻辑,以便在离散事件环境下执行输入的数据流模型。为了实现这一目的,要自动插入了一个触发器模组,以便在模拟中,若发生所有输入皆为有效时,能即刻将触发器模组启动。这使得通讯协定软体在软硬体联合设计环境下,进行整合和评估成为可能。


图四也描述了蓝芽系统的功能整合,其中通讯协定模组和基频控制器实现电子设备的蓝芽功能​​。功能整合的目的是评估不同系统模组之间的互相作用情形。在图四中,数据流基频模组执行某些编解码任务,功能模拟与通讯协定模组被设计为纯C/C++模型,使用离散事件模拟可以事先发现控制与数据流方面的难题(deadlock )和链接问题。设计团队应该注意的是,基频控制器与通讯协定模组之间的通道并不是使用K模型。尽管理论上是可行的,但是考虑到总体模拟所需的冗长时间以及过长的通讯协定序列,这种模型将会很慢,因此,实务上并不可行。



《图四 蓝芽产品的仿真系统》
《图四 蓝芽产品的仿真系统》

取舍(trade-off)分析

在SoC设计中,硬体和软体的关系越来越紧密,尤其是以相同平台来设计时更是如此。其实际产品的差异性,通常都是使用软体来实现的。现在,国外已经有硬体/软体联合验证等标准方法,可以用来解决硬体/软体介面之间的验证细节问题。然而,在作为架构的取舍分析工具时,其适用性受到了指令集模拟(Instruction Set Simulation;ISS)之模拟速度的限制,指令集模拟是使用慢速的硬体描述语言(slow HDL)或C++模组一起模拟的,这将导致同样慢的模拟速度。而且,所有的模组必须在这些工具能够使用之前就要完成。这两个因素使得藉由这些技术来链接半导体设计和系统设计成为不可行。解决这个问题的一种方法是:有效率地使用「抽象」技巧。软体和硬体的实现都可利用许多种不同的描述和实现技术来完成,其中大多数技术允许用户从抽象的和无时序(untimed)的初始模型开始,在设计流程中逐渐进行改进和细化,直到设计者最后实现它。


在软体方面,设计团队可以选择属于特定应用领域的工具和使用特定模拟规范。在硬体方面,设计团队可以从建立HDL行为模型和使用一般C/C++描述的抽象层级(abstract level)开始工作。在软硬体两方面,上述工具允许在无时序的抽象层级建立模型,有些还提供直接的实现途径。不过,只是在少数情况下,自动产生的程式码才接近于生产用的程式码。大多数情况下,设计团队需要手动实现RTL和软体设计,只使用抽象模型来对系统的某些方面进行分析。例如,对一个解码器的不同演算法的选择评估。但也有极少数例外,例如:允许DSP演算法以微架构(micro-architecture)的图形来表示,并以输入这种图形来实现DSP演算法。而且它能和HDL整合,输出给Verilog、VHDL和测试工具,可在不同抽象层级之间重覆使用。


除了晶片设计团队会遇到上述的问题外,系统整合时会遇到的问题也一样难缠。在RTL和软体的实现层级(implementation level)上,进行取舍评估是不实际的,因为模拟速度有限,只能考虑几种替代方案而已。不过,现在有一些新的开发环境能让SoC设计团队可以使用模型对实现方案的性能进行「抽象」。这种方法允许蓝芽SoC设计团队在系统层级上持续做功能描述,而与未来的实现细节无关,并藉由改变性能模型,快速尝试不同的选择。


基于相同平台的先进设计方法,是以异质架构的方式对功能进行描述和模拟。虽然功能定义通常是蓝芽系统设计团队的责任,但是SoC设计团队可以在实现阶段之前,使用CPU、DSP、汇流排、即时作业系统(RTOS)、记忆体和实现专用硬体/软体的抽象模型来提供系统架构。


架构模型代表了抽象的性能模型。功能和架构之间的映射,定义了哪些架构的资源是供给计算和通讯使用的。性能模拟模型可由HDL、SDL、C/C++三种描述语言来建立,因此,能提早在实现阶段以前,就可以进行高效率的取舍模拟了,而不用像现在必须等到实现阶段,才能使用代表实现方法的性能模型对性能做特征描述或评估。


开发资讯的交流

要注意的是,在一适当高的抽象层级和同一开发环境内,必须为设计工作提供功能攫取(capture)、架构攫取以及映射(mapping),这是很重要的。这为蓝芽系统设计商和SoC半导体供应商之间,建立了相互交流的新途径。更重要的是,他们在保持紧密合作的同时,双方都还能专注于各自的核心技术开发工作,而不会像现在的系统整合商必须独自扛起所有的负担。


上述设计流程(design flow),提供了在早期就能进行系统性能评估的能力。它还在SoC设计链(design chain)中,提供了一个高效率的连接点(hand-off point)。同时,功能和架构描述定义了抽象的系统平台。蓝芽系统设计者可以改变映射、增加功能,并在产品最后实现之前,在「功能-架构」设计之工程领域(function- architecture design space)中,有效地进行研发。功能的定义与实现的方法是不相关的,其内容可以清楚地告诉蓝芽SoC开发商,并进行架构的选择评估。


在使用性能模拟完成了功能设计研究,并决定出一组最佳的功能/架构方案之后,最重要的就是直接向实现层级的工具组(implementation-level tools)输出这一资讯。这些工具组包括:硬体/软体协​​同验证工具、编译器(compiler)以及硬体合成(synthesis)工具。


结语

在相同平台上设计的方法,也支援矽智权不需修改地重复使用。因此,蓝芽系统设计商与蓝芽晶片设计商之间的设计输出,必须能够在硬体与软体、软体与硬体以及在硬体领域和软体领域内,自动建立通讯路径。也必须有一种「功能-架构」协同设计的方法以及一个工具环境,来提供从抽象系统层级(abstract system level)(作为功能设计研究之用)到实现层级的途径。这将促使硬体和软体能从系统层级向实现层级输出,以及建立通讯合成(communication synthesis),通讯合成是指在每个设计模组(design blocks)之间建立通讯的意思。


以前的蓝芽开发商都是孤军奋战,未来的蓝芽开发商势必要协同作战。不过,厂方们各自拥有的开发资源和资讯是否能够充分公开交流、共享,以及业界之间的资讯或矽智权交流的规范制度是否能够建立起来,将是蓝芽产品能否快速开发的关键。


相关文章
轻松有趣地提高安全性:SoC元件协助人们保持健康
仿真和原型难度遽增 Xilinx催生世界最大FPGA
SmartBond元件增加蓝牙网状网路支援能力
我们能否为异质整合而感谢亚里士多德?
关注次世代嵌入式记忆体技术的时候到了
comments powered by Disqus
相关讨论
  相关新闻
» 调研:2027年超过七成笔电将是AI PC 并具备生成式AI功能
» 新唐科技MA35D0 微处理器系列适用於工业边缘设备
» SIG:2028年蓝牙装置年度总出货量将达到75亿台
» 罗姆旗下SiCrystal与意法半导体扩大SiC晶圆供货协议
» 美光针对用户端和资料中心等市场 推出232层QLC NAND


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK852BVYQLCSTACUKM
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw