Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Continuing the same thread as in issue #6 #10

Closed
mrinal18 opened this issue Feb 6, 2022 · 2 comments
Closed

Continuing the same thread as in issue #6 #10

mrinal18 opened this issue Feb 6, 2022 · 2 comments

Comments

@mrinal18
Copy link

mrinal18 commented Feb 6, 2022

Continuing the same thread as in #6

Hello, @tfboyd thank you so much for the information, can you also suggest from where you extracted the dataset/macros? because Ariane RISC-V open-source Github link is outdated (According to this riscv-software-src/riscv-tools#333)

Thanks,
Mrinal

@Yangxiaojun1230
Copy link

Continuing the same thread as in #6

Hello, @tfboyd thank you so much for the information, can you also suggest from where you extracted the dataset/macros? because Ariane RISC-V open-source Github link is outdated (According to this riscv-software-src/riscv-tools#333)

Thanks, Mrinal

Hi Mrinal,
Do you find a solution to transform the verilog to the netlist file ?

@esonghori
Copy link
Collaborator

Hi Mrinal,

There are a few steps from a Verilog code to a netlist format readable by the project.

  1. Synthesizing the netlist.
  2. Providing the physical information including macro sizes, the macro pin locations (relative to the center of macro), block size, and I/O port locations.
  3. Converting the logical connections and physical information into a special tensorflow.GraphDef protobuffer format1.
  4. [Optional] Clustering the standard cell to reduce the runtime and memory footprint.

Internally, we rely on commercial synthesis tool used in production for Step 1 and 2. Step 3 also depends on the tool, and as a result, we can't readily open-source them due to IP and trade secret issues.
We plan to have an open-source script to translate LEF/DEF format which you can get from synthesis tools to tensorflow.GraphDef proto to resolve this problem (see #3).

For Step 4, as mentioned in the paper, we use hMETIS, an open-source graph partitioning tool.

Footnotes

  1. The format description is not open-sourced yet (see Documentation for the Netlist Format #12), but you can take a look at environment/test_data/ariane/netlist.pb.txt as an example to figure it out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants