Original link:
FPGA development One: Why is FPGA so hot?
FPGA development All-in-two: Why should engineers master the knowledge of FPGA development?
FPGA development: The basic knowledge and development trend of FPGA (part1)
FPGA development All-in-four: basic knowledge and development trend of FPGA (part2)
Write in front
In 2008, I took part in a number of technical seminars held by programmable device vendors, and I was impressed by the sheer numbers of engineers attending these seminars, which can be described as full-time, with many engineers listening attentively throughout the day, rarely appearing to flash after lunch. And engineers also have a strong interest in the communication, consumer electronics, medical electronics, industrial and other solutions on display at the symposium, which is in stark contrast to other device workshops.
Data released by Garnter and Isuppli show that global semiconductor sales have shrunk for the first time since 25 in 2008, but programmable devices are still growing, with sales of programmable logic devices (PLD) expected to grow by 7.6% in 2008, The leading American supplier of programmable Devices Xilinx Inc. 2008 revenue is expected to rise 6.5%! Now 2009 years is coming, we see the application of programmable devices to accelerate the trend, especially in the company's goal design platform, such as Xilinx, the threshold of FPGA development is declining, in the future, I believe that the development of FPGA can be as simple as the development of single-chip microcomputer, DSP!
In the communication with engineers, I found that many engineers need to popularize the FPGA as the representative of the application development knowledge of programmable devices, there are many engineers suffering from the advanced no door, lack of professional, authoritative guidance, after searching on Google, I found very few help engineers design of FPGA system design materials, Even if there is only a few conceptual basics, a lack of practicality and systematization, I began to publish a guide Engineer FPGA application development ebook ideas, and this ebook to highlight the practicality, so that everyone can download for free, and provide a lot of tips and resources information, I am pleased that the American Xilinx Company has given strong support to this idea, and Mr. Liang Xiaoming, marketing Manager of Xilinx Asia Pacific, and senior product manager, Zhangjunwei, has made valuable comments on e-books and provided a large number of FPGA design resources, as well as some FPGA design experts involved in the compilation of e-books.
Within a short period of time, an e-book project team was formed, the post-graduate students of Beijing Post and Telecommunications, Mr. Tian Shi and the Xilinx company Shanghai office of Mr. Su Tongki and others are involved in the preparation of e-books, they are rich design experience, in the joint efforts of everyone, This intelligent FPGA ebook has finally met with you! I hope this ebook can be one of the design books for engineers interested in FPGA or developing with FPGA, and I hope this ebook can help engineers learn FPGA development and advanced! If possible, we will also publish the next version!
Chapter One, why do engineers need to master FPGA development knowledge?
Zhang, Tian Shi
Early 2008, a well-known embedded system IT company to help its product after-sales engineers and online technical support engineers to better understand their products, held a ASIC/FPGA basic training. Since the latter is only accessible to board-level schematics and layout because of the secrecy system, and because ASIC/FPGA are typical SOC applications, the ASIC/FPGA is usually interpreted as a black box, and its speculative reading results in large amounts of ineffective communication between the company and the outside and within the company. After the training, participants indicated that ASIC/FPGA's white-box analysis greatly improved the understanding of the product, effectively solved the problem of understanding the bias between the partner and the client, and the engineer Small L said: "The FPGA also has a powerful processing function and complete design freedom, So that its industry opponents ASIC designers before doing wafer fabrication, but also a large number of FPGA to do the entire system board-level simulation, learning FPGA development knowledge not only improve our service quality from a personal point of view also enhance their value. ”
In fact, small l is only one of China's tens of thousands of FPGA development engineers in miniature, at present, with the FPGA from the programmable logic chip to the programmable system-level chip, its role in the circuit has been from the initial logical gluing to digital signal processing, interface, high-density computing and other broader range, Applications also extend from communications to consumer electronics, automotive electronics, industrial control, medical electronics and more, and now, in a large number of other fields, engineers are joining the FPGA learning application army like small L. In the future, as FPGAs integrate more hard cores such as powerpc™ processors, and use new processes to integrate storage units, FPGAs are becoming a super-chip that integrates processing, storage, and interfacing, and "FPGAs become a board-level chip, The future of electronic products can be configured by the FPGA to upgrade the functionality, in fact, some communications equipment manufacturers are already trying to do so. Tangli, Global senior vice president of Xilinx, said.
As you can imagine, in the future, the FPGA development capability will be one of the basic capabilities of the C language for engineers, and can you simply use FPGAs as a logic device in the face of this development trend? Can you still be indifferent to the development of FPGAs?
Changes in electronic product design trends
Since the advent of electronic products, electronic product development processes and methods have evolved with the evolution of electronic components, from the earliest electron tube devices to transistors to integrated circuits, engineers in the design of products, the use of tools and methods are different, But in general the unified approach to electronic design is to create a physical platform using discrete, off-the-shelf components, connectors or ICS on a printed circuit board to achieve the required functionality. For example, in the 60 's, if you want to design a radio, engineers must through the PCB board through transistors, resistors, capacitors, inductors, wires, filters, diodes and other circuits to build a physical platform to achieve the RF signal tuning, filtering, amplification, and finally realize the function of the radio.
After the advent of integrated circuits, some discrete devices are integrated into a chip, but the overall design ideas have not changed, or to a PCB board through the passive components and the IC to build a physical platform to achieve signal reception, processing and output. However, with the advent of programmable devices such as FPGAs, the design mentality is changing subtly-as more functions move from discrete devices to programmable areas, different design processes converge. Now, effective electronic design is to integrate the board design, programmable logic design and software development, in the future, with the integration of FPGA processing, storage, board design will be integrated into the programmable logic design, electronic product design will evolve into programmable logic design and embedded software design, at that time, Electronic design will embody a "soft" design, a design implemented by developing languages and tools, and FPGAs will become
The "soft" design of the carrier, in the form of FPGA-based low-cost, large-scale programmable devices can be obtained anywhere, which makes it possible for designers to transfer all the core functions of the system into the soft design, and take advantage of this design. These "soft" design advantages include: Easier to protect the system function so that it is not copied or reverse engineering, programming to the design of "soft" elements easy to update, so that the design process more continuity. A good tool is designed with a soft design that does not depend on a pre-specified hardware platform. Moreover, the design can continue within the final hardware platform, even if the product has been handed over to the customer is still feasible. That is, "soft" design will become the direction of development of electronic design.
Another point, today and the future of electronic products are in the pursuit of intelligence and personalization, intelligence can only be achieved through software, personalization, need to engineer a simple modification can reflect different characteristics, but also need to protect their own design is not copied, to do this, but also require programmable devices. Every engineer wants a product that is always different from the others. The difference is to make the product not the same as the competitive product, let the purchaser choose your product and not choose the competitor's product. But how can you keep it different in an increasingly globalized market? Don't expect to be able to achieve your goals on hardware, because now almost everyone has access to the same chip. When any functionality implemented in the existing physical hardware is welcomed by the market, a large number of imitations occur.
Therefore, the difference between the product is built on the smart device, to protect the valuable IP, and make it difficult for competitors to reverse engineering. Moreover, even if the hardware has been manufactured, the product can still be innovative through the "soft" design and add value to the product, the success of the product is guaranteed. These, however, are inseparable from programmable devices. Programmable devices are the guarantee and carrier for the realization of "soft" design.
Design method and design content of designing electronic design engineer is changing constantly
Electronic Design Engineer's design method and content actually also has been changing, the electron tube era, the design engineer must grasp the electron tube the performance and the design key point, the transistor age, the design engineer must be familiar with the circuit function and the establishment, the integrated circuit birth, the design engineer must be familiar with the IC pin function and the function, and design tools from the earliest draft diagram, software-aided design also developed to electronic design automation tools (EDA software), FPGA-represented programmable devices, design engineers not only to design hardware circuit more familiar with HDL, Verilog and other IC design language, in addition, also familiar with the interface, Digital signal processing, algorithms, EDA design methodology, and so on, electronic engineers to learn more and more knowledge.
What is the future of hardware engineers like?
So, what is the future of hardware design engineers like? Or what about the future of hardware design engineering? Just say: in VHDL or Verilog language to express the design intent, to FPGA as a hardware carrier, computer-based design and development tools, EDA software for the development of the environment, SOC, IP and other integrated design methods, has become the main features of hardware design engineering. It can be predicted that FPGAs will be one of the design elements that future hardware engineers must use.
In addition, the other significant advantages of FPGAs in applications are the ability to reduce BOM integration with multiple discrete digital devices (e.g. a very small and inexpensive CPLD can replace several 74 series chips) and reduce PCB routing difficulty (MGT/GTP such as serial transceiver will originally and need 350 lines parallel data line with a small number of serial lines, customizable (can write their own code to support non-standard interface), scalability (programmable easy to modify easy to upgrade), accelerate time-to-market (just care about the function, do not need to spend time to make a special IC), etc. In this way, the benefits of FPGA to design companies are not reflected in the cost, it can greatly improve the efficiency of development!
The most important is the ecosystem
I think you can take note of some recent interesting events:
1, Xilinx announced and arm strategic cooperation, embedded in the future FPGA arm hard core and the use of ARM Amba bus, although currently embedded in the M1 core, but there will be more core embedded in the future, which means that the FPGA has a powerful processing function and real-time control function together, This leads to a wider applicability of the device.
2, some analog giants such as TI, ADI, LTC and so on to provide power management solutions for FPGAs, they are optimistic about the future of FPGA.
3, Xilinx CTO recently disclosed in an interview that the application of FPGA has expanded to cloud computing, green it, smart grid, intelligent motor, security architecture and so on, the future of FPGA may become the most widely used semiconductor devices.
To sum up, we understand why engineers need to master FPGA development Knowledge, hope this book will help you understand and master FPGA development.
Chapter Two, basic knowledge and development trend of FPGA
FPGA is the abbreviation of English field Programmable Gate array, namely Field Programmable gate array, it is the product of further development on the basis of programmable devices such as pal, GAL and CPLD. It is a semi-custom circuit in the field of special integrated circuit (ASIC), which solves the shortcomings of the custom circuit, and overcomes the limitation of the original programmable device gate circuit number. It is the main hardware platform of digital system design, and its main feature is that the software is completely configured and programmed by the user to complete a certain function, and can be repeatedly erased. In the modification and upgrade, do not need to change the PCB board, just on the computer to modify and update the program, so that hardware design work to become software development work, shorten the system design cycle, improve the flexibility and reduce costs, so the vast number of hardware engineers have been favored.
2.1 FPGA structure and working principle
2.1.1 Dream Achievement Albert
In 1984, Bernie Vonderschmitt, Ross Freeman and Jim Barnett, who worked in Silicon Valley, built an idea that they dreamed of creating a company that was different from the average. They want to create a company that develops and launches advanced technology throughout the new field. And they want to lead it in this way: people who work here love their jobs, enjoy their work, and are fascinated by the work they do.
Figure 2-1 Ross Freeman (left) is the inventor of the FPGA, Bernie Vonderschmitt (right) is the founder of the Xilinx company
Creatively introduced the concept of "wafer-free semiconductor" company.
On February 18, 2009, Ross Freeman 2009 American Inventors Hall of Fame for his invention-field programmable gate Array (FPGA).
Mr. Freeman's invention is a computer chip consisting entirely of "open doors" with a patent number of 4,870,302. With this chip, engineers can program as needed, add new features, meet evolving standards or specifications, and modify them in the final stages of the design.
2.1.2 FPGA structure
Those familiar with prom, EPROM, and E2prom know that the programmable principle of these programmable devices is that by adding high pressure or ultraviolet light leads to the change of carrier density inside the transistor or MOS tube, so called programmable, but these devices can only achieve a single programmable or programmable state is difficult to stabilize. FPGA is different, it uses a logical unit array LCA (logic cell array) Such a new concept, including the Configurable Logic module CLB (configurable logic block), the output input module IOB (Input output block ) and internal wiring (interconnect) three parts.
FPGA programmability actually changes the state of the triggers of CLB and IOB, so that multiple iterations can be implemented because the FPGA needs to be repeatedly burned, it is possible that the basic structure of the combinational logic cannot be done by fixed and non-gate as ASIC, but only by a structure that is easy to be configured repeatedly. Look-up table can meet this requirement, the mainstream FPGA is now using the SRAM-based lookup table structure, there are some military and aerospace-grade FPGA using flash or fuse and reverse fuse process lookup table structure. The repeated configuration of the FPGA is accomplished by burning the file to change the contents of the lookup table.
Based on the basic knowledge of the digital circuit, it is possible to know that for a logical operation of an n input, there can be at most only 2n results, whether it is a non-operation or an XOR operation. Therefore, if the corresponding results are stored in a storage unit, it is equivalent to the realization of the function of the non-gate circuit. The principle of FPGA is also the same, it by burning write files to configure the contents of the lookup table, so that in the same circuit, the implementation of different logic functions.
The lookup table (look-up-table), abbreviated as Lut,lut, is essentially a ram. Currently more than 4 input lut is used in FPGAs, so each lut can be considered as a 4-bit address line of RAM. When a user describes a logic circuit through a schematic or HDL language, the PLD/FPGA development software automatically calculates all possible results of the logic circuit and writes the truth table (that is, the result) to ram beforehand, so that each input signal is logically calculated to be equal to the input of an address to look up the list, Find out what the address corresponds to and then output it.
Table 2-1 input and door truth tables
As you can see from the table, the LUT has the same functionality as the logic circuitry. In fact, the LUT has a faster execution speed and a larger scale.
Because of the high integration of the LUT-based FPGA, its device density ranges from tens of thousands of gates to tens of millions of gates, it can complete the complex logic circuit function of timing and logic, so it is suitable for high-speed and high-density high-end digital logic circuit design field. Its main components are programmable input/output unit, basic programmable logic unit, embedded SRAM, rich cabling resources, bottom embedded function unit, embedded special Unit, etc., the main design and manufacturers have Xilinx, Altera, Lattice, Actel, Atmel And QuickLogic companies, the largest of which is the American Xilinx company, occupies more than 50% of the market share of the programmable market, more than the total market share of all other competitors.
An FPGA is a program that is stored in the on-chip RAM to set its working state, so it is necessary to program the on-chip RAM when working. Users can use different programming modes depending on the configuration mode.
When the power is on, the FPGA chip reads the data in the EPROM into the on-chip programming ram, and when the configuration is complete, the FPGA enters the working state. After power-down, the FPGA reverts to white, and the internal logic disappears, so the FPGA can be reused. FPGA programming does not require a dedicated FPGA programmer, only with a common EPROM, PROM programmer can be. In this way, the same piece of FPGA, different programming data, can produce different circuit functions. Therefore, the use of FPGAs is very flexible.
Figure 2-2 the widely used Xilinx Spartan-3 series FPGAs
As mentioned earlier, the FPGA is stored in the on-chip RAM to set its working state, so the on-chip RAM needs to be programmed. Users can use different programming modes depending on the configuration mode. The common configuration modes for Xilinx FPGAs are 5 classes: main string mode, slave string mode, Select MAP mode, Desktop configuration, and direct SPI configuration.
At present, the two companies with the highest market share of FPGA and the FPGA produced by Altera are based on the SRAM process and need to add an off-chip memory to save the program. When power is on, the FPGA reads the data from the external memory into the on-chip RAM, completes the configuration, enters the working state, the FPGA reverts to the white chip after the power-down, and the internal logic disappears. In this way, the FPGA can not only be reused, but also without a dedicated FPGA programmer, just the General Prom, prom programmer. Actel, QuickLogic and other companies also provide anti-fuse technology of the FPGA, with anti-radiation, high and low temperature, low power and speed and other advantages, in the military and aerospace applications more, but this FPGA can not be repeated erase, the initial development of trouble, the cost is more expensive. Lattice is the inventor of ISP technology and has certain characteristics in the application of small-scale pld. Early Xilinx products generally do not involve the military and aerospace market, but there are already a variety of products into the field.
Figure 2-3 FPGA chip internal structure
FPGA chip Architecture The current mainstream FPGA is still based on lookup table technology, has gone far beyond the basic performance of previous versions, and the integration of common functions (such as RAM, clock Management and DSP) of the hard core (ASIC type) module. 2-3 (Note: Figure 2-3 is just one, in fact each series of FPGA has its corresponding internal structure), FPGA chip is mainly composed of 6 parts, namely: programmable input and output unit, basic programmable logic unit, complete clock management, embedded block RAM, rich cabling resources, Embedded in the underlying functional unit and embedded dedicated hardware modules.
FPGA development--concept article