Branches are parts of islands.
Expose the island information for branches to the ivl_target API.
This commit is contained in:
parent
87177087c4
commit
16e5197325
10
ivl_target.h
10
ivl_target.h
|
|
@ -422,11 +422,17 @@ typedef const struct ivl_attribute_s*ivl_attribute_t;
|
|||
|
||||
/* BRANCH
|
||||
* Branches are analog constructs, a pair of terminals that is used in
|
||||
* branch access functions. Terminal-1 is the reference node for the
|
||||
* purposes of the access function that accesses it.
|
||||
* branch access functions. Terminal-1 is the reference node (The
|
||||
* "ground") for the purposes of the access function that accesses it.
|
||||
*
|
||||
* SEMANTIC NOTES
|
||||
* All the branches in an island are connected by terminals or by
|
||||
* expressions. The island is the connection of branches that must be
|
||||
* solved together.
|
||||
*/
|
||||
/* extern ivl_scope_t ivl_branch_scope(ivl_branch_t obj); */
|
||||
extern ivl_nexus_t ivl_branch_terminal(ivl_branch_t obj, int idx);
|
||||
extern ivl_island_t ivl_branch_island(ivl_branch_t obj);
|
||||
|
||||
/* DELAYPATH
|
||||
* Delaypath objects represent delay paths called out by a specify
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ struct ivl_design_s {
|
|||
*/
|
||||
struct ivl_branch_s {
|
||||
ivl_nexus_t pins[2];
|
||||
ivl_island_t island;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ static StringHeap api_strings;
|
|||
|
||||
/* THE FOLLOWING ARE FUNCTIONS THAT ARE CALLED FROM THE TARGET. */
|
||||
|
||||
extern "C" ivl_island_t ivl_branch_island(ivl_branch_t net)
|
||||
{
|
||||
return net->island;
|
||||
}
|
||||
|
||||
extern "C" ivl_nexus_t ivl_branch_terminal(ivl_branch_t net, int idx)
|
||||
{
|
||||
assert(idx >= 0);
|
||||
|
|
|
|||
Loading…
Reference in New Issue