1) All of the Pele-based designs (OpenHCI, among others) do an excellent
job as both initiator and target ... indeed, they can support an almost
unlimited number of simultaneous initiator and target contexts
simultaneously. They are, however, PCI bus master designs ... so unless you
are building a relatively high-end printer, they may not be in your price
range (but check with IC suppliers like Sony, Symbios, and FFM for Pele,
and virtually everyone about OpenHCI).
2) Sony has a fine SBP-2 target part that is also useful for initiator use,
but requires more software and external DMA interaction.
3) The number of input FIFOs is not too important, except as an
optimization, particularly when inbound bus bridging is provided (useful
for CPU-type initiators). The key is to have good receive DMA into the
controller memory.
4) 1394 is quite different from traditional "I/O channels" ... mainly
because it's really a memory bus. If you treat it correctly (as a memory
bus), then it is quite simple to implement multiple stacks using the same
hardware. Indeed, our own proto systems implement as many as 4 protocol
stacks using relatively primative hardware.
===========================================================================
Michael D. Johas Teener, Chief Technical Officer & Chairman of the Board
Zayante, Inc., 269 Mt. Hermon Rd. #111, Scotts Valley, CA 95066-4000, USA
email: mike@zayante.com voice: +1-408-461-4901 fax: +1-408-461-1394
======================== http://www.zayante.com ===========================