Hii Kindly anyone help me out in uploading our git...
# caravel
s
Hii Kindly anyone help me out in uploading our git to the efabless repo..kindly tell me the steps...i couldn't upload my design
t
You can reach out to @Anton Maurovic (efabless support) for customer support.
a
Hi @sherin, I'd love to help. At a high level, the steps are usually this: 1. Register yourself at platform.efabless.com using one of 3 possible authentication methods that you'll then stick with. 2. Create a new project on an Active Shuttle. 3. Optionally grant our support team access to your project. 4. Push your existing git repo into the newly-created project -- let us know when you've done this. 5. Start your first "MPW Precheck" run on our server, even if your project isn't yet finished. It helps to prime everything for you and make sure you've got the right basic structure. 6. Do as many additional git-pushes and "MPW Precheck" runs as you like, until you get to one you consider final and our server says is a "pass". 7. Do a "Tapeout" run on our server. 8. Assuming it completes successfully, click the "Submit" button at the end. 9. NOTE: Aim to be completely finished and passing the "Tapeout" job at least a few days before the deadline. Both the Precheck and Tapeout jobs take hours, and can sometimes surface things you need to go back and fix (and then re-run all over again). 10. NOTE: You can go back and resubmit later, if you need to revise your design before the deadline.
I will provide you with some more-detailed steps too...
To get your account, Efabless project repo, and local-to-Efabless git repo push set up, do the following... 1. Go to platform.efabless.com and register using one of the 3 authentication methods provided (LinkedIn, GitHub, or Google) -- whichever you use, make sure you use that same one at all times in the future. 2. This will ask you to create a username for yourself. 3. Then (and each subsequent time go to to platform.efabless.com) you will be presented with a Dashboard that shows you your current projects (if any) and shuttle(s) you can join. Note that there are 3 panels at the top under "Design Resources" that help you get started, including the 3rd panel which has a link to our Getting Started guide which has videos going into more detail for the steps I'm describing here. Note that joining a shuttle does not mean you are committed to pay, so this is the next recommended step... 4. On the Dashboard, scroll down to Active Shuttles, and look for "CI 2411" (which is the one actually available now) -- then click "Start Project" on it (see screenshot below). 5. Now you can create your project. In "Title" give it a name containing only alphanumeric characters. Underscores and dashes are also allowed, but nothing else. Decide if you want it to be "Private" or "Public". "Description" doesn't matter but cannot be blank. Don't worry about the other fields and just click "Save" 6. Likely, you will then be asked to log in again... maybe twice, in fact. Use the same method you chose in step 1. You should then be presented with an empty repository on our repositories.efabless.com server, into which you will (soon) push your existing git repository. 7. At this point, I strongly recommend you follow this guide to grant the Efabless team access to your repository. You're not required to do this (assuming you want to keep your project really private, thus preventing even our support technicians from seeing it) and you can still tape out and get your chip fabricated without doing this, but if you do grant our team access it will streamline the support we can give you and help expedite data delivery for tapeout. 8. Returning back to the intro page of your newly-created repo, you will want to push your existing git repo contents into it. There are 3 grey panels of commands presented into the "Instructions", and it is the 3rd panel you want in this case, which reads as follows:
Copy code
git remote add ef-repo <ssh://git@repositories.efabless.com/YOUR_USERNAME/YOUR_REPO_NAME.git>
git push -u ef-repo main --force
So, copy each of those commands individually as your Efabless repo web page presents them (i.e. don't copy them from my example above), and run then one after the other. The first command configures your local git repo to recognize that it can push to a new remote server called (in this case) "ef-repo"; that's just a convenient alias. The second command will push your local repo's
main
branch to your server repo's
main
branch, and it will
--force
it. Let us know when you've completed your initial push -- and tell us the repositories.efabless.com URL of your repo -- as it will allow us to reconcile this and close the loop. Please also note the following: • If your own local branch that you want to push (i.e. run
git branch
and see what it says) is NOT already called
main
then an extra decision/step might be required. Let me know if this applies to you. • When doing the final "git push ..." command, you might see an error message reported, but hopefully it should still complete successfully despite this, and then you can refresh the repo web page on our server and go to the "Commits" link to see that your latest commit is, in fact, on our server.
Please also note that the "git push -u ..." option will link your local branch with ef-repo. If you previously had it implicitly linked to (say) a remote GitHub or GitLab repo, it will override this. That means that if you do a simple
git push
command in future, it will push to our server by default (
ef-repo
). This can be changed, but you can also just explicitly say
git push ef-repo
to push to us or (typically)
git push *origin*
to push to GitHub.
Let me know how you go with all of this, and either help you fix issues, or give you the next steps for MPW Precheck and Tapeout.
By the way, is your project a Caravel (e.g. https://github.com/efabless/caravel_user_project) or Caravan project, or maybe OpenFrame?
s
Thank you