技术资讯
ANSYS携手台积电加速实现汽车可靠性解决方案
2018-10-26
? 2018年10月3日,TSMC和ANSYS的客户现在能够通过《汽车可靠性解决方案指南2.0》加速制造汽车设计特性,该指南包含了一系列经过实践检验的工作流程,能帮助客户基于台积电的7nm FinFET(N7)工艺技术研发知识产权(IP)、芯片和封装。扩展版指南基于台积电和ANSYS在ANSYS? RedHawk?、ANSYS? RedHawk-CTA?、ANSYS? Totem?和ANSYS? Pathfinder-Static?等可靠性解决方案领域的合作,能帮助客户针对新一代智能汽车研发更高效、更高鲁棒性的芯片。 ? ? ? ??可靠性对于高级辅助驾驶系统、信息娱乐控制和自动驾驶等领域的尖端汽车平台至关重要。扩展版指南整合了丰富的可靠性功能,支持双方共同的客户利用台积电的N7工艺技术来研发面向汽车应用的IP、芯片和封装。该指南整合了电迁移(EM)和热可靠性工作流程,支持自加热和芯片封装热协同分析和静电放电等功能。此外,它还包括新的统计电迁移预算(SEB)工作流程。 ? ? ? ??SEB能帮助芯片设计人员满足严格的安全性和可靠性要求,优先进行最重要的EM修改,从而完成签核,同时避免过度设计,以降低成本,提高性能,并实现更高的产品可靠性。RedHawk和Totem得到台积电最新FinFET工艺的SEB建模技术支持。 ? ? ? ??台积电设计基础设施市场营销部门的高级总监Suk Lee指出:“采用台积电N7工艺技术设计面向汽车应用的IP和片上系统(SoC),这不仅能提高集成度、功能和工作速度,同时必须满足功能安全性和可靠性的严格要求。《汽车可靠性解决方案指南2.0》能够帮助客户满足可靠性目标,以更大的信心加速向市场交付产品。” ? ? ? ??ANSYS半导体事业部总经理John Lee指出:“新一代汽车系统的安全性和可靠性标准日益严苛,亟需一款能够提供综合多物理场功能的仿真平台,其能够在芯片、封装和系统范围内同时求解热效应、可靠性、供电时序和性能问题。《汽车可靠性解决方案指南2.0》中列出的可靠性工作流程支持双方共同的客户加速研发IP、SoC和封装,以满足更高的可靠性和安全性要求,同时避免过度设计。” 《汽车可靠性解决方案指南2.0》中的工作流程基于以下ANSYS产品: ? ? ? ??·?ANSYS RedHawk:业界首选的SoC电源完整性和可靠性签核解决方案。RedHawk拥有大量成功的芯片设计记录,能帮助用户创建高性能SoC,确保电源效率和针对热、EM及静电放电(ESD)问题的可靠性,充分满足移动、通信、高性能计算、汽车和物联网等市场应用的需求。 ? ? ? ??·?ANSYS RedHawk-CTA:?作为集成型芯片–封装协同分析和协同可视化解决方案,RedHawk-CTA能帮助工程师求解电源/热收敛回路,进而准确模拟芯片和封装的热行为。此外,它还能创建专有的芯片热模型,用于捕获芯片中的电源和电流与温度和层级金属密度之间的函数关系,从而进行准确的系统级仿真。? ? ? ? ??·?ANSYS Totem:晶体管级电源完整性和可靠性签核解决方案,可满足全定制/模拟和混合信号设计的要求。除了静态IR和动态压降分析之外,Totem还能包括衬底网络以及封装和电路板模型,从而满足芯片-封装-系统协同分析的要求。此外,Totem还能针对模拟、混合信号设计进行热感知电源和信号线电迁移分析。 · ?? ? ? ??ANSYS PathFinder:ANSYS PathFinder能帮助用户规划、确认和签核IP及全芯片SoC设计,满足针对ESD问题的完整性和鲁棒性要求。在布局和电路级执行的分析有助于从带电器件模型、人体模型或其他ESD事件中找出并隔离可能导致芯片或IP失效的设计问题。 关于亿道电子 ? ? ? ??亿道电子是国内全面的开发工具提供商, 致力于将全球先进的软件产品引荐给国内研发型企业使用,为企业提供研发、设计、管理过程中使用的各种软件工具,并致力于和客户一同提高研发、设计效率,缩短设计周期。亿道电子先后与ARM、Altium、Ansys、QT、TestPlant、CollabNet、Parasoft以及TouchGFX等多家全球知名公司建立战略合作伙伴关系,并成为他们在中国区的重要分销合作伙伴。 ? ? ? ? ??亿道电子专注开发、设计、管理工具数十年,客户超过6000家,具有丰富的工具使用及客户支持经验积累,可以为客户提供从ARM开发、EDA板级设计、软件编译及测试工具、结构设计工具、多物理场仿真工具以及嵌入式GUI工具等产品与服务。亿道电子在北京、上海、深圳设有分公司,业务遍布全国。
查看更多→
Arm全新CryptoCell安全IP缩短上市时间,支持中国国密标准
2018-10-26
 Arm宣布推出CryptoCell-713和CryptoCell-703,提供高性能、高能效的平台安全功能,帮助Arm合作伙伴开发更具安全性的解决方案,并缩短上市时间。         在过去几年中,安全性已成为Arm合作伙伴及其客户共同面临的一个突出问题。然而,OEM厂商、芯片供应商(SiP)和开发人员至今仍面临诸多挑战。例如,在针对移动及其他设备开发安全解决方案时,便需要解决可信执行环境(TEE)等方面的问题。         这些挑战包括:我们每天使用设备的资产价值日益增加(例如优质内容和机器学习(ML)/人工智能(AI)算法);中国市场复杂的监管要求;以及由于安全功能需要与现有IP集成而造成的上市时间延迟。除了合作伙伴面临的这些挑战之外,根据Arm更新安全宣言(Security Manifesto)中即将公布的调查结果,安全行业专家认为,近半数消费者“普遍意识不到”他们所使用产品的安全性,也显示出消费者教育面临的挑战。         为应对这些挑战,Arm公布针对高性能系统的迄今为止最全面的CryptoCell安全IP。 CryptoCell-713专注于多种应用场景,新IP提供出色的安全性,适用于广泛的安全威胁、设备和市场,包括移动设备、数字电视、机顶盒(STB)和中国市场。该系列产品提供了一整套组件,包括硬件、固件和软件适配层和工具,以及用于硬件和固件的简单易用的集成包。                 除CryptoCell-713之外,针对当前市场缺失但至关重要的国密功能,Arm还宣布推出CryptoCell-703,为希望通过国密功能扩展其现有安全解决方案的合作伙伴带来福音。         专为中国市场设计的高性能和稳健性         CryptoCell-713和CryptoCell-703为需要国密功能(SM2 / 3/4)的日常应用场景(如内容保护和银行业务)提供高性能、高能效的安全功能,如内容保护和银行交易。这两款产品均符合所有配置文件的中国DRM认证要求,包括增强内容保护要求。为应对未来的需求,Arm提供符合GM / T 0028 – 214标准的国密实现 (相当于国际通用的美国安全标准FIPS 140 - 2 )。此外,CryptoCell-713可通过FIPS 140-2认证,类似于近期的CryptoCell-712认证。通过使用CryptoCell-703,Arm的合作伙伴可在不放弃现有安全设计的情况下为中国市场打造产品。 适用于各种设备和业务领域的灵活IP         CryptoCell-713为各种设备提供高性能、强大的平台安全性,尤其是移动设备、数字电视和机顶盒。CryptoCell-713和CrytpoCell-703皆可通过增强功能来减轻侧信道攻击,使用户获得更优质的内容消费体验。新一代产品稳健性的提升得益于全新的配置基础设施(作为工具、硬件根信任和设备内嵌固件交付),使得向设备安全存储进行的资产交付可完全与制造流程隔离。 加快上市速度         SiP和开发人员面临的一大痛点,即是将安全功能集成到其系统中往往耗时巨大。对于日益复杂且由众多不同子系统组成的移动设备、数字电视和机顶盒 SoC(系统级芯片)来说,这一点尤为重要。Arm对CryptoCell与Arm IP的预集成进行了投入,包括推出TF-A和Mali Multimedia套件,这些集成大大缩短了SiP和开发人员的上市时间。具体而言,在可能“长达一天”的内容消费场景中,此预集成带来的一个重要变化是,合作伙伴可以通过使用CryptoCell(而不是使用软件加密)有效地获取有价值的信息。         同时,除了全面的安全IP产品之外,Arm还延续其赋能合作伙伴的传统,提供对Trusted firmware-A(TF-A)的使用。TF-A能够提供可信启动过程和其他有价值软件的部署。此外,在未来几周内,Arm计划通过为移动设备、数字电视和机顶盒等设备公开公司可信基础系统架构(Trusted Base System Architecture (TBSA) )规范,从而使整个生态系统更容易提高安全性。该文档介绍了支持符合关键行业安全标准可信服务的SoC架构。除可满足FIPS和中国标准认证外,这些产品都能够节省数十年的软件开发。 启用机器学习功能         随着人工智能和机器学习在移动设备的安全功能(如面部识别和语音识别)中起到越来越重要的作用。拥有能够支持这些技术的安全解决方案也日益重要。当机器学习开发人员将其机器学习模型部署到移动设备时,他们可能无法控制其访问或使用方式,造成存储在移动设备上的数据可能无法受到保护,从而会面临安全性挑战。为应对这类挑战,CryptoCell-713支持使用软件图像加密的完整框架,该框架是基于安全配置的硬件绑定密钥构建。 解决各种安全挑战的IP         总之,CryptoCell-713和CryptoCell-703彻底解决了OEM厂商、SIP、开发人员和其他合作伙伴在开发安全解决方案时所面临的各种难题。两款产品都能够在挑战重重的中国市场提供高性能安全功能,确保移动设备上运行的日常使用情景符合监管要求。CryptoCell-713可在一系列连接设备上提供高性能安全性。这些设备为用户提供内容,同时需要强大的安全解决方案。通过提供集成的安全解决方案,其中包括现有的Arm IP,帮助缩短SiP的上市时间。同时,CryptoCell-703为已经拥有有效安全解决方案的合作伙伴提供国密功能。总体而言,Arm最新的安全IP旨在让Arm的合作伙伴和客户更轻松,同时为各方创建一个更安全的生态系统。 关于亿道电子         亿道电子是国内全面的开发工具提供商, 致力于将全球先进的软件产品引荐给国内研发型企业使用,为企业提供研发、设计、管理过程中使用的各种软件工具,并致力于和客户一同提高研发、设计效率,缩短设计周期。亿道电子先后与arm、Altium、Ansys、QT、TestPlant、CollabNet、Parasoft以及TouchGFX等多家全球知名公司建立战略合作伙伴关系,并成为他们在中国区的重要分销合作伙伴。         亿道电子专注开发、设计、管理工具数十年,客户超过6000家,具有丰富的工具使用及客户支持经验积累,可以为客户提供从arm开发、EDA板级设计、软件编译及测试工具、结构设计工具、多物理场仿真工具以及嵌入式GUI工具等产品与服务。亿道电子在北京、上海、深圳设有分公司,业务遍布全国。
