Skip to content

Commit

Permalink
Merge pull request #2891 from verilog-to-routing/feature-prepacker-cl…
Browse files Browse the repository at this point in the history
…eanup

[Prepack] Improved Documentation on Molecule Chains
  • Loading branch information
AlexandreSinger authored Feb 11, 2025
2 parents 321a0e2 + 035ae0f commit 0cf372a
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions vpr/src/pack/prepack.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,15 @@ enum class e_pack_pattern_molecule_type : bool {
* @brief Represents a grouping of atom blocks that match a pack_pattern,
* these groups are intended to be placed as a single unit during packing
*
* A chain is a special type of pack pattern. A chain can extend across multiple logic blocks.
* Must segment the chain to fit in a logic block by identifying the actual atom that forms the root of the new chain.
* Assumes that the root of a chain is the primitive that starts the chain or is driven from outside the logic block
* A chain is a special type of pack pattern since it can extend across multiple
* logic blocks. The prepacker segments the chain into molecules that each fit
* in a logic block by identifying the atom that forms the root of the chain,
* and starting the first molecule from it. Long chains can lead to multiple
* molecules; a new molecule is created as the chain is traversed every time we
* exceed the maximum number of bits a single logic block can implement. The
* MoleculeChainId can be used to identify the molecules that are part of the
* same chain; it is set to Invalid if a given molecule did not come from a
* chain.
*/
class t_pack_molecule {
public:
Expand Down

0 comments on commit 0cf372a

Please sign in to comment.