The BlackBox struct provides a way to wrap a blackbox, externally provided IP core.
The Wrapper struct provides a more convenient and flexible way to wrap external IP cores than BlackBox.