I am already using the A4 and A5 pins to control two MCP4725 modules. I also want to control two other MCP4725 modules using a set of digital pins, presumably using the Softwire library.
A0 bit is determined by the logic state of A0 pin.
The A0 pin can be tied to VDD or VSS, or can be actively driven by digital logic levels. The advantage
of using the A0 pin is that the users can control
the A0 bit on their application PCB circuit and
also two identical MCP4725 devices can be used
on the same bus line.
From the documentation:
high-level functions provide almost direct compatibility with the Wire library. However, the user must first declare transmit and receive buffers, and configure SoftWire to use them before the high-level functions beginTransmission(), endTransmission(), read(), write() and requestFrom () can be used. Notify SoftWire of the buffers by calling the setTxBuffer() and setRxBuffer() functions, passing in a pointer to a byte or character buffer and the size of the buffer.
I just tried this and this works. Still, for educational purposes I would like to know if it's possible to set up two digital pins as fake SDA SCL pins to control the modules. If anyone reading this knows how to do that, I would love to hear it. But as I've said, the problem CAN be solved this way, it works.