Hi Larry,
I think this is a subtlety caused by the way the data is modelled (in Logic) in the two cases.
- Originally you have four separate nets. Each will have a unique ID (UID) and it is this that Integrator uses to identify what has changed when you synchronise.
- In the case where you have two separate designs, the four separate nets still exist after your change. However, each of these nets now knows that it is part of (an instance of) a shared net. Integrator can also see this information and so it is able to 'merge' the two original signals into a single signal and keep the wires.
- However, in the case where there is only one design things are different. Logic only keeps one instance of a shared object in a single design even though it may still have multiple representations. Therefore, after sharing you now only have a single net in the design with two representations. This means that one of the original nets has gone. Integrator sees this as a deleted signal and hence it removes both the signal and its wires.
Simon