Hi David
I don’t have an exact value for the FIFO resources, but there is a little over head in terms of the amount of resources that you calculate by the size of the FIFO times the data type.
Here are some additional links on the topic.
The table should be taken more as a reference in terms of relationships between the different data types you can use. The exact values will depend on the specific FPGA used, and I think this table was created for an FPGA other than the one on the IF-RIO.
For your second question, it depends on what you consider critical to your application. If you are running short on FPGA resources, then this may be the best way to go. But you will most likely need another filter after your interpolation, but this can be a much simpler filter that the Root Raised Cosine you are using for the first part. If you have a lot of room on the FPGA, I don’t see any reason for not combining both filters into one and interpolating first.
One of our other modules, the NI 5441 uses two filters, a FIR filter first, and then a CIC filter second in the digital up converter in the OSP section. The CIC filter is where most of the interpolation takes place and is not programmable. It also has a traditional, but gradual, low pass filter roll off. The first filter, the FIR, handles a smaller portion of the over all interpolation, but in addition, the filter used here (including the root raised cosine are designed (as much as physically possible) to compensate for the CIC’s roll off and create a relatively flat pass band. (The FIR filters are created using the DFD toolkit.).
So, depending on what you want, the best technique is the one you decide is best.
Jerry