芯片设计企业的IT支撑点

        对于一个芯片设计企业,需要怎么样的IT支撑,这看起来并不是那么重要,并不影响芯片企业是否取得成功,但真正进入这个行业,你会发现,这里还是有一些门道的。

        实际上,芯片设计企业对于IT的依赖很重,并没有想象的那么简单,我这里简单整理一下,其中的要点。

        首先,讨论支撑点前,我们先来看一下芯片设计企业的一些特殊性,行业背景:

一:行业背景

         1:芯片设计行业比较封闭,默默的发展了将近40年,相关的管理手段还比较传统,和互联网的开发环境有很大的差异。主要一个原因是,代码的安全性要求更高。因为一旦代码和设计被外部获取,可能全部知识产权都被窃取,会导致整个产品在商业上的失败(因为产品的研发周期较长,更新较慢)。所以,芯片行业的开发/工作环境会相对特殊,需要有严格的安全保障,保护代码和设计,甚至文档和计划的安全。

        2:芯片的验证和测试是一个庞大的事情,因为芯片的规模非常的大,而测试和验证/仿真需要有很高的覆盖度,因此,不论是在计算机上仿真验证,还是在板上测试,都非常的消耗资源。主要涉及功能,性能,可靠性测试和验证。硬件行业的测试更多采用的是仿真,仿真时需要高密集运算资源,一般是采用高阶的CPU,我们称之为HPC计算集群。这有点类似目前大模型训练需要的AI智算资源,只是芯片的验证需要的是高密集运算(CPU)而不是GPU资源。这些资源往往都是非常贵的,一台普通运算服务器,往往需要 20-40万,一款普通FPGA芯片的研发,可能需要50台以上的资源,也就是说,光是运算服务器可能就需要千万级的投入。

        3:硬件需要做上板测试,需要配合其它测量仪器,相应的验证板卡也有环境要求,测量仪器,如:高带宽的高速示波器价格非常贵。一般需要建专用的实验室,实验室需要严格的安全保障。

        4:需要做可靠性,老化测试以及一些专用的芯片测试,除了要开发专用的测试板,还需要使用到专用的ATE测试机台,因为价格问题,还很可能会是远程按小时租用,因为需要传送相应的测试代码,所以,也需要有相应的安全管控。

        5:出于成本考虑,如果并不是长期需要计算资源,可能还需要考虑租用或者使用第三方的云服务资源,采用混合云方案,这可能在芯片企业的开始阶段是必须的,弥补一些短时的运算需求。

        6:芯片设计会用到大量的EDA工具(当然,主要是三大厂的工具),包括模拟,数字,前后端的各种工具。由于芯片设计要匹配工艺设计厂的要求,可能还需要使用EDA工具的不同版本,所以,需要有很好的版本管理,由于软件的费用昂贵,需要有合理的License管理(不能浪费)。而EDA工具的维护,我们称为CAD管理,也是必须的。

        从上面简单列出的这些需求,可以看出,芯片设计企业,对于IT的需求远比普通软件企业要复杂。如果不能提供好的支撑,很可能会影响产品。

        讲了背景,我们再回到问题的根本,以终为始,我们需要支撑的主要目标是什么?

二:IT支撑的目标

        下面,我们来仔细看看这三个主要目标:

        首先是时间:对于芯片这种产品,时间虽然长,但往往也是最重要的,如果没有搭建合理的IT支撑,可能会让研发的资源不能及时到位,开发环境可用性不强,导致研发进度受很大影响。

        然后是质量:花多少钱,办多少事。对于芯片这种高技术含量的产品,质量问题和测试的力度息息相关,而测试的力度往往取决于可以投入的可用的资源。所以,IT建设的好坏,会影响产品的质量,比如:性能测试的力量,可靠性测试的完整度。

        最后是成本:高技术含量的芯片,比如:高工艺水准,高算力能力的芯片,可能需要更多的运算服务器来支持研发,服务器的利用度非常重要,如果光有服务器,但不能充分在7*24小时内高负菏运算,那肯定是很浪费,如果运行程序经常失败,那也不行。合理的运算资源调度,非常的重要。

       前面提到过,芯片设计最终的资产就是代码和设计,而代码的安全是企业生存的根本。所以,在提供相应支撑的时候,一定要考虑适度的安全,否则,给他人做嫁衣裳,竹篮打水。但是,安全与效率往往是相悖的,所以,如何权衡两者,做到适度,是非常有讲究的。

        我们认为这是IT支撑主要分为技术维度,信息化支撑,常规办公支撑。今天,我们会重点谈它对芯片设计企业的技术支撑。后面会再说说芯片行业的信息化支持,至于常规办公的桌面运维,就是大家都清楚的常规运维,这个就要讲了。

