I want to implement OpenFPGA flow, create my own basic 2*2 homogeneous FPGA using an open-source backend tool (OpenLane), and send it to GFMPW0.
As it is evaluated in the link there are three options to harden in the Caravel environment:
1- Hardening the user macro(s) first, then inserting it in the user project wrapper with no standard cells on the top level:
If this is the right path in the backend tool, the steps might be like following I assume:
Creating CLB, Switch Block, X-Y Connection Block macros. Then putting these macros together to create a Tile macro. Using this last macro 4 times and create 2*2 CLB. Lastly, making I/O connections. (Does this seems right?)
2- Flattening the user macro(s) with the user_project_wrapper
3- Placing multiple macros in the wrapper along with standard cells on the top level
I also want to know about:
what do you recommend for the OpenLane backend tool from the above options?
Finally, is OpenFPGA compatible with GF-180 pdk?