查看更多→
常见的ARM编译器——ARM SDT
2018-06-29
大家对于编译器这一方面可能都不是很了解,今天就带大家看看常见的常见ARM编译器。ADS是ARM公司的集成开发环境软件,他的功能非常强大。他的前身是SDT,SDT是ARM公司几年前的开发环境软件,目前SDT早已经不再升级。      ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等,目前世界上约有四十多家公司提供以上不同类别的产品。     用户选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境(IDE)一般来说是必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。     使用集成开发环境开发基于ARM的应用软件,包括编辑、编译、汇编、链接等工作全部在PC机上即可完成,调试工作则需要配合其他的模块或产品方可完成。     ARM SDT的英文全称是ARM Software Development Kit,是ARM公司(为方便用户在ARM芯片上进行应用软件开发而推出的一整套集成开发工具。ARM SDT经过ARM公司逐年的维护和更新,目前的最新版本是2.5.2,但从版本2.5.1开始,ARM公司宣布推出一套新的集成开发工具ARM ADS1.0,取ARM SDT而代之,今后将不会再看到ARM SDT的新版本。ARM SDT由于价格适中,同时经过长期的推广和普及,目前拥有最广泛的ARM软件开发用户群体,也被相当多的ARM公司的第三方开发工具合作伙伴集成在自己的产品中,比如美国EPI公司的JEENI仿真器。ARM SDT(以下关于ARM SDT的描述均是以版本 2.50为对象)可在Windows95、98、NT以及Solaris2.5/2.6、HP-UX10上运行,支持最高到ARM9(含ARM9)的所有ARM处理器芯片的开发,包括StrongARM。ARM SDT包括一套完整的应用软件开发工具:*armcc ARM的C编译器,具有优化功能,兼容于ANSI C。*tcc THUMB的C编译器,同样具有优化功能,兼容于ANSI C。*armasm支持ARM和THUMB的汇编器。*armlink ARM连接器,连接一个和多个目标文件,最终生成ELF格式的可执行映像文件。*armsd ARM和THUMB的符号调试器。以上工具为命令行开发工具,均被集成在SDT的两个Windows开发工具ADW和APM中,用户无需直接使用命令行工具。*APM Application Project Manageer,ARM 工程管理器,完全图形界面,负责管理源文件,完成编辑、编译、链接并最终生成可执行映像文件等功能。
查看更多→
制作简易的编译器-从无到有
2018-06-27
 制作简单的编译器需要怎么做?怎样从无做到有?跟着我的教学走,你会觉得很简单   编译原理是计算机专业大三或者大四的必修课程之一,许多学员都会对学生提出硬性或者软性的制作简易编译器的要求。许多学生手足无措,别急,学长也是过来人,看完这个教程,保证你轻轻松松完成属于你自己的编译器。   首先第一篇教程不会涉及具体的实现。在这种大工程之前,正确的模块划分是极为重要的。这样可以让你阶段性地看到自己的成果,对于自信心是一个极大的帮助;此外,正确的模块划分有助于后期排除错误。   在此之前也介绍一下工作量。如果完全自己手撕一个编译器,其工作量可能和手撕一个CPU(用verilog)工作量差不多,大概会耗时一个月左右,不过如果只是交一个作业,完全不用全部自己完成。特别是语义分析这种工作,有大量现成的代码稍加修改就可以直接使用(当然,严格意义上来讲,所有部分都可以稍加修改直接使用)。   我们将编译器制作分为以下四个模块分块实现完成:   一、语法分析、词法分析模块(yacc、lex)   yacc、lex是linux环境下的语法生成器和词法生成器,使用非常广泛。一般情况下老师也比较鼓励学生去用yacc和lex去完成这样的实验。需要说明的是,在现存的linux操作系统中,yacc和lex已经发生了变异。我们所采用的是ubuntu环境下的bison和flex。   二、语义分析(C语言)   语义分析是在词法分析语法分析结束,生成了语法树的基础上,对语法树进行遍历,建表,查错。   三、中间代码生成(C语言)   这一部分就是在语义分析的基础上,生成三元式、四元式之类的。   四、目标代码生成(C语言)   这一步就实现了从某种语言(你制定的语言)到MIPS代码的转换。有人说我不要MIPS,我要x86的,没问题,从中间引入llvm即可   跟着我的教程走,学到哪里,编译器做到哪里;做到哪里,作业交到哪里。即使你只做了语法分析、词法分析,你也可以交一个语法生成树,就是这么简单、这么人性化。看到这里,如果符合你的要求,follow me;不符合的话,可以去看看其他的教程。
查看更多→
编译器的种类有哪些?
2018-06-25
 编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器又叫做“本地”编译器。另外,编译器也可以生成用来在其它平台上运行的目标代码,这种编译器又叫做交叉编译器。交叉编译器在生成新的硬件平台时非常有用。“源码到源码编译器”是指用一种高级语言作为输入,输出也是高级语言的编译器。例如: 自动并行化编译器经常采用一种高级语言作为输入,转换其中的代码,并用并行代码注释对它进行注释(如OpenMP)或者用语言构造进行注释(如FORTRAN的DOALL指令)。   处理器   作用是通过代入预定义等程序段将源程序补充完整。   前端   前端主要负责解析(parse)输入的源代码,由语法分析器和语意分析器协同工作。语法分析器负责把源代码中的‘单词’(Token)找出来,语意分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式,语句 ,函数等等。 例如“a = b + c;”前端语法分析器看到的是“a, =, b , +, c;”,语意分析器按定义的语法,先把他们组装成表达式“b + c”,再组装成“a = b + c”的语句。 前端还负责语义(semantic checking)的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。最终的结果常常是一个抽象的语法树(abstract syntax tree,或 AST),这样后端可以在此基础上进一步优化,处理。   后端   编译器后端主要负责分析,优化中间代码(Intermediate representation)以及生成机器代码(Code Generation)。   一般说来所有的编译器分析,优化,变型都可以分成两大类: 函数内(intraprocedural)还是函数之间(interprocedural)进行。很明显,函数间的分析,优化更准确,但需要更长的时间来完成。
查看更多→
Arm编译器
2018-06-22
 Arm RVDS4.1中的Arm编译器是唯一一个与Arm编译器联合开发的商用编译器, 专门设计用于为Arm编译器架构程序并提供最优支持。该编译译器的开发历经有20年左右,被公认为是业界标准C和C++编译器,用于生成面向向Arm、 Thumb、 Thumb-2、VP和NEON指令集的的应用程序。     Arm编译器设计用于以最佳方式执行Arm编译器生成的代码     Arm编译器支持所有Arm处理器中的新增器功能。     基于分析驱动的编译器将自动在运行时优化代码并提供信息。     Ar皿编译器支持生成 Symbian OS和 Arm Linux应用程序及库,RVDS4.1编译器与RVDS4.0相比,最佳代码大小减少了多达6%,并使最佳性能提高了10-20%。     除了Arm编译器之外,先进的NEON矢量化Arm编译器(RVDS专业版的一部分)支持从标准的的C和C++代码自动生成成 Arm NEON SITⅧD代码序列。NEON矢量化Arm编译器可使关键多媒体内核的速度提高4倍,最终使整个应用程序性能提高到2倍。     Ar皿编译器     针对成本极为敏感型设各的开发:     为进一步提高基于Arm编译器的一系列应用程序的代码密度,Arm编译器特别提供了一个可选的 microlib C库(ISO标准C运行时库的子集),该库的大小已针对微控制器成用进行了最小化。 microlib C库的运行时库代码大小締减了90%。     Cortex-M与Arm编译器结合使用时, microlib C库提供完全基于C语言的开发环境,而不必还原为汇编语言-即便对中断服务例程也是如此。这样就无需具体了解Arm编译器架构。     nichol ib C库所节省的内存空间将取决于应用程序,“ hello world”应用程序     可节省97%, Dhrystone之类的较为复杂的应用程序可节省到50%     降低 Linux应用程序开发的风险:     Arm编译器团队所创建的针对Arm架构的ABI同样可在 Arm GNU编译器中实现。这样,即可支持创建和使用可在不同开发环境间共享的库。     GNU编译译器与Arm编译器相互兼容意味着可以使用Arm编译器生成 Linux应用程序。Arm编译器能为您您的开发团队提供高质量的商用工具包可提供的卓越的支持和性能、稳定性和代码大小优势。
查看更多→
编译器是什么?
2018-06-14
 编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。编译是从源代码(通常为高级语言)到能直接被计算机   编译器或虚拟机执行的目标代码(通常为低级语言或机器语言)的翻译过程。然而,也存在从低级语言到高级语言的编译器,这类编译器中用来从由高级语言生成的低级语言代码重新生成高级语言代码的又被叫做反编译器。也有从一种高级语言生成另一种高级语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。   典型的编译器输出是由包含入口点的名字和地址, 以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的EXE,所以我们电脑上的文件都是经过编译后的文件。
查看更多→
工作中有哪些使用过的编译器?
2018-04-18
工作之中难免会用到很多的工具,,一步步走过来也算是蹒跚满志。现如今只剩下会用vim gcc了。不是其它工具不会用因为用的少了慢慢的就生疏了,习惯形成了也就不好改了。要我说用那款能编译器更好的工作,着实很为难。编程贵在思想,用什么去实现着些那便是仁者见仁智者见智了。   但是每个工具有每个工具好用之处,希望以个人之拙见来说说初学者如何选择一款适合自己的编译器。   window中的:   Turbo C   它太老了,想当年舍它其谁,大学里都用它,老谭的c都是用它调试的,曾经多少人的回忆,不过现在已经基本不用它了,老了也该退休了。   dev-cpp          这个我个人觉得适合初学者,Dev-C++是Windows平台下的开源C++编程环境。它集成了GCC、MinGW32等众多自由软件,界面类似Visual Studio,但体积要小的多。它的缺点是难以胜任规模较大的软件项目。但我们初学者一般都调试一些初级的语法、算法。用关公大刀显然不合适,用它得心应手。   mingw studio   MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC 产生 Windows32 程序。   vc++6.0   相信大家对这个情有独钟,广泛使用的一款编译工具,window 开发必备,集合编辑,调试,运行于一体,特别时调试功能我觉得没有比他更好的了,后续版本vs2008,vs2010...(大工程适用)功能越来越强大,越来越好用。不过就是安装起来有些麻烦,可能机器环境不一样会出现各种安装错误,这些需要我们去耐心百度解决。   C++ Builder   C++ Builder是由Borland公司推出的一款可视化集成开发工具。C++ Builder具有快速的可视化开发环境:只要简单地把控件(Component)拖到窗体(Form)上,定义一下它的属性,设置一下它的外观,就可以快速地建立应用程序界面;C++ Builder内置了100多个完全封装了Windows公用特性且具有完全可扩展性(包括全面支持ActiveX控件)的可重用控件;C++ Builder具有一个专业C++开发环境所能提供的全部功能:快速、高效、灵活的编译器优化,逐步连接,CPU透视,命令行工具等。它实现了可视化的编程环境和功能强大的编程语言(C++)的完美结合。   linux中的:   gcc   貌似好像就gcc了,功能十分的强大,没有图形界面只有命令。window使用习惯了的人,适应步了这样的操作。在linux下基本都是命令加脚本构建我们的编译系统。gcc是最终干事的,但如何去干事还是需要脚本命令工具和人共同完成的。     个人只使用TC,dev-cpp,vc++6.0,vs2008,gcc。其他几个捣鼓过但是基本上没认真使用过。window上的编译工具太多了,但是好用能用的就那几款,初学者我建议使用在window上使用dev-cpp(小,简单易上手)编写一些c/c++基础的例子,调试起来也方便。linux下基本时没有其他选择的gcc功能太强大。java学习基本上用eclipse,不知道还有比这个好用的,我觉得没有。   对于初学者来说我觉得过多的去注重编译器没有太大意义,与其把时间花在环境配置上,不如多去学习语法算法,等你明白语言本身的一些东西,会算法了。如何编译只是百度一下熟悉一下工具的事情。
查看更多→