三:技术服务要点

        对于技术支撑,我们把重要的点拆解出来,下面的图有一定代表性,我们逐一讲解。

3.1:VDI 远程桌面

        出于安全考虑,需要将开发环境进行物理隔离,也就是我们传统讲的红区开发,红区建立的方法,一般是通过远程桌面来搭建,也就是工作的环境在服务端,所有文件都只能进不能出,操作人员通过远程登录服务器,进行工作,这样来保证数据的安全。

        所以,登录服务软件的选择很重要,但实际符合芯片设计行业的并不多。如果不想踩坑,性能最佳就是 ETX了(Exceed TuborX),芯片的版图设计,对操作的界面响应度要求高,目前看来,能稳定,低带宽满足要求,只有这一款软件。基本上是在业内首选。但价格非常的昂贵。

        我们曾经尝试过NoMachine,但确认无法达到要求。也使用过国内的产品(勉强可用,但性能和体验仍然是弱于ETX,并且也不便宜)。

        这是连接工具,另外,对于登录服务器的使用,也会有一些讲究。因登录人员众多,一些占用内存较高的应用,不建议在登录服务上直接使用,当然,你也可以通过建立较大的登录服务的集群来解决问题,但这样并不划算。登录服务不建议做复杂的操作。建议将其转移到运算服务器上。比如:一些耗内存较大的IDE工具。

3.2:HPC运算集群

        对于大规模的仿真,验证,测试,需要提供计算集群来完成,来保证计算资源能得到充分利用。集群调度需要软件支撑,一般采用的是IMB LSF集群管理(也会有一些基于开源的产品,但稳定性不好)。

        运算集群的管理方式,主要是通过队列定义。不同队列因为使用场景不同,可挂接不同的物理资源。主要考虑 CPU核,内存,磁盘I/O,网络的不同要求。

        还有,根据运算任务的时间特点。结合资源需求,进行队列的规划。

        按行业的标准,一般希望有 60%以上的资源利用率,最佳利用率是 70-85%。利用率主要考察CPU,内存,磁盘的使用。

        在业务早期,有可能服务资源较少,不太可能跑满,但随着业务成熟, 一定需要大量的运算资源。一些仿真验证的工作,也一定是7*24小时不停的跑。

        我们有时会碰到如下一些场景:

        1:IDE工具编码,如:vs-code, cline,……   高内存使用

        2:EDA工具,如:Virtuoso……  需要很高操作响应度

        3:软件的构建/编译。需要高磁盘 I/O

        4:验证,仿真,测试 需要高 CPU,高内存

        5:EDA Flow 运行。需要 高CPU,高内存

        在使用LSF定义队列和bsub提交任务时,需要注意保留使用数据作为参考,不断优化。为了保证关键任务始终可用,还需要提供优先级,需要做相应的保护设置,限制资源的使用。

3.3:CAD 管理

        包括开发环境,主要是各种EDA Tools 的安装和配置。处理各种环境变量和依赖项。

        不同版本的管理,主要通过Modules工具,License的管理可以采用标准的软件,也可以直接使用FlexLM的管理功能(因为大多EDA使用的都是Flex)。

        另外,还需要关注不同tools的 job 执行情况,做相应的优化。

