There are a number of HW restrictions when using 2d block IO, but they are not always known in compile time.
This issue is to add runtime verifications when an env var is given. We don't want this behavior to be the default, as it would impact runtime performance. The code should assert if the HW restrictions are not satisfied at runtime.
Please talk to @whitneywhtsang for HW spec.