mattvenn / multi_project_tools

tools to help make the most of the limited space we have on the Google sponsored Efabless shuttles
https://www.zerotoasiccourse.com
Apache License 2.0
34 stars 14 forks source link

support different size projects #8

Closed mattvenn closed 2 years ago

mattvenn commented 3 years ago

turn off wishbone and save pins, then can have smaller dies

stack up the projects to make a best fit?

zbigos commented 2 years ago

Since most of this code is written in python, I think I could start working on this?

I just wanted to ask if by "support different size projects" you mean supporting arbitrary sizes in um^2, passed in projects.yaml, or would a solution where multiple blocks are joined to be above the minimum area would be enough.

Also, this might not be such a great suggestion, but wouldn't it make sense to have this tool generate layout for the bus that connects those cells together? It seems that there is a lot of space wasted between them.

In any case, if you think that I should start working on either of these, I'd be more than happy to provide a design doc and start development on it

mattvenn commented 2 years ago

Hey, thanks for the offer of helping! The number of pins a macro has determines the minimum size. I also want some standardisation, so we are thinking of some options: wishbone, logic analyser, memory interface, gpio. Then you toggle them on or off and get different minimum sizes.

Re the bus, initially I thought the same, but was talked out of it by the openlane devs. You're right there is a lot of wasted space and I feel we can improve on this.

Why don't you join the next work session with me and Paweł. Check the mpw-preparation channel on the discord.

mattvenn commented 2 years ago

work ongoing here: https://docs.google.com/document/d/1FM2ETW70EMXpwIMmjO7sIhuT_zpv9lugnDj3JV5Qjlg/edit#heading=h.jag4o8bosh7i