What is scope in design partitioning?

Hi
I’ll keep it short and simple. What is scope in design partitioning?

Scope in C++ generally means the region in which a particular entity such as variable, function is accessible. In other words scope determines the lifetime of the entity within the source code. In HLS, scope is used to create reusbale entities in hardware. By using ‘{}’ or by defining pragmas, certain sub-blocks of code within the design are treated as separate bocks, which are synthesized as CCOREs or reusable entities. This is used when the same logic is repeated throughout the design, when sharing is minimal with the overall design or to improve runtime in HLS tools. They are generally combinational blocks.