HOME   PREV   FURTHER NOTES   NEXT (Synopsys Behavioural Compiler)

Static and Dynamic Scheduling

RAM ports, ALUs, non fully-pipelined components and other shared resources can cause Structural Hazards. Structural Hazard: Cannot proceed with an operation because a resource is in use. To overcome hazards we must use shedulling and arbitration:

One schedulling decision impacts on another: ideally need global optimum.

Often schedulling can be done at compile time, (e.g.\ for operations performed by a single behavioural thread).

Remainder must be done at run time according to actual input data. Relative interleaving of different threads is often unpredictable.