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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor etx01cl
Visitor
2,257 Views
Registered: ‎10-14-2008

External Interrupt problem if using a differential input buffer

Hi all,

 

I am experiencing a problem when trying to generate an interrupt from an external signal if I am using a differential input buffer.

For the purpose, I am receiving an interrupt from an external chip on a LVDS input. To interface the input, I am inserting a differential input buffer:

 

BEGIN util_ds_buf
 PARAMETER INSTANCE = ibuff_CMX_IRQ
 PARAMETER HW_VER = 1.00.a
 PARAMETER C_BUF_TYPE = IBUFDS
 PORT IBUF_OUT = xps_CMX_INT
 PORT IBUF_DS_N = fpga_0_CMX_INT_N
 PORT IBUF_DS_P = fpga_0_CMX_INT_P
END

 

 In the interrupt controller, I have added the "xps_CMX_INT".

 

BEGIN xps_intc
 PARAMETER INSTANCE = xps_intc_0
 PARAMETER HW_VER = 1.00.a
 PARAMETER C_BASEADDR = 0x81800000
 PARAMETER C_HIGHADDR = 0x8180ffff
 BUS_INTERFACE SPLB = mb_plb
 PORT Irq = Interrupt
 PORT Intr = xps_spi_DRX_L9826_IP2INTC_Irpt & xps_CMX_INT & xps_timer_1_Interrupt & RS232_DCE_Interrupt
END
 

 

The problem is when synthetizing, I get errors:

 

ERROR:MDT - C_NUM_INTR_INPUTS (xps_intc) - can't use non-numeric string as
   operand of "-"
       while executing
   "expr {abs($svec - $fvec) + 1}"
       (procedure "hw_intc_core_v1_00_c::update_num_intr_inputs" line 21)
       invoked from within
   "hw_intc_core_v1_00_c::update_num_intr_inputs "Intr" $mhsinst"
       (procedure "::hw_xps_intc_v1_00_a::syslevel_update_num_intr_inputs" line
   8)
       invoked from within
   "::hw_xps_intc_v1_00_a::syslevel_update_num_intr_inputs 87183544"
ERROR:MDT - IPNAME:xps_intc INSTANCE:xps_intc_0 -
   c:\Local\Xilinx\10.1\EDK\hw\XilinxProcessorIPLib\pcores\xps_intc_v1_00_a\data
   \xps_intc_v2_1_0.mpd line 48 - error computing override value for
   C_NUM_INTR_INPUTS using tcl
ERROR:MDT - C_KIND_OF_INTR (xps_intc) - can't use non-numeric string as operand
   of "-"
       while executing
   "expr {abs($svec - $fvec) + 1}"
       (procedure "hw_intc_core_v1_00_c::update_kind_of_intr" line 32)
       invoked from within
   "hw_intc_core_v1_00_c::update_kind_of_intr "Intr" $mhsinst"
       (procedure "::hw_xps_intc_v1_00_a::syslevel_update_kind_of_intr" line 8)
       invoked from within
   "::hw_xps_intc_v1_00_a::syslevel_update_kind_of_intr 87185196"
ERROR:MDT - IPNAME:xps_intc INSTANCE:xps_intc_0 -
   c:\Local\Xilinx\10.1\EDK\hw\XilinxProcessorIPLib\pcores\xps_intc_v1_00_a\data
   \xps_intc_v2_1_0.mpd line 49 - error computing override value for
   C_KIND_OF_INTR using tcl

ERROR:MDT - C_KIND_OF_EDGE (xps_intc) - can't use non-numeric string as operand
   of "-"
       while executing
   "expr {abs($svec - $fvec) + 1}"
       (procedure "hw_intc_core_v1_00_c::update_kind_of_edge" line 55)
       invoked from within
   "hw_intc_core_v1_00_c::update_kind_of_edge "Intr" $mhsinst"
       (procedure "::hw_xps_intc_v1_00_a::syslevel_update_kind_of_edge" line 8)
       invoked from within
   "::hw_xps_intc_v1_00_a::syslevel_update_kind_of_edge 87185420"
ERROR:MDT - IPNAME:xps_intc INSTANCE:xps_intc_0 -
   c:\Local\Xilinx\10.1\EDK\hw\XilinxProcessorIPLib\pcores\xps_intc_v1_00_a\data
   \xps_intc_v2_1_0.mpd line 50 - error computing override value for
   C_KIND_OF_EDGE using tcl
ERROR:MDT - C_KIND_OF_LVL (xps_intc) - can't use non-numeric string as operand
   of "-"
       while executing
   "expr {abs($svec - $fvec) + 1}"
       (procedure "hw_intc_core_v1_00_c::update_kind_of_lvl" line 55)
       invoked from within
   "hw_intc_core_v1_00_c::update_kind_of_lvl "Intr" $mhsinst"
       (procedure "::hw_xps_intc_v1_00_a::syslevel_update_kind_of_lvl" line 8)
       invoked from within
   "::hw_xps_intc_v1_00_a::syslevel_update_kind_of_lvl 87187016"
ERROR:MDT - IPNAME:xps_intc INSTANCE:xps_intc_0 -
   c:\Local\Xilinx\10.1\EDK\hw\XilinxProcessorIPLib\pcores\xps_intc_v1_00_a\data
   \xps_intc_v2_1_0.mpd line 51 - error computing override value for
   C_KIND_OF_LVL using tcl

 

If not using a differential input buffer, it does not complain...

 

Thanks in advance,

 

Best Regards,

 

Cédric.

0 Kudos