Hello All, I apologize if this is answered somewhe...
# ieee-sscs-dc-22
m
Hello All, I apologize if this is answered somewhere already (I would appreciate it if someone would point me to the documentation), but I am a little confused about Caravel on the administration/dev-ops side of things so I thought I would ask a few questions. To start with, would someone be kindly willing to verify my understanding on the following points? Thank you! 1. It is my understanding that all projects will be wrapped in the User Project Area of Caravel. 2. There is a standard repository format given by the caravel_user_project and caravel_analog_user_project that additionally provide the standardized pinouts and some of the necessary configuration for Caravel. 3. There is only one user_project_wraper per "Caravel" (I'm not sure if this is the right term to use here). So if teams are sharing Si, their designs will be put together into one repository with one wrapper that splits out the io to the respective designs properly? Now with that in mind, I am wondering what is the recommended way to setting up our repositories with the caravel_user_project and caravel_analog_user_project? I can see a few different options and I am wondering what is the best. • (a) Is it best to start a git repository directly from the caravel_user_project template and do all of the work from that repository? • (b) Or is it better to create a repository for the design and a separate repository from the caravel_user_project template and then use a git subtree in the caravel_user_project repository that pulls from the design repository? This is assuming the design repository is structured in a method easily portable into the caravel user project. • (c) Is there another option I do not see that is the best? Without putting much thought into it, I had previously set up our repositories for (b), but I would like to set up our repositories in the way that makes the most sense. Thank you very much for your thoughts and consideration.
r
You are correct with all three points. The good starting place is to clone the existing
caravel_user_project
or
caravel_user_project_analog
repos and use their directory structure. Incase of
caravel_user_project
opelane automatically populates the directories (gds, lef, mag, signoff etc) when macros are hardened. For analog, you will have to copy paste your design files (schematics, gds, mag, spice etc) in the corresponding directories. This will be done for the individual projects. Incase of sharing, a team will create a separate git repo and copy the design files of all the projects present inside the caravel chip that is being shared. The team will then combine all of these projects inside a single
user_project_area
. This caravel then must pass efabless prechecks/tapeout jobs to be sent for fabrication
👍 1
m
@Rana Muhammad Shahid Jamil Thank you for your quick reply. That all makes sense!
m
Hi @Rana Muhammad Shahid Jamil and @Micah Tseng Thanks. I had these same questions once. Maybe we could add these a FAQ on @Harald Pretl's ieee chipathon website?