cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
diverger
Adventurer
Adventurer
155 Views
Registered: ‎06-22-2018

TUSER width when Interface CIC compiler to FIR compiler

Jump to solution

I'm designing a mulit-channel CIC + FIR filter. The channel count is 8.

  1. May I connect the CIC's output tuser to FIR's input tuser?
  2. If 1 is ok, then how to set the width of tsuer? For 8 channel CIC, the tsuer should be "010XXX' pattern, right? Then for FIR, the user field should set to 3, right? But when I generate the top wrapper from the bd file, it throws error: ERROR: [xilinx.com:ip:fir_compiler:7.2-309] /fir_compiler_0 S_AXIS_DATA-TUSER: Field width mismatch: user = 3. /cic_compiler_0 M_AXIS_DATA-TUSER: chan_sync = 1.

Thanks.

0 Kudos
Reply
1 Solution

Accepted Solutions
nathanx
Moderator
Moderator
56 Views
Registered: ‎08-01-2007

Q1 -> May I connect the CIC's output tuser to FIR's input tuser?

A1 -> Did you take a look at CIC PG140 and FIR PG149 on the tuser?

PG140 says Two additional fields are included in multichannel implementation. The CHAN_SYNC field in the Data Output Channel TUSER
vector (m_axis_data_tuser) indicates the output corresponding to the first channel in the time-multiplexed stream. The CHAN_OUT field in the Data Output Channel TUSER vector (m_axis_data_tuser) contains the channel number for each output in the time-multiplexed steam.

For the tuser of FIR, s_axis_data_tuser is the tuser for input DATA channel, which conveys ancillary data to be passed through the core with latency equal to the input DATA to output DATA datapath and or a chan ID field to identify which Time Division Multiplexed (TDM) channel the current sample belongs to.

That said, the tuser of CIC and FIR is different, however, you can connect the chan ID field of CIC tuser to the chan ID field of FIR tuser.

 

Q2 -> If 1 is ok, then how to set the width of tsuer? For 8 channel CIC, the tsuer should be "010XXX' pattern, right? Then for FIR, the user field should set to 3, right? But when I generate the top wrapper from the bd file, it throws error: ERROR: [xilinx.com:ip:fir_compiler:7.2-309] /fir_compiler_0 S_AXIS_DATA-TUSER: Field width mismatch: user = 3. /cic_compiler_0 M_AXIS_DATA-TUSER: chan_sync = 1.

A2 -> The width of CIC tuser is determined by the number of channels. For the FIR tuser, if you select both user and chan ID field in the IP GUI, the width of tuser is determined by both of them. Hope it helps.

View solution in original post

1 Reply
nathanx
Moderator
Moderator
57 Views
Registered: ‎08-01-2007

Q1 -> May I connect the CIC's output tuser to FIR's input tuser?

A1 -> Did you take a look at CIC PG140 and FIR PG149 on the tuser?

PG140 says Two additional fields are included in multichannel implementation. The CHAN_SYNC field in the Data Output Channel TUSER
vector (m_axis_data_tuser) indicates the output corresponding to the first channel in the time-multiplexed stream. The CHAN_OUT field in the Data Output Channel TUSER vector (m_axis_data_tuser) contains the channel number for each output in the time-multiplexed steam.

For the tuser of FIR, s_axis_data_tuser is the tuser for input DATA channel, which conveys ancillary data to be passed through the core with latency equal to the input DATA to output DATA datapath and or a chan ID field to identify which Time Division Multiplexed (TDM) channel the current sample belongs to.

That said, the tuser of CIC and FIR is different, however, you can connect the chan ID field of CIC tuser to the chan ID field of FIR tuser.

 

Q2 -> If 1 is ok, then how to set the width of tsuer? For 8 channel CIC, the tsuer should be "010XXX' pattern, right? Then for FIR, the user field should set to 3, right? But when I generate the top wrapper from the bd file, it throws error: ERROR: [xilinx.com:ip:fir_compiler:7.2-309] /fir_compiler_0 S_AXIS_DATA-TUSER: Field width mismatch: user = 3. /cic_compiler_0 M_AXIS_DATA-TUSER: chan_sync = 1.

A2 -> The width of CIC tuser is determined by the number of channels. For the FIR tuser, if you select both user and chan ID field in the IP GUI, the width of tuser is determined by both of them. Hope it helps.

View solution in original post