3.4:存储/备份

        最头疼的可能是存储的问题。由于开发规范的原因,一些管理不规范的部门,运行的文件无法及时备份/转移和清理,会导致无谓的空间浪费。特别是NetApp这种高费用的磁盘空间,不可以无限扩容,必须要将文件转储或者清理。

        一般的处理方案:

        1:对于个人,按岗位提供固定的限制内的磁盘空间。

        2:业务运行产生磁盘消耗应该在公共空间使和,而公区空间按一定规则对数据进行保存,然后定义合理的文件转储和清理的规则,自动进行磁盘的整理。

        另外,最关键的数据一定是在机要库中(SVN,Git,SOS),一定要及时备份。对于权限,需要做合理的管理管控,按最小原则授权,并且授权要做到自动化,定期让业务负责人对权限进行审视。

3.5:网络管理

        因为安全原因,会划分,红区(开发绝密区),实验区(实验室区域),黄区(普通办公区),绿区(公网区)。需要做合理的网络规划。一般是通过路由器和防火墙来配合管理。

        对于芯片的上板测试,会存在一种情况,代码在红区,但需要不断输出位流结果到测试板。这时候,可以提供远程调试服务,达成相应的要求(有相应的软件支持,有些EDA工具本身也支持)。

        对于跨区的文件传递,用户间的共享,可提供专用文件传输工具。(如:飞弛)。

        对于有安全要求的转移,可以集成审批流程。

        对于一些特殊的数据,比如:红区的位流要自动扭转到实验室。可以使用工具对数据文件进行特征训练,然后特例放行。还是非常方便的。

3.6:安全管理

        首先,是IT运维自身的安全,一般是通过规范化流程,完全数据审计的方式来达成。另外,需要将管理权和操作权分享。

        办公电脑最好采用台式机,控制好存储读写的端口和外设。

        如果有采用协同办公软件,如果是公网的,需要看相应的软件的安全控制功能。这方面,飞书做得比较好。

        对于邮件,需要有合理的管控。

        对于互联网访问,如果可以只在绿区访问,那是最好的。绿区最好设置在专用电脑,控制内容只进不能出。如果一定要在本地电脑上网,那只能做严格的事后审计和关闭一些网站。

        办公区的打印可以做到实名和数据可审计。

        安全涉及问题很多,还是服务器的网格安全等……不再一一细讲。

3.7:CI/CD DevOps 平台

         CI/CD,DevOps一开始是纯软件行业,特别是互联网行业的说法。但其实芯片设计企业也会用到。特别是需要做EDA软件开发的企业,以及在芯片验证,生产测试的环节,实际上涉及大量的自动化/回归测试的场景,都可以搭建构建和输出平台,自动完成各种环境输出,完成自动化的验证和测试工作。当然,对于和硬件相关的测试,要做到自动化,需要做一些到电脑的数据转化工作。 

四:信息服务要点

        对于信息服务,实际上最重要的是如下几个点:

        协同办公。

        产品管理,项目管理,客户管理,

        数据整理管理,

        如何应用AI大模型为开发提效。

4.0:协同办公平台

        这个市场上的软件很多,大企业也有自研。如果采购软件,那安全可能会是一个问题,要根据实际的需求来选择。

        协同平台一般会有流程审批,有消息通道,这个可以作为重要的开发过程管理。

4.1:产品管理

        产品生命周期管理,我之前的文章提到过,有标准的IPD管理规范。

  • Charter(项目规划):启动项目的初始阶段,设定需求、目标。

  • Design(设计):进行产品设计,包括硬件和软件设计。

  • Validation(验证):产品测试和验证,确保其符合规格要求。

  • Pilot(试生产):在大规模量产前的小规模生产,测试产品的生产可行性。

  • Mass Production(量产):大规模生产阶段,产品开始进入市场。

  • In Use(使用中):产品投入使用后的监控和反馈阶段。

        过程和决策/技术评审,可以通过信息化系统来完成,因为这些过程基本都是固定的。一些工作任务结点可以定义专用的流程来控制和沉淀经验,非常重要。对于评审的模板也需要重点设计和不断优化。

4.2:项目管理

        项目管理不再多说,有很多成熟软件。芯片行业一般要求本地部署,所以,选择最多会是Jira。它的二次开发能力强,基本上是行业标准。国内有Ones,也是不错的选择,基本可以完成瀑布/敏捷的研发管理。

