What are the major guidelines for FPGA "programmability"?

Last Update Time: 2023-08-18 18:13:29

1. Understand the structure and performance of FPGA

    First, we must understand the structure and performance of the FPGA. Different manufacturers and different series of FPGA chips have different structures and performances, but they are inseparable from them. At the beginning, you can get started with low-end chips, such as Altera's Cyclone VI, and then you can master several typical high-end chips, such as Altera's Stratix III and Xilinx's Virtex 5. After that, it is easy to learn about other series of chips. As for the chips of Lattice and Actel, it is not too late to understand when they are used, because learning mainstream things will be more effective.

    Many FPGA-related teaching materials will use several commonly used chips as examples to describe the basic structure and principles of FPGAs. After reading it, beginners always feel that it is too abstract and a bit incomprehensible. Therefore, in order to have a deep understanding of FPGAs, a solid digital circuit foundation is necessary.

    In digital circuits, the most basic is logic and timing. The engineer must understand the relationship between the internal logic structure of the FPGA and the basic circuit structure of the digital circuit. For example, any combinational logic of 4 input signals can be realized by the 4 input LUT provided by FPGA. If you use Xilinx chips, the shift register can be realized by cascading multiple flip-flops, or by LUT.

    Usually, beginners can design the correct logic, but it is easy to overlook the timing. In the design of I/O ports, defects related to timing are fatal to the product and will affect the reliability of the product. Therefore, after mastering the structure, we must also pay attention to some important timing parameters of the chip, such as I/O port clock setup time, hold time, and delay time from flip-flop to output, and the highest frequency of the internal working clock of the chip, etc. .

    Only by fully grasping the structure and performance of the chip used, can we design a reasonable system and ensure the reliability and stability of the FPGA design. The large number of documents provided by FPGA manufacturers is also a very good learning material. After all, you need to understand and use product manuals flexibly to participate in project development, and it is good to be familiar with them in advance.

2. The importance of algorithm and theoretical feasibility

    Many engineers will talk about the importance of algorithms and think that many algorithms must be understood.

Yes, a good algorithm is like a weapon for design. However, research on algorithms and how to implement algorithms are two different concepts. Research on algorithms is doing mathematical problems, and it is the responsibility of engineers to implement algorithms.

    This is not to say that FPGA engineers do not need to study algorithms, but emphasize their responsibilities. Doing research and development in an enterprise, you will find that companies of a slightly larger scale will have fixed positions and responsibilities, so the above problems may be solved by specialized algorithm engineers. It's hard to say for small companies or start-ups. Basically, they are mainly doing miscellaneous work, doing their own main business, but also have to carry other side jobs. This is very realistic and true.

    Different algorithms require different research and understanding of their principles. For example, 8B/10B encoding, as long as you know where you need to use it, the ready-made IP Core can be called directly. However, algorithms such as FEC encoding and decoding can only be realized after understanding the basic principles.

    For algorithms, the focus of FPGA engineers is "how to implement." In addition, in addition to algorithms, common design methods in logic design must be understood, such as ping-pong operation, pipeline design, and time-sharing multiplexing. There are also commonly used logic modules, such as asynchronous FIFO and state machine. These are actually the most basic things in digital circuits, but for beginners, they may not be used correctly when doing FPGA design.

 

 

If you want to know more, our website has product specifications FPGA "programmability", you can go to ALLICDATA ELECTRONICS LIMITED to get more information