logidrom
logidrom copied to clipboard
DataPath or Control logic?
Some of RTL structures describe control Logic and some DataPath There is no direct way in Verilog or VHDL to express one or another. In ASIC or FPGA both structures are implemented from the logic gates and Flip-Flops
It might be difficult to classify it with 100% certainty. But one should be able to assign some fuzzy value to each structure or wire by analyzing them in context.
How to classify?
| feature | datapath | control logic |
|---|---|---|
| perform arithmetic operations (+ - *) | +1 | |
| has regular 2^N width | +1 | |
| it called bus | +1 | |
| affects Flip-Flop enable | +1 | |
| perform logic operations | +1 | |
| drive MUX select | +1 | |
| it is part of FSM | +1 | |
| has 1-bit width | +1 | |
| used as condition in if-else statement | +1 | |
| signal reduced by comparison operator | +1 | |
| loops | +1 |
Detect State Machines
Finite State Machines (FSM) can be extracted from control logic blobs.
Why to classify?
- DataPath and Control Logic require diferent visualization.
- DataPath requires more directional drawing (Strict Left-to-Right or Top-to-Bottom)
- Control Logic has more loops, Forward/Backward chains
- Control Logic Diagram
- FSM can be rendered as State Diagram
- Rendered in the mix DataPath and Control Logic can have distinct shapes, colors, symbols
Example
Colors / Shapes
One option of using the classifier is to apply different line color/width on top of a schematic rendering.
Regions
Here is the case when DataPath and Control logic drew on the same schematic sheet but in two distinct regions.
References
- https://en.wikipedia.org/wiki/Datapath
- https://en.wikipedia.org/wiki/Control_logic