SIS8300-L MLVDS Input/Output Control register firmware bug

MLVDS Input/Output Control register 0x12 below release 0x1007 has a copy&paste bug in the top level VHDL code, which is affecting triggering of MLVDS input 7.

The bug is fixed in macro and synthesized versions from 0x1007 on.

Thanks to ESS/COSYLAB for bringing the bug to our attention and assistance in tracking it down.

Find the section below in case you would like to fix it in your code, which is based on our macro.

if rising_edge(sys_ad9510_no1_bufg_clk) then  —

external_ored_trigger_signal <=

(ext_trigger_harlink_rising_pulse(1)  and addr_0x13_reg_q(8)  and not addr_0x13_reg_q(12) )

or (ext_trigger_harlink_falling_pulse(1) and addr_0x13_reg_q(8)  and     addr_0x13_reg_q(12) )

or (ext_trigger_harlink_rising_pulse(2)  and addr_0x13_reg_q(9)  and not addr_0x13_reg_q(13) )

or (ext_trigger_harlink_falling_pulse(2) and addr_0x13_reg_q(9)  and     addr_0x13_reg_q(13) )

or (ext_trigger_harlink_rising_pulse(3)  and addr_0x13_reg_q(10) and not addr_0x13_reg_q(14) )

or (ext_trigger_harlink_falling_pulse(3) and addr_0x13_reg_q(10) and     addr_0x13_reg_q(14) )

or (ext_trigger_harlink_rising_pulse(4)  and addr_0x13_reg_q(11) and not addr_0x13_reg_q(15) )

or (ext_trigger_harlink_falling_pulse(4) and addr_0x13_reg_q(11) and     addr_0x13_reg_q(15) )

or (ext_trigger_mlvds_rising_pulse(0)  and addr_0x12_reg_q(8) and not addr_0x12_reg_q(0) )

or (ext_trigger_mlvds_falling_pulse(0) and addr_0x12_reg_q(8) and     addr_0x12_reg_q(0) )

or (ext_trigger_mlvds_rising_pulse(1)  and addr_0x12_reg_q(9) and not addr_0x12_reg_q(1) )

or (ext_trigger_mlvds_falling_pulse(1) and addr_0x12_reg_q(9) and     addr_0x12_reg_q(1) )

or (ext_trigger_mlvds_rising_pulse(2)  and addr_0x12_reg_q(10) and not addr_0x12_reg_q(2) )

or (ext_trigger_mlvds_falling_pulse(2) and addr_0x12_reg_q(10) and     addr_0x12_reg_q(2) )

or (ext_trigger_mlvds_rising_pulse(3)  and addr_0x12_reg_q(11) and not addr_0x12_reg_q(3) )

or (ext_trigger_mlvds_falling_pulse(3) and addr_0x12_reg_q(11) and     addr_0x12_reg_q(3) )


or (ext_trigger_mlvds_rising_pulse(4)  and addr_0x12_reg_q(12) and not addr_0x12_reg_q(4) )

or (ext_trigger_mlvds_falling_pulse(4) and addr_0x12_reg_q(12) and     addr_0x12_reg_q(4) )

or (ext_trigger_mlvds_rising_pulse(5)  and addr_0x12_reg_q(13) and not addr_0x12_reg_q(5) )

or (ext_trigger_mlvds_falling_pulse(5) and addr_0x12_reg_q(13) and     addr_0x12_reg_q(5) )

or (ext_trigger_mlvds_rising_pulse(6)  and addr_0x12_reg_q(14) and not addr_0x12_reg_q(6) )

or (ext_trigger_mlvds_falling_pulse(6) and addr_0x12_reg_q(14) and     addr_0x12_reg_q(6) )

—                                                                                           or (ext_trigger_mlvds_rising_pulse(7)  and addr_0x12_reg_q(14) and not addr_0x12_reg_q(7) )

—                                                                                           or (ext_trigger_mlvds_falling_pulse(7) and addr_0x12_reg_q(14) and     addr_0x12_reg_q(7) ) ;

or (ext_trigger_mlvds_rising_pulse(7)  and addr_0x12_reg_q(15) and not addr_0x12_reg_q(7) )   — mod. 22.08.2014

or (ext_trigger_mlvds_falling_pulse(7) and addr_0x12_reg_q(15) and     addr_0x12_reg_q(7) ) ; — mod. 22.08.2014


end if;


This entry was posted in Digitizer, Firmware. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.