Arboreus - Buffer-tree generator and Clock-tree synthesizer (CTS)
Arboreus is a clock-tree and buffer-tree generator for the LibrEDA framework. It's purpose is to convert high-fanout nets into fan-out trees by inserting buffers.
High fan-out nets (nets with many sinks) usually require the insertion of additional buffers to assert a certain signal quality (slope and delay). Clock signals and reset signals usually drive many storage cells and hence must be buffered with a tree structured buffering scheme. The outputs of such a buffer tree are usually constrained by timing requirements such as the relative arrival times of the signal edges at the outputs.
This crate provides simple algorithms to create buffer trees. The algorithms here can be used also for small clock trees but currently there's no timing optimization being done.
The documentation is written inline in the code and can be viewed with:
cargo doc --open