4.3:客户管理

        客户管理这里分为客户技术支持和客户关系管理。

        客户关系指的是开拓和维护客户,这对于市场最为重要。

        技术支持是指已有客户的维护工作,产品的需求大都来源于客户,需要做好相应的需求跟踪,并且与产品研发拉通进行管理。

4.4:二次开发平台

        一定需要有一个二次开发平台,可能是一款低代码平台,或者像飞书多维表格这样的0代码平台。可以定制一些小的需求。

4.5:AI大模型应用

        现在各行各业都需要应用AI大模型来赋能,最近爆火的DeepSeek又将开源模型的能力提升了数倍,成本大大聊低。所以,如何利用好私有大模型来为开发提效,是非常重要的,否则,可能会被同行远远落下。

好了,就先凑这么多内容了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/17081.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成对抗网络入门:Mnist手写数字生成

本文为为🔗365天深度学习训练营内部文章 原作者:K同学啊 一 理论基础 生成对抗网络(Generative Adversarial Networks,GAN)是近年来深度学习领域的一个热点方向。 GAN并不指代某一个具体的神经网络,而是指一类基于博弈思想而设计的神经网络。…

22.4、Web应用漏洞分析与防护

目录 Web应用安全概述DWASP Top 10Web应用漏洞防护 - 跨站脚本攻击XSSWeb应用漏洞防护 - SQL注入Web应用漏洞防护 - 文件上传漏洞Web应用漏洞防护 - 跨站脚本攻击XSS Web应用安全概述 技术安全漏洞,主要是因为技术处理不当而产生的安全隐患,比如SQL注入…

软件的生命周期和需求

什么是软件的生命周期? 定义(描述) --> 创建 --> 使用 --> 销毁 (这一整个过程就是事物的生命周期) 生命周期 那么软件的生命周期又分为哪些呢? 一共分为十步: 可行性研究: 通过分析软件开发要求,确定软件项目的性质、目标和规模,得出可行性研究报告,如果可行性研…

深入理解DeepSeek与企业实践(二):32B多卡推理的原理、硬件散热与性能实测

前言 在《深入理解 DeepSeek 与企业实践(一):蒸馏、部署与评测》文章中,我们详细介绍了深度模型的蒸馏、量化技术,以及 7B 模型的部署基础,通常单张 GPU 显存即可满足7B模型完整参数的运行需求。然而&…

Java 字符编码与解码:深入理解 Charset 类

目录 引言 一、什么是字符集(Charset)? 二、Charset 类的核心功能 1. 获取字符集实例 2. 编码与解码 示例1:字符串转字节数组 示例2:处理不同字符集的乱码问题 3. 字符集检测与支持 三、Charset 类的常用方法…

Redis7.0八种数据结构底层原理

