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

Refactor file paths and imports in FABulous code #173

Closed
wants to merge 2 commits into from
Closed

Refactor file paths and imports in FABulous code #173

wants to merge 2 commits into from

Conversation

KelvinChung2000
Copy link
Collaborator

This pull request refactors the file paths and imports in the FABulous code to improve code organization and maintainability.

This will be the first step into enhancing the API ability. This should make extending each building element much easier.

@KelvinChung2000
Copy link
Collaborator Author

@mole99 I have something that I need for my research, and I will need to extend the FABulous in order to do so. I will start with something which should be useful in the long run, and I will slowly add things that I particularly need. Please let me know what you are aiming for in your project, and we might be able to help each other.

@mole99
Copy link
Contributor

mole99 commented May 3, 2024

Hi @KelvinChung2000, my goal is to automatically harden FPGA fabrics using OpenLane 2. Here is my work on that: https://github.com/EAS-DSD/fpga-stitching

It's not very useful so far as it only supports homogeneous fabrics and multiple scripts need to be called. For my master thesis I would like to improve it: I will probably create a custom step in OL2 that receives a tile map and generates the FPGA fabric for it with FABulous, then everything will be integrated into the OL2 run. Also, I will add support for heterogenous fabrics, as FABulous does anyway.

My first step will probably be to extend the FABulous API to allow the generation of an FPGA fabric without a config file by passing a Python data structure directly to FABulous.

What is it that you are aiming at?

@KelvinChung2000
Copy link
Collaborator Author

I will extend the API for architectural exploration, such as changing the wire to the bus. I am now extending the API to allow me to generate a routing model without having any Verilog in the first place. So, I will be building APIs for everything required to create a nextpnr model, at least for now.

We have someone working on something similar; if I am matching the right people, @IAmMarcelJung might be someone you want to talk to.

@IAmMarcelJung
Copy link
Collaborator

@KelvinChung2000 Sorry, I am not doing anything related to the framework itself currently. Maybe you mean @EverythingElseWasAlreadyTaken or even someone else? I know there was/is also someone working with OpenLane, but I do not know his GitHub name, so I can't link him.

@KelvinChung2000
Copy link
Collaborator Author

I thought you were that OpenLane person. Anyway, I will contact him directly on Skype and direct him here.

@GennadiyKn
Copy link

@KelvinChung2000
@mole99
I have almost finished the automated flow for the fabric generation. I need to fix some bugs and clean up the code then i can commit the extension. I will further work on optimizing the tile size and density, the automatic approach from the paper "Shrink my FPGAs" is already implemented in combination with OpenLane.

@mole99
Copy link
Contributor

mole99 commented May 3, 2024

@KelvinChung2000 thanks for connecting!

@GennadiyKn Hi, that sounds very interesting! Some questions from my side: Is your approach FABulous-centric or OpenLane-centric? Are you using OpenLane 1 or do you also make use of OpenLane 2's API? Maybe we should talk somewhere else so we don't spam this PR 😄️

@GennadiyKn
Copy link

@mole99 Hey, yes we can :) Let us connect via mail and then exchange further contact details.
Mail: [email protected]

@mole99
Copy link
Contributor

mole99 commented May 3, 2024

@GennadiyKn Sent you an email 👍️

@EverythingElseWasAlreadyTaken
Copy link
Collaborator

Could you please wait with this PR for #110 ?
Since I've also done many file movements and also had to change all include statements.

@KelvinChung2000
Copy link
Collaborator Author

Yes, that's what I am planning to do.

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

Successfully merging this pull request may close these issues.

5 participants