What are the guidelines for FPGA "programmability"?
Deep learning and breadth learning
At this stage, the direction of FPGA development can also be understood in the direction of wide application in enterprises, probably the following points, including SOC, high-speed interface (high-speed I/O), digital signal processing (DSP), artificial intelligence, etc. In a limited time, it is necessary to choose a field direction for the main attack. Only when the goal is clear will it be more involved. In a word, while specializing in the depth of research, we must also expand the breadth of the profession.
SOC design requires designers to have a better understanding of software programming, CPU principles, and even operating systems, because SOC is a system combining software and hardware. High-speed I/O design requires designers to master the basic knowledge of many analog circuits and some commonly used communication protocols, such as SDH, GbE, PCI-E and so on. The use of FPGA in the DSP field is a development direction that has emerged in recent years. Due to its inherent parallel characteristics, FPGA can implement modules with large computational complexity in DSP algorithms with high efficiency. It is very suitable for emerging applications such as video and image processing that require higher and higher DSP performance. Designers need to master digital signals Deal with common algorithms.
As for the direction of artificial intelligence that has been hot in recent years, in fact, what is the so-called "artificial intelligence" that personal contact is still too gimmicky, there is not much practical application, especially the sense of practical application is not very Strongly, there are quite a few shell companies that make money from gimmicks. For artificial intelligence, the hardware is still mainly in the direction of acceleration, which can still be clearly seen. After all, in terms of hardware acceleration, software cannot be compared. The above is purely personal opinion. If there is any objection, when I did not say, hahaha, I don’t want to debate.
These directions are completely different. Don't swallow the jujube. Everything is all-you-can-eat. "Skills have special skills." It is difficult for senior senior engineers to achieve success in multiple directions. Of course, if you can have deeper research in one field, and at the same time, have a certain understanding of other professional fields, it would be even better.
Of course, a good FPGA engineer must strive to achieve "one technology and many capabilities." The so-called "one special" of course refers to the depth of expertise in the field of FPGA design, while "multi-functional" requires engineers to have an understanding and mastery of other professional fields. For example, for designing an SOC system, the C language must be learned, otherwise the architecture of the system on chip may be unreasonable. In addition, for engineers who design high-speed I/O ports, circuit board principle design and PCB design need to be understood. Only by grasping the concepts related to analog circuits such as pre-emphasis, equalization, and impedance matching, can it be handy in design and debugging.
Design idea
In fact, this point should be started immediately before the fifth point or placed before the fifth point, but personally feel that this point is very important, so pressing a shaft is purely personal understanding and is for reference only.
The sixth and final point is also the most difficult point. This is also the key to moving towards senior engineers. FPGA design requires a good system architecture solution and reasonable modularization. This is helpful for debugging and maintenance of FPGA, and is also convenient for multiple people to develop together, especially when using large-scale FPGA, which is also known as the Top-Down design method.
Divide a huge and complex design into several small modules, and the level should be clear, not flat, which requires the designer to have a comprehensive and deep understanding of the design. A messy and disorderly design is disastrous for later maintenance, especially for the takeover, if you want to modify a certain logic, it can be said that it is miserable. For the simplest example, if you have contacted many electronic hardware engineers or FPGA engineers, you will find that most engineers are disgusted to look at other people's codes. Although some codes are very simple, if they are organized and standard, maybe they are still Can slow down the above feelings.
If you want to know more, our website has product specifications for FPGA "programmability", you can go to ALLICDATA ELECTRONICS LIMITED to get more information