Levels of AbstractionFunctional Block Level
Behavioral domain
- Also known as Register Transfer Level
- Arithmetic or logical expressions and transfers between registers
Structural domain
- Functional units such as ALUs, MUXs, adders, and registers
Physical domain
- Floorplanning or layout information for components of structural domain
Notes:
Behavior described at this level ranges from functional or dataflow languages through procedural languages to non-procedural state-machine oriented languages.
Structure implements behavior using ALUs, comparators, muxes, and registers executing in parallel; usually regulated by a single control unit.
Physical domain is concerned with floorplanning the layout by specifying geometric arrangements. Power and area constraints play an increasingly important role.
Timing plays a larger role than at earlier levels. Timing may begin to differentiate between action in major and minor cycles, machine cycles, data flow cycles, etc. Control becomes an explicit entity at this level with its own behavioral, structural, and physical components.