导读 本文介绍redis应用数据结构与物理存储结构,共八种应用数据结构和 一. 内部数据结构 1. sds sds是redis自己设计的字符串结构有以下特点: jemalloc内存管理预分配冗余空间二进制安全(c原生使用\0作为结尾标识,所以无法直接存储\0)动态计数类型(根据字符串长度动态选择…

本地Deepseek-r1:7b模型集成到Google网页中对话

本地Deepseek-r1:7b网页对话 基于上一篇本地部署的Deepseek-r1:7b,使用黑窗口对话不方便,现在将本地模型通过插件集成到Google浏览器中 安装Google插件 在Chrome应用商店中搜索page assis 直接添加至Chrome 修改一下语言 RAG设置本地运行的模型&#…

【设计模式】【行为型模式】观察者模式(Observer)

👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 🎵 当你的天空突…

gitlab Webhook 配置jenkins时“触发远程构建 (例如,使用脚本)”报错

报错信息&#xff1a; <html> <head> <meta http-equiv"Content-Type" content"text/html;charsetISO-8859-1"/> <title>Error 403 No valid crumb was included in the request</title> </head> <body><h2…

AI赋能前端开发:薪资潜力无限的未来

在当今竞争激烈的就业市场&#xff0c;掌握AI写代码工具等AI技能已经成为许多专业人士提升竞争力的关键。尤其在快速发展的前端开发领域&#xff0c;AI的应用更是日新月异&#xff0c;为开发者带来了前所未有的机遇。高薪职位对熟练掌握AI技术的前端开发者的需求与日俱增&#…

外包干了4年,技术退步太明显了。。。。。

先说一下自己的情况&#xff0c;本科生生&#xff0c;20年通过校招进入武汉某软件公司&#xff0c;干了差不多4年的功能测试&#xff0c;今年国庆&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能…

平面与平面相交算法杂谈

1.前言 空间平面方程&#xff1a; 空间两平面如果不平行&#xff0c;那么一定相交于一条空间直线&#xff0c; 空间平面求交有多种方法&#xff0c;本文进行相关讨论。 2.讨论 可以联立方程组求解&#xff0c;共有3个变量&#xff0c;2个方程&#xff0c;而所求直线有1个变量…

【状态空间方程】对于状态空间方程矩阵D≠0时的状态反馈与滑模控制

又到新的一年啦&#xff0c;2025新年快乐~。前几个月都没更新&#xff0c;主要还是因为不能把项目上的私密工作写进去&#xff0c;所以暂时没啥可写的。最近在山里实习&#xff0c;突然想起年前遗留了个问题一直没解决&#xff0c;没想到这两天在deepseek的加持下很快解决了&am…

LearningFlow:大语言模型城市驾驶的自动化策略学习工作流程

25年1月来自香港科技大学广州分校的论文“LearningFlow: Automated Policy Learning Workflow for Urban Driving with Large Language Models”。 强化学习 (RL) 的最新进展表明其在自动驾驶领域具有巨大潜力。尽管前景光明&#xff0c;但诸如手动设计奖励函数和复杂环境中的…

大语言模型多代理协作(MACNET)

大语言模型多代理协作(MACNET) Scaling Large-Language-Model-based Multi-Agent Collaboration 提出多智能体协作网络(MACNET),以探究多智能体协作中增加智能体数量是否存在类似神经缩放定律的规律。研究发现了小世界协作现象和协作缩放定律,为LLM系统资源预测和优化…

【OpenCV】双目相机计算深度图和点云

双目相机计算深度图的基本原理是通过两台相机从不同角度拍摄同一场景&#xff0c;然后利用视差来计算物体的距离。本文的Python实现示例&#xff0c;使用OpenCV库来处理图像和计算深度图。 1、数据集介绍 Mobile stereo datasets由Pan Guanghan、Sun Tiansheng、Toby Weed和D…

PT8032 3 通道触摸 IC

1. 概述 PT8032 是一款电容式触摸控制 ASIC &#xff0c;支持 3 通道触摸输入 ,2 线 BCD 码输出。具有低功耗、 高抗干扰、宽工作电压范围、高穿透力的突出优势。 2. 主要特性 工作电压范围&#xff1a; 2.4~5.5V 待机电流约 9uAV DD5V&CMOD10nF 3 通道触…

像指针操作、像函数操作的类

像指针一样的类。把一个类设计成像一个指针。什么操作符运用到指针上&#xff1f; 使用标准库的时候&#xff0c;里面有个很重要的东西叫容器。容器本身一定带着迭代器。迭代器作为另外一种智能指针。迭代器指向容器里的一个元素。迭代器用来遍历容器。 _list_iterator是链表迭…

Pikachu–XXE漏洞

Pikachu–XXE漏洞 一、XML基础概念 XML文档结构由XML声明&#xff0c;DTD(文档类型定义)&#xff0c;文档元素三部分构成&#xff01; #XML是可扩展标记语言(Extensible Markup Language),是设计用来进行数据的传输与存储。 #eg: <!--XML声明--><!--指明XML文档的版…

matlab-simulink

1、信号到对象解析指示符 代表的意义是&#xff1a;信号名称必须解析为信号对象 2、input inport 双击空白区域输入模块名字&#xff0c;自动联想显示相关模块 没看出太大的差别 3、Stateflow 双击空白区域输入stateflow、或者chart或者常用库里面去查找 4、离散时间积分…