1. What is Hardware?
Baidu Baike describes “Hardware (English name Hardware) is the abbreviation of computer hardware (terms used in mainland China and Hong Kong, while Taiwan refers to it as hardware), which refers to various physical devices composed of electronic, mechanical, and optoelectronic components in a computer system. These physical devices form an organic whole according to the requirements of system structure, providing the material basis for the operation of computer software.”
In other words, hardware is physical, at least something you can see and touch; it is a material carrier, a material foundation. Broadly speaking, humanity lives on a material basis, and you can refer to everything you can see as hardware. Of course, in a narrow sense, when we talk about software and hardware, we generally refer to the electronic field.
Software code is also written by people, and the languages we are familiar with, such as C, C++, etc., are translated into assembly language by compilers, and then assembly language is translated into binary machine language by assemblers, which control the gates to complete the corresponding actions. I personally believe that without hardware, software has no meaning to exist; hardware is the foundation of everything, which shows how important hardware design is.
However, software and hardware have obvious distinctions, at least their work content is very different. According to industry descriptions, hardware belongs to the lower level (commonly referred to as low-level hardware), while software is called the upper level (software is further divided into: low-level drivers, upper-level business, and application layers, etc.). If one must give an example to illustrate software and hardware, the best example is a person, where hardware refers to the human body, and software refers to human thought.
In fact, for people outside the electronic field, it is difficult to understand how computers work, how hardware works, and how software works. Even if you know it’s all 0s and 1s, if you haven’t done related work, you won’t discover the wonders within. Actually, you just need to know that software drives hardware to work, and what drives it is electric signals! The electric signals received by hardware are divided into 0s and 1s, and the response speed of hardware is very fast. How fast? For example, the commonly used baud rate of serial ports in hardware is 115200 bits per second, which means 115200 0s or 1s in one second. English letters are 8 bits (as seen in the ASCII table, which is learned in college), so that means 14400 letters can be printed in one second. If you blink, over ten thousand letters will come out. Of course, this is just a figurative example.
However, in circuit design, 100kHz is considered a relatively slow rate. For example, the refresh rate of a monitor for a single image is more than 24 times per second, which our eyes cannot perceive. 24 frames of data is a very large amount; for instance, the total data amount for 1080p30 format output is 746496000 0s or 1s per second, which is about 700 million 0s or 1s.
2. What is Hardware Design?
Generally speaking, hardware design refers to circuit design, and this is accurate because all your work revolves around circuit design, with the ultimate goal of producing an excellent circuit that can meet various requirements and withstand various tests. However, in reality, we require products, not just circuit boards.
There is an article online that explains well: “Hardware design is based on the Product Requirement Specification (PRS) from the product manager, under the requirements of Cost of Goods Sale (COGS), utilizing currently mature chip solutions or technologies in the industry, and completing hardware products that meet the following requirements within the specified time:
PRS function (Function)
Performance (Performance)
Power Supply (Power Supply)
Power Consumption (Power Consumption)
Thermal/Cooling (Thermal/Cooling)
Noise (Noise)
Signal Integrity (Signal Integrity),
EMC/EMI (EMC/EMI)
Safety (Safety)
Component Sourcing (Component Sourcing)
Reliability (Reliability)
Design for Test (DFT)
Design for Manufacture (DFM)
Hardware products that meet the above requirements (note: it is products, not development boards). It can be seen that a successful hardware design mainly achieves functionality as just a small part of all processes. When I first started working, I thought that completing the circuit design of the board meant I had completed 50% of the work, and that if the PCB returned with the main functionalities, then I had completed 80% of the work. In reality, that is not the case; even when the PCB returns with the main functionalities, it has not even completed 30% of the work. Therefore, whether in terms of time or stages, hardware design for products is a long process.
Moreover, when you do product hardware design in a company, generally, you refer to mature solutions, and the main functions of the main chip CPU ultimately rely on the solutions provided by the chip manufacturers. Generally speaking, to reduce risk, it is mainly about completing the reference designs of the reference solutions. Chip manufacturers also provide all materials, including device packaging, reference designs, simulation models, PCB references, etc. In today’s world, where chip functions are becoming increasingly complex, a single chip can easily have hundreds or thousands of pins, and for a new project, there is no time to thoroughly understand each pin and its specific functions and electrical parameters, especially for high-speed designs like DDR3 interfaces and XAUI interfaces, etc. Generally, the reference designs provided by chip manufacturers are the best solutions they have developed, validated, and tested. In many cases, you must follow the reference design; otherwise, the hardware may have issues, usually related to signal integrity or EMC issues.”
Some people might say that hardware circuit design cannot be called design, as it is just copying mature circuits. With chip manufacturers providing increasingly comprehensive services, combined with the technical accumulation of the company, hardware design engineers can conduct circuit design without much thought. It seems that the value of hardware engineers (HWE) is decreasing, as the core functions or technologies of a product are generally within the IC or FPGA, and HWE generally lacks the ability to conduct core logic design (IC design). If we follow this logic, software design cannot be called design either, as it is just copying mature code. How many software developers do not migrate others’ code? To delve deeper, how many software engineers can casually modify uboot, kernel, without searching for C language syntax or migrating business programs, or asking chip manufacturers for technical support? Even if they are all mature things, I have not found any project that progresses quickly during the work process. The same circuit and code, mature products are fine, but why do new products have issues?? In the end, it is still hardware design that resolves them.
For the above issues, I have also been confused, always feeling that hardware design is not that challenging; isn’t it just copying reference designs, like assembling a computer and putting together a single board? Of course, as my project experience increases, especially from my current role in hardware system-level design, I feel that I originally considered problems from the perspective of a schematic design engineer, which is very one-sided. As mentioned earlier, a successful hardware design sees functionality as just a small part; regarding other factors and capabilities, an HWE’s ability depends on considering more factors, going deeper, and thus becoming a better HWE engineer.
Therefore, HWE relies on experience; for companies, training an HWE is costly. Hardware design does not allow for quick fixes like software; if a hardware design is wrong, it may have to be redone entirely, potentially delaying the entire project cycle by three weeks or even over a month. For example, I recently encountered a SENSOR outputting an image with poor effects and many bright spots; the hardware circuit cannot be bypassed, and this is related to layout and routing, requiring a board redesign.
There is a viewpoint that needs clarification: one can accomplish tasks without understanding everything, but personally, there will be a ceiling for development. In terms of hardware, it is like reference circuits; you can use them without knowing how they work. In terms of software, it is like uboot and kernel; you can use them without understanding, but once you do, it makes a difference. When it comes to hardware design, everyone thinks it is circuit design, which seems simple and not challenging, but in reality, it is not; the deeper you go, the harder it gets, the greater the responsibility and the more departmental communication required. The more you understand, the easier it is to learn, and the further you can go.
3. What is Hardware Circuit Design?
As the name suggests, hardware circuit design is about designing circuits, being able to proficiently use cadence to draw circuits and view PCBs. Circuit design in hardware design is the most important responsibility of HWE. Circuit design tests the fundamental skills of HWE, namely the understanding and flexible application of certain hardware components, such as:
CPU
Resistors, capacitors, inductors,
Diodes, transistors,
Protection devices, interface devices,
Logic chips, logical functions,
Small chips
Power supplies
Since I graduated with a major in EMC, I have a deep understanding of what needs to be considered during design. The 13 items we discussed regarding hardware design should all be considered during the design phase. Currently, various processes in large companies ensure the collaboration of departments during design, which is quite good.
Every company will have its own hardware circuit design specifications, which need to be carefully reviewed and applied in practice. Hardware circuit design primarily focuses on circuit design and involves many aspects; separate chapters will discuss the design of circuit modules later. Hardware circuit design requires sufficient experience and theoretical knowledge.
4. Hardware Design Development Process
Once the hardware department’s development process is specified, personnel in the hardware department must strictly follow the development process to complete their work. The hardware department’s development process is mainly divided into the following steps:
1) Market Research
For the upcoming project, market research needs to be conducted.
2) Project Initiation
After completing market research, project initiation work needs to be carried out.
3) Overall Hardware Design
After the project is initiated, overall hardware design needs to be conducted.
4) Experimentation of Core Components and Detailed Design of Submodules
After completing the overall design, experiments on core components must be conducted, and design schemes for submodules should begin.
5) Circuit, Program, and Enclosure Design
After completing the experimentation of core components and detailed design of submodules, circuit, program, and enclosure design will proceed according to project specifications.
6) System Joint Debugging
After debugging each sub-block, system joint debugging can be performed.
7) Internal Review and Project Acceptance
After completing system joint debugging, the project can undergo internal review and acceptance.
5. What is a Hardware Engineer?
A hardware engineer is responsible for the hardware design of the entire product. A while ago, I saw an article on Zhihu specifically explaining hardware engineers, which I found very insightful, and I will share it here: https://www.zhihu.com/question/28610994.
5.1. Responsibilities of Hardware Engineers
The R&D process of a hardware product is as follows:
All positions within the company are equally important. Although the importance of each team is consistent, the R&D team should play a more core role in product development. R&D personnel can switch to market, testing, supply chain, or quality management roles, but it is difficult for people in market roles to switch to R&D. Firstly, R&D has a high threshold, and secondly, R&D work covers a wide range. Among the entire R&D team, hardware engineers play a leading role.
Generally speaking, when we refer to R&D, it does not only limit to software and hardware but encompasses the entire project team, which includes virtually all department product leaders.
Hardware engineers are an important member of the R&D team, and the R&D team for hardware products can be illustrated as follows:
Of course, the above image does not fully represent the situation; for instance, thermal design is also a very important member. However, it should be noted that within the entire project R&D team, two people interact with everyone: one is the project manager, and the other is the hardware engineer. Hardware engineers need to communicate and coordinate with various R&D personnel, which requires them to have a broad knowledge base and strong coordination skills.
The core responsibilities of hardware engineers are illustrated as follows:
Hardware engineers can be roughly divided into the following four stages:
Junior Hardware Engineer
Completes parts of stages three and four under the guidance of others, which is generally achievable within three months for recent graduates.
Ordinary Hardware Engineer
Independently completes the work of stages three and four, usually achievable after 1 to 2 years of work.
Senior Hardware Engineer
Leads the completion of stages three and four, participates in completing the overall design work of stage two.
Expert Hardware Engineer
Leads the completion of stages one and two.
5.2. Timing Control
As a hardware engineer, one is responsible for the entire product development process. Therefore, one must grasp each time period accurately. Projects will have project cycles; although the project manager controls the time, the specific operations are still handled by the hardware engineer. Since I am only at stage three, I do not have much time concept for stages two and one. For projects on normal schedule:
Schematic and detailed design plan: 5 weeks, including reference design and schematic review.
PCB layout and routing: 4 weeks, including coordination with structure and circuit adjustments or component re-selection.
Sending boards and waiting for returns: 2 weeks; these two weeks are the least busy, and while sending boards, the BOM upload must also be completed, which should not be forgotten. Look at your own diagrams frequently!
Board return inspection: 1 week; get your board running, able to burn uboot, and ensure the network port can ping. Check for any soldering issues. Contact structure to assemble the machine and check for structural issues.
Driver debugging: 5 weeks; cooperate to complete all lower-level function debugging.
Media version: 2 weeks; this is the first complete machine version that runs after driver debugging, to be prepared for testing.
Signal testing: 3 weeks; cooperate with signal testing personnel to complete signal testing. At the same time, prepare boards for business R&D personnel.
Function testing: 2 weeks; cooperate with function testing personnel to complete environmental testing, protection from electrostatic surges, and other functional tests, including EMC testing, etc.
Bug fixing wait: 2 weeks; resolve all bugs that arise from the above!
Board modification and sending: 2 weeks.
………………
The specific time will vary with the complexity of the product; the above is just a rough estimate of the time I understand and cannot be generalized.
5.3. The Essential Work of Hardware Engineers
Goal: Zero defects in products
Process: Design circuits, fix bugs, communicate across departments.
Ability: Mainly focused on bug-fixing ability.
Result: One word——-busy!!!!
5.4. Basic Qualities and Skills of Hardware Engineers
Here is the positioning from Huawei’s hardware engineer manual, which looks quite good.
6. What Kind of Personality Should a Hardware Engineer Have?
Communication skills – Must have logic and a broader perspective for effective communication with personnel from other departments; failing to articulate may lead to arguments!
Gentle personality – Since you will communicate with all departments, do not have a stern face or give orders; an extreme personality may lead to arguments!
Humble and cautious – Even if you do not adopt others’ opinions, you should listen to them, then express your viewpoints and reasons; being obstinate may lead to arguments!
Careful and meticulous – Circuit design requires carefulness, and bug fixing must be thorough, as any issues will solely be your responsibility!
Patience – Whether communicating, fixing bugs, or inspecting circuits, patience is essential!
Ask when in doubt – If you do not understand something, ask, because product development time is usually short, and you cannot afford to spend a lot of time researching!
Responsibility – Be responsible for circuits, products, and bugs!
Distinguish priorities – When problems arise, first think about how to solve them, rather than assigning blame!
Eager to learn – Be willing to help others, eager to learn, and possess solid experience and theoretical knowledge!!!
In summary, the above are the essential personality traits for a hardware engineer, and they are all indispensable. Those with extreme personalities are not suitable for hardware R&D, and it can even be said that they are not suitable for any R&D roles. Therefore, generally speaking, many hardware engineers transition to product manager positions, as this role inherently demands high standards, and a good personality combined with experience and theoretical knowledge will ensure continuous progress.
————————————————
Copyright Statement: This article is an original piece by CSDN blogger “wangdapao12138”: https://blog.csdn.net/wangdapao12138/article/details/79121996
~END~
Source: Internet
For electronic hardware knowledge, click below to follow us
▽
