What has 'synthesisable' RTL traditionally provided ?
![]() A circuit to swap two registers. | This PURE RTL form can always @(posedge clk) begin x <= y; y <= x; endbe expressed with this behavioural program: always @(posedge clk) begin t = x; x = y; y = t; end |
The thread is confined to one always block.
The synchonisation with other circuits is fully manual and not obvious from the RTL (its just in the head of the designer).
The amount of state and state encoding is chosen completely manually.