Engineer's Note: FPGA Evolution, Advantages, Design, Improvement

FPGA - the cornerstone of the digital economy era

Technology has undergone earth-shaking changes in the past 20 years. The driving force behind it is mainly from the rapid development of semiconductor technology. The biggest revolution is that genius people transform all the analogs of nature into the digital domain through analog-to-digital transformation. In the domain, we use the skill that we have been practicing for 5 years - mathematics to describe and deal with the world of simulation. On the basis of digital logic, people have invented algorithms based on instruction, digital signal processing, etc., so we have compressed video today. Digital communications, wireless networks, the Internet, etc. It can be said that "digital" is the main theme of today's semiconductor technology. We are in a "digital age", just as this year's CES also defines the main theme as "digital economy." Colleagues engaged in electronic technology know that the basic unit of digital logic is the "gate", and many "gates" constitute a variety of logical functions no matter how complex. FPGA - "Field Programmable" "Gate Array" has become the "Lego" in the digital field, and it can be used to build any work.

FPGA evolution

Let me first review history. When I first came into contact with the circuit board in 1989, there was a series of TTL and CMOS chips. In a chip with 14 to 20 pins, there were only 4-6 simple "doors", a dozen or so. The large board of the chip also completes the functions of addressing and decoding. It is very painful to use. If you want to modify the logic, you can only use the scalpel to cut the board and fly the line. In 1994, I started using GAL (at the time, LatTIce's 16V8, 20V8). I thought it was a revolution. I could use software to modify the logic inside the chip without cutting the board. At that time, the inconvenience of GAL was input. The output pins are fixed and cannot be programmed online. Each time you modify the logic, you need to use violence to unplug the chip from the board and put it back on the programmer for modification. Soon LatTIce and AMD (and seems to have Philips) have introduced PLD (CPLD/EPLD) which can be programmed online. The terminology is called ISP (In System Programming). The I/O pins can be arbitrarily defined and the number of pins is 44. More than one, very suitable for medium-scale digital logic design. Due to the needs of the project in late 1995, PLD could not meet the requirements of our system, because we need a lot of registers inside the chip to do Buffer, FIFO and so on. So Altera, Xilinx and their agents took turns to visit our lab and recommend a new device, the FPGA. FPGA and PLD are very different: First, PLD is a device that can modify logic by reprogramming. Once programmed, it is like a fixed logic function block can do what it should do. FPGA is like an idiot. The contents of a power-down are all gone. Every time the board is powered up, it needs to be loaded from the external PROM (which is more expensive than the small-capacity FPGA, and the original factory can only be programmed once). Second, the structure of the FPGA is different from that of the PLD. The advantage of the PLD lies in the speed. The main purpose is to flexibly construct various combinations and sequential logic, while the FPGA is the internal memory, and the FPGA has a large number of blocks inside. Memory (can be easily configured into SRAM, dual-port RAM, FIFO, etc.) and discrete memory for applications that require a large amount of internal memory, such as data acquisition, interleaving, deinterleaving in communication systems, and built-in within the FPGA Microprocessors for capacity memory - 8031, RISC, etc. You don't have any possibilities in PLD. Because most of today's designs use microprocessors, FPGA vendors are scrambling to develop soft cores for these needs, such as Xilinx's PicoBlaze (8-bit) and MicroBlaze (32-bit). PowerPC hardened it, one is not enough, and some chips have four plugs inside.

In the same year, we used Xilx's XC40xx in our project. The design uses schematic input, which is very primitive but very intuitive. The fly in the ointment is that Xilinx's software interface is not very friendly. After working in the United States in 2000, he still worked on hardware design, or using Xilinx FPGAs, but the design method was much advanced - using Verilog, the more proud project - complete QAM modulator, USB-based digital oscilloscope, arbitrary waveform generator And a series of communication system application modules.

In the past ten years or so, programmable logic devices, especially FPGAs, have undergone tremendous changes in terms of structure, capacity, speed, programming software, and service modes, ranging from the most basic digital logic to large and complex communications. Network, video codec system and even ASIC prototyping, ubiquitous FPGA. Today, if there is no FPGA on a R&D board, the technical content of this R&D project is basically not high; if an engineer does not use FPGA, he is embarrassed to tell others that he is doing hardware; if a science and engineering college still Without an FPGA course, this school must be very unreliable and requires the help of the Xilinx University program.

Advantages of FPGA:

Depending on the application, the solutions adopted by the designers will be different. The typical technologies in large-scale digital chips are: microprocessors, DSPs, ASICs, etc., compared to the application of these technologies. What are the advantages of FPGA?

1. Microprocessor: Today's microprocessors (including microcontrollers) come in a wide variety of structures, ranging from 4, 8, 16 and 32 to 64, with 8051, PIC, RISC, ARM. MIPS, Xtensa, X86, etc. Most of them have rich interfaces to connect with various peripherals, execute different processes through software, complete certain tasks, and output control commands or results. It can be said that the microprocessor can do anything through software programming, but the fatal shortcoming is that the speed is limited. The instructions of the strip are sequentially executed under the beat of the external clock, and cannot be processed in parallel, so the microprocessor manufacturer can only play to improve the speed of the chip. (For example, Intel's chip clock is above 2GHz, ARM is already above 600MHz). For more complicated tasks, only a few brothers can work together, which is today's multi-core technology. Since generally slightly more complicated systems use microprocessors for input and output, multi-process processing, and network communication, many general-purpose microprocessors that meet certain performance requirements are relatively inexpensive, and are therefore widely used. The hottest technical terminology in the microprocessor field is undoubtedly the "embedded system", but I can responsibly say that most people understand the "embedded system" is one-sided or even wrong. Some companies have made the embedded system a large-scale flicker in the "emperor's new installation" mode for commercial interests, resulting in people almost equating the "embedded system" with a certain IP type. This industry has emerged in large numbers. An embedded system engineer who does not understand embedded systems at all.

