UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 16162

LogiCORE MAC FIR v2.0 - Incorrect results for a DOUT pin are reported for behavioral and netlist simulations for certain parameters of the MAC FIR core

Description

Keywords: Core, CORE Generator, COREGen, MAC FIR, multi-channel, simulation

Urgency: Standard

General Description:
The MAC FIR v2.0 core exhibits a small number of simulation failures with multi-channel, single-rate filters only. This error affects Virtex and Virtex-II devices, and it occurs when Distributed RAM is used for the data buffer and a Virtex device is selected. This failure may also occur in Virtex devices when Block RAM is chosen for the data buffer, but only when the MAC FIR has determined that it can minimize the number of Block RAMs used. This will occur when the number of Block RAMs can be reduced by placing each channel's data in contiguous address space rather than on binary boundaries within the data buffer memory space.

For example, if you select a filter with 42 taps, 12 channels, and a 14-bit data width in a Virtex device, the minimum number of Block RAMs needed would be 2, as a single block RAM can hold 256 14-bit data samples. In this case, only 504 locations of RAM are needed (42 taps x 12 channels). However, if the data is located on binary addresses, each channel requires 64 locations (the next 2^N number greater than 42). A total of 768 locations in memory are needed (64-taps x 12 channels), which requires 3 Block RAMs. In this scenario, the MAC FIR attempts to optimize the number of Block RAMs used, and the simulation failures occur.

This failure is less likely to affect Virtex-II devices; it will only occur when Block RAM is chosen for the data and coefficient buffers.

Solution

You can work around this problem in the following ways:

Virtex devices
If you have selected Distributed RAM and a simulation failure occurs, change the data buffer selection to "Block RAM". Depending upon your parameters, the core may not try to optimize the number of Block RAMs, and the error will not occur.

Virtex-II devices
Change the selection for the coefficient buffer from "Block" to "Distributed" memory.

This will be fixed in next version of the core, which is expected to be included in 5.2i IP Update #2.
AR# 16162
Date Created 09/03/2007
Last Updated 04/01/2009
Status Archive
Type General Article