google / google/xls

What should happen to channels/procs after block conversion?

Open
#1,173 0 comments 0 reactions 0 assignees View on GitHub
ir
Dominant language
C++
Stars
1.9k
Forks
283
Avg merge
2d 10h
Merged PRs (30d)
135

Description

Currently, functions/procs are left in the package and show up in the module signature. Some of this is useful, for example it is useful for eval_proc_main to associate block ports with channels. Some of this is confusing, though, and can lead to replication. For example, a channel that becomes a FIFO instantiation after block conversion replicates the FIFO config. Furthermore, because channels need to be used, IR with a block instantiation that references a channel needs to have the original proc.

Proc scoped channels (#869) may help make the organization of the module signature + IR more natural. Perhaps blocks should have their own channels used purely to describe the abstract<->physical mapping of ports to channels.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.