FIR Preprocessing Filter Home Overview Design PLAs System Testing
 
IRSIM
Crystal / SPICE
 
Testing : Crystal / Spice Performance Analysis

 

The two critical systems in the FIR filter are the multiplier and adder. Each were analyzed in Crystal and SPICE to determine their worst-case performance.

 

16-bit Adder

In Crystal, the longest path was found when the adder was given the inputs A=FFFF, B=0001, and Cin=0. This path of 13.3ns was found along the carry bits of the output, which ripple from module to module. When this path was simulated in HSPICE, a more accurate simulator, it was found to be 5.8ns. The SPICE analysis is shown in Figure 1.

 

Click on the figure for a full-sized view

Figure 1: SPICE analysis of Adder

 


12-bit Multiplier

In Crystal, the longest path was found when the multiplier was given the inputs A=FFF and B=FFF. This path of 17.2ns was along the most-significant bit of the multiply product. When the same system was simulated in HSPICE, the worst-case path of 7.5ns was located along the 14th output pin of the product. The SPICE analysis is shown in Figure 2.

Click on the figure for a full-sized view

Figure 2: SPICE analysis of Multiplier

 

Overall Performance

The overall performance of the FIR filter is limited by the worst-case speed of the multiplier, which SPICE simulation placed at 7.5ns. The estimated clock rate of the final system can be found by taking the inverse of the multiplier latency, and dividing it by two, since we are using a two-clock system, and the multiplier should be finished within half a full cycle. Allowing for a factor of safety of two, the estimated maximum stable clock speed is 35 MHz.

The filter specifications dictate that data is to be processed at a rate of 44KHz. This allows 23us for each filter coefficient to be calculated. The 21-tap FIR filter requires 21 multiplication operations and 20 addition operations to be performed in that time frame. Given the timing simulations performed above, this process should be completed within 0.5us, easily meeting the required timing specifications.