Цитата(Mukhanov @ Aug 10 2006, 00:37)

SCL я так понимаю можно только мастером генерить.
Открытый сток меня собственно и волнует, не будет ли каких проблем на входе у Спартана.
да, SCL всегда генерится мастером
а какие проблемы с открытым стоком?! чем не устраивает предложенное выше решение?
даже сам XILINX такое решение использует. вот клок из исходников:
Код
...
-- SMBUS bus signals
sda : inout std_logic;
scl : inout std_logic;
...
-- set SDA and SCL
sda <= '0' when sda_oe = '1' else 'Z';
scl <= '0' when scl_out_reg = '0' else 'Z';
...
-- sda_oe is set when master and arbitration is not lost and data to be output = 0 or
-- when slave and data to be output is 0
sda_oe <= '1' when ((master_slave = '1' and arb_lost = '0' and sda_out_reg = '0') or
(master_slave = '0' and slave_sda = '0')
or stop_scl_reg = '1') else '0';