At present, the requirements for real-time and fast digital signal processing are getting higher and higher, both in military and civilian fields. As programmable logic devices (PLDs) are rapidly increasing in speed and integration, more and more electronic systems use programmable logic devices to implement digital filtering.
Altera's FLEX10K is the first embedded PLD in the industry, with advantages such as high density, low cost and low power. The main structural feature of the device is that in addition to the main logic array block (LAB), the embedded array block (EAB) is used for the first time. Each array block contains 8 logic elements (LE) and a local interconnect. An LE is composed of a four-input lookup table (LUT), a programmable register and a dedicated signal channel for carrying and cascading functions.
In the FLEX10K device, each group of logic elements (8 LEs) is composed of a logic array block (LAB), and all logic array blocks (LABs) are arranged in rows and columns. A single EAB is also included in a row. Multiple LABs and multiple EABs are connected to each other using fast channels. The
embedded array block (EAB) is an important component in the structural design of the FLEX10K series devices. It is a flexible RAM block with registers for both input and output ports. The size and flexibility of the embedded array block (EAB) are suitable for more memory. Functions include multipliers, vector standards and error correction circuits. In applications, these functions can be combined to complete the functions of digital filters and microcontrollers.
The programmable embedded array block (EAB) with a read-only platform can perform logical functions during configuration and establish a large lookup table (LUT). In this lookup table, the combinational logic function is performed with the results of the lookup without calculating them. Obviously, the execution of this combinational logic function is faster than the usual algorithm execution in logic, and the dedicated EAB is easy to apply and quickly provides possible predictable delays. This article
introduces the method of using Altera's FLEX10K series
CPLD
to quickly complete convolution to realize
the design of
finite impulse response (
FIR
) filters.
Table lookup method to realize convolution operation method
The basic structure of the finite impulse response (FIR) filter is a segmented delay line. The output of each segment is weighted and accumulated to obtain the output of the filter. Mathematically expressed as:
The structure is shown in Figure 1. It consists of weighted summing of tapped signals on a delay line with evenly spaced taps.
According to the above formula, it can be seen that FIR digital filter involves a large number of convolution operations, which will take up a lot of resources when implemented using conventional hardware. By making full use of the table lookup structure of the FLEX10K series chip, the convolution operation is converted into a table lookup shift sum to achieve it. For example: for the formula
y = [x(1) h(1)] + [x(2) h(2)] + [x(3) h(3)] + [x(4) h(4)] (1)
Assume that x and h are both unsigned binary integers with a width of two digits and two values as follows:
h(1) = 01, h(2) = 11, h(3) = 10, h(4) = 11
x(1) = 11, x(2) = 00, x(3) = 10, x(4) = 01
From Figure 2, we can see the implementation of the operation of formula (1). The four data in the intermediate data p1(n) are actually the result of multiplying the lowest bit of the multiplier x(n) by h(n), and the value is either 0 or h(n). Further consideration is that the values of the intermediate data p1 and p2, that is, "100" and "011", are composed of the sum of different h(n), and the choice of h(n) is determined by the same bit of the multiplier x(n). For example, if the lowest bit of x(n) in the above figure is 1001, then the value of p1 is h(1) + h(4); if its high bit is 1010, then the value of p1 is h (1) + h(3). Therefore, by using the lookup table (LUT) structure in Altera's FLEX device, various combinations of h(n) are stored in the lookup table in advance, and the convolution operation in the above example that originally required 4 multiplications and 3 additions is converted into 1 addition. Figure 3 shows the structure of implementing this example using a lookup table.
When using the lookup table method to implement convolution operations, there are two structures: parallel and serial. Figure 3 shows a parallel structure, in which the two LUTs are exactly the same. In the parallel structure, the number of LUTs is determined by the data width of x(n). One bit corresponds to one LUT, so that the speed is maximized. In the FLEX10K structure, two dedicated data channels are provided, namely the carry chain and the cascade chain. Through the cascade chain, adjacent LUTs can be used to calculate various parts of the function in parallel.
Using the FLEX10K chip to implement the FIR digital filter
The FELEX10K series chip has a lookup table structure, which is used to implement the FIR digital filter using global parallelism, that is, the input x(n) is processed simultaneously after different delays.
The hierarchical structure diagram of the FIR digital filter is shown in Figure 4:
The controller module (contr) generates control signals to control the delay, parallel-to-serial conversion, tap coefficient, and shift-addition modules so that they can be combined in a certain form to realize the filter function. After receiving the A/D conversion end signal, the controller module generates various control signals such as the shift register enable signal, the parallel-to-serial conversion load signal, the shift-addition load signal, the addition and subtraction control signal, and the filter result output signal in sequence, so that the above modules can operate according to a certain timing sequence, thereby completing the filtering function. The delay link module (shift-reg) is used to make the data after A/D conversion pass through different triggers, thereby generating different delays. The parallel/serial conversion module (ps-ff) is used to convert the different delays generated by the delay module into the serial address of the lookup table at the same time, and provide it to the tap coefficient module. The tap coefficient module (sub-rom) solidifies various combinations of tap coefficients in the ROM. Its address input receives the serial output of the parallel/serial conversion module, and then looks up the table to obtain the intermediate data of the convolution. The shift-addition module realizes the function of multiplying two numbers by shifting and adding the intermediate data.
Previous article:FPGA helps you realize home remote control
Next article:Design of high-speed data acquisition system based on CPLD/FPGA
Recommended ReadingLatest update time:2024-11-16 16:54
- Popular Resources
- Popular amplifiers
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- I have 4 24*18 P2.5 full-color LED dot matrix boards. Let's see what can be done? How to drive them?
- Will high voltage pulses and surges have energy and attenuation after passing through this reverse-connected diode?
- I would like to ask about the problem of low voltage detection.
- [MPS Mall Big Offer Experience Season] Unboxing
- Pingtouge RVB2601 Review: Connecting to Alibaba Cloud IoT Platform
- MSP430F5529 IO port pin interrupt study notes
- Circuit-level electrostatic protection design techniques and ESD protection methods
- [ESK32-360 Review] +TFT screen display function and expansion (3)
- Can the 7805 and 1117-5 power supplies be used within ±0.05?
- CC3200 Kit OURS-SDK-WFB_Exploration 4——FreeRTOS Run