很多朋友对硬件设计是做什么的,硬件那些事儿——什么是硬件设计不是很了解,六月小编刚好整理了这方面的知识,今天就来带大家一探究竟。一
很多朋友对硬件设计是做什么的,硬件那些事儿——什么是硬件设计不是很了解,六月小编刚好整理了这方面的知识,今天就来带大家一探究竟。
一般来说,硬件设计指的是电路设计,这是没有问题的,因为你所有的工作都是围绕电路设计展开的,最终的目的是制作出能够满足各种要求、经过各种测试的优秀电路。但实际上我们要的是产品,而不是饰面。
关于硬件设计的描述,网上还有一个比较形象的说法:“硬件设计是根据产品经理PRS(产品需求规范)的要求,在COGS(商品销售成本)的要求下,采用目前业界成熟的芯片解决方案或技术,在规定时间内满足以下要求的完整硬件产品(注:是产品,不是开发板)。”具体要求如下:
PRS功能(Function)
性能
电源
功耗
散热/冷却
噪音
信号完整性(Signal Integrity),
电磁辐射(EMC/EMI)
安全
元件采购
可靠性
可测试性(DFT:测试设计)
可制造性(DFM:可制造性设计)
可见,对于一个成功的硬件设计来说,主要功能的实现只是所有环节中的一小部分。刚开始工作的时候,感觉板子的电路设计完成后就完成了50%的工作,而PCB板的主要功能都实现了,所以就完成了80%的工作。其实不是,PCB回板的主要功能都已经实现了,连30%的工作都没有。因此,无论从时间还是阶段来看,产品硬件设计都是一个漫长的过程。
而且,你在公司设计产品硬件时,一般都会参考成熟的解决方案。主芯片CPU主要功能的实现最终取决于芯片制造商提供的设置方案。一般来说,为了降低风险,主要参考设置方案。解决方案的参考设计完成后,芯片制造商还将提供包括器件封装、参考设计、仿真模型、PCB参考等在内的所有信息。在芯片功能变得越来越复杂的今天,一颗芯片可以轻松拥有数百或数千个PIN。对于一个新项目来说,没有时间一页一页地了解每个PIN、每个输入输出的具体功能、电气参数,尤其是高速设计,如DDR3接口、XAUI接口等。
一般来说,芯片制造商提供的参考设计是他们开发、验证和测试过的最佳解决方案。很多情况下,必须遵循参考设计,否则硬件可能会出现问题。一般来说,是信号完整性问题。或者EMC问题。
然后有人说硬件电路设计不是设计,是成熟电路的复制。芯片厂商提供的服务越来越贴心,再加上公司积累的技术,硬件设计工程师完全可以不用动脑筋设计电路。
这样看来,硬件工程师的价值似乎越来越低了。毕竟产品的核心功能或技术一般都在IC或FPGA中,硬件工程师一般没有能力进行核心逻辑设计IC设计。
那么如果软件设计是基于这个逻辑的话,那它就不是设计,而是成熟代码的拷贝。有多少软件开发人员不移植别人的代码?再深入一点,有多少软件工程师可以随意更改uboot和内核,无需百度C语言语法,无需移植业务程序,无需向芯片厂商寻求技术支持?
虽然都是成熟的东西,但实际上我在工作过程中并没有发现有哪个项目是很快完成的。同一套电路和代码,成熟的产品没有问题,但为什么新产品就有问题呢?归根结底还是硬件设计来解决。
对于上述问题,笔者也曾感到困惑。我总觉得和硬件设计无关。不就是像组装电脑一样,照搬参考设计,组装一块单板吗?当然,随着项目经验的增加,尤其是现在的硬件系统级设计角色,我感觉自己更多地站在原理图设计工程师的角度去思考,问题总是很片面。
正如我一开始所说,一个成功的硬件设计,功能只是很小的一部分,至于其他的因素和能力,一个硬件工程师的能力取决于能够考虑的因素越多,越深入,更优秀的硬件工程师。
因此,硬件工程师需要经验。公司培养一名硬件工程师的成本非常高。硬件不像软件。如果代码错误,几分钟之内即可修复。如果硬件设计错误,可能就需要从头开始。整个项目周期可能会延迟3周甚至一个月以上。
有一个观点需要解释一下。什么都不懂也可以做事,但是个人会有发展天花板。硬件方面就像一个参考电路,即使你不知道电路是如何工作的也可以使用它,软件方面就像uboot和内核,即使你不懂它也可以使用它,但是一旦你了解了它,你就可以使用它。明白了,那就不一样了。
就像说到硬件设计,大家都以为是电路设计,那么简单,不难,但事实上并非如此。你知道的越多,学习起来就越容易,你就能走得越远。
以上知识分享希望能够帮助到大家!
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们