2. DSP: Digital signal processing, which is good at processing signals in the digital domain by executing corresponding programs, and is widely used in audio, video, communication and other fields. As we all know, the leading DSP manufacturers are the first to push TI. Of course, many communication chip companies and video chip companies have put their own DSP modules inside their own chips to form a complete system together with the microprocessor. The microprocessor is responsible for control, human-machine interface, network communication, etc., and its corresponding execution software is generally called Software; DSP is responsible for algorithms, such as filtering, spatial transform, FFT/IFFT, modulation and demodulation, etc., and the corresponding execution program is called Firmware. The advantages of DSP are flexible, programmable by software, and support large-scale multiplication and division operations. The disadvantages are serial processing like microprocessors, no matter how many things to do, one by one.

3. ASIC: ASIC. Generally, in the case where the manufacturer determines that the market volume is relatively large, in order to reduce the cost, the more mature functions are implemented in one chip, and some applications that have been determined are executed. Its advantages are obvious: cheap, dedicated. The shortcomings are also obvious. If you find a problem, change it again? Sorry to pay back the money. If the amount is not large, the cost of the single piece will be quite high. The design, flow film and test cycle of a chip are not available for 6 months, and the time cost is huge. In addition, the customer's needs are almost unlimited, and their appetite is constantly increasing. No matter how thoughtful you are in design, you can't meet the needs of all customers. You will find that many peripheral interfaces need to be added, improved, and internal functions. Need to adjust, the storage space on the chip is limited and so on.

4. FPGA: Its obvious disadvantage is that it is relatively costly, mainly used in the R&D process or the market volume is not large, and the FPGA is not sensitive in the overall price of the system. The price of an FPGA chip ranges from less than $1 to a few thousand dollars. Of course, this is understandable. After all, flexibility is achieved by high redundancy. Its benefits are unmatched by any other technology - it can do almost anything, you can use it to build multiple microprocessors, use it to build your own multiplication and division unit to make several DSPs, and these processes The DSP and the DSP can work at the same time and work in parallel. At the same time, you can also use the unused resources inside the chip to do a lot of auxiliary functions, which can be said to be highly flexible.

Taking an application as an example, today's automotive electronics is also people-oriented. An important technical hotspot in this field is the “Driver Assistance (DA)” system, which consists of many different sensors such as ultrasound, radar, camera and laser. The sensors collect the corresponding signals at different times or at the same time and send them to the central processing unit for identification, calculation, and judgment to help the driver to minimize the surrounding environment during reverse driving, high-speed driving, and night driving. Make accurate judgments and make a series of safety protection actions within the time. If a microprocessor or DSP is used to process signals from multiple sensors, they cannot perform multiple tasks in parallel and interconnect with other systems, thus causing delays in processing time and poor reliability of the system, resulting in an accident that cannot be avoided in time. What if you use an ASIC? As users' requirements for functions continue to increase, and the performance requirements are constantly upgraded, algorithms are required to be continuously improved. Obviously, the use of ASICs is not cost-effective in terms of flexibility and cost. Figure 1 shows the functional modules that Xilinx provides for automotive electronics development. Figure 2 shows the integration of many features for Driver Assistance in a Spartan-3E FPGA.

FPGA design:

The more powerful the FPGA, the higher the design requirements. After all, there are so many pins that need to be connected to other chips. There are so many functions to be written line by line, far from ten years ago. It is time to process the gate level circuit. Although most engineers who have used FPGAs today have a deep understanding of this painful process, I will list them here:

1. Board design:

Now the design of the circuit board is 4 layers, 6 layers or even more layers. The package of the chip has become strange. What QFN, BGA, etc., if you find that the connection is not correct, you can find it by holding the soldering iron. Wherever I went, I didn’t have any exposed pins. Especially the FPGA chip, 256-pin BGA package is taking care of you. If you add some functions, the capacity will be bigger, and you will go to more than 1000 pins without any attention. To toss you for three days, and then continue to check with a magnifying glass, otherwise the circuit board that is back will most likely be abolished. This is not counted, when you layout, wiring, you will find that many of the lines are twisted, one is difficult to cloth, the second is the electrical performance is not good, but the FPGA pins can be reconfigured, modified The definition of the pin can make the connection between the chips optimal.

Of course, the speed of the system is high, and the knowledge requirements for high-speed digital design are necessary. There is a word called “signal integrity”. There are several American big cows who have researched in this area, many of them have The work was translated into Chinese. If you want to really understand and be able to apply it flexibly, you can go back to the school to learn solid electromagnetic field theory, and if you don't understand electromagnetic theory, you can't do high-speed digital design. FPGA supports a variety of high-speed serial and parallel buses and connects to high-speed data and clocks in many systems. If the signal is incomplete, the overall system performance will be greatly reduced or not.

A typical system will have a Core voltage (1.2V or 1.8V, etc. depending on the process) that requires a large current and an interface voltage (typically +3.3V) that requires a small current, and has multiple sets of different grounds. In addition to these challenges to the engineer's wiring, one part that must be emphasized is the phase-locked loop (PLL/DLL). The wiring of this part is quite critical. Once there is a problem, the performance of the whole system will be greatly reduced. The digital circuit is not 0 or 1, but it can't run fast.

2 Logic design:

When using PLD/FPGA, the graphics input method was used, which was intuitive and original. Now FPGA users are basically using more advanced languages ​​- VHDL or Verilog, which is as advanced as C and is very easy to use. But you must not use it as C to call, after all, hardware and software are still different. When I was a hardware engineer 4 years ago, a brother who wrote DSP software wrote a piece of FPGA code. He spent a whole page of space to realize a function that can be completed in 4 sentences with hardware ideas. I can't help but laugh. In this case, it should be noted that multiple functional modules inside the FPGA can be operated in parallel. If you use the idea of ​​the program to write, basically they will be lined up as a DSP.

3 Make the most of existing resources:

No controversy, today you can't fill up even the smallest series in a Spartan-3E, rewrite an I2C interface, and re-do an Ethernet MAC as an exercise, in the actual project. It is not advisable to write on your own. How to use existing resources is very important. First of all, in each person's design work, pay attention to accumulation, carefully use the functional modules that have been used well, and then write the documents for future use by others or others; once again, FPGA manufacturers embed some free functional modules in the supporting software. According to your own needs, you can use it flexibly. In today's Internet age, information sharing has become the main theme, so you can easily find what you need in some open source communities. For example, in the community, you can find and download many functional modules developed and verified by other FPGA colleagues. If you have any problems, you can also interact with them in the community, consult, etc., and use these advanced methods. Of course, if the company has financial resources and needs to launch products in the shortest time, you can go to the FPGA manufacturer's website, where there are a large number of commercial IPs, which are jointly launched by FPGA manufacturers and their certified alliance manufacturers. You can use it with confidence. Figure 3 shows an example of a series of IPs provided by Xilinx for the "digital display" in the consumer electronics arena.

Xdec Speaker:

XDEC is a professional manufacturer of speaker units and specialize in the electroacoustic industry for many years, with best quality, best service and competitive price. XDEC has got the certificate of ISO9001:2015.
More service XDEC can provide: 
1. Professional free design. 
2. OEM support. 
3. Free sample. 
4. Fast delivery.  
5. Door to door service.


XDEC's speaker types:

1)    Myalr speakers from 10mm~57mm.

2)    Headphone speakers from 23mm~57mm.

3)    Multimedia Speakers from 1 inch ~4 inches.

4)    Virbation speakers from 18mm~44mm.

5)    Enclosed speakers







 Q1. What is the MOQ?
XDEC: 2000pcs for one model.
Q2. What is the delivery lead time?
XDEC: 15 days for normal orders, 10 days for urgent orders. 
Q3. What are the payment methods?
XDEC: T/T, PayPal, Western Union, Money Gram. 
Q4. Can you offer samples for testing?
XDEC: Yes, we offer free samples. 
Q5. How soon can you send samples?
XDEC: We can send samples in 3-5 days.

XDEC Speaker

Xdec Speaker,Waterproof Speaker,Wireless Outdoor Speakers,Outdoor Bluetooth Speakers

Shenzhen Xuanda Electronics Co., Ltd. ,