Skip to content

Latest commit

 

History

History
100 lines (100 loc) · 4.99 KB

README.md

File metadata and controls

100 lines (100 loc) · 4.99 KB

// Chisel Project Template // ======================= // // You've done the Chisel Bootcamp, and now you // are ready to start your own Chisel project. The following procedure should get you started // with a clean running Chisel3 project. // // ## Make your own Chisel3 project // // ### Dependencies // // #### JDK 8 or newer // // We recommend LTS releases Java 8 and Java 11. You can install the JDK as recommended by your operating system, or use the prebuilt binaries from AdoptOpenJDK. // // #### SBT or mill // // SBT is the most common built tool in the Scala community. You can download it here.
// mill is another Scala/Java build tool without obscure DSL like SBT. You can download it here // // ### How to get started // // #### Create a repository from the template // // This repository is a Github template. You can create your own repository from it by clicking the green Use this template in the top right. // Please leave Include all branches unchecked; checking it will pollute the history of your new repository. // For more information, see "Creating a repository from a template". // // #### Wait for the template cleanup workflow to complete // // After using the template to create your own blank project, please wait a minute or two for the Template cleanup workflow to run which will removes some template-specific stuff from the repository (like the LICENSE). // Refresh the repository page in your browser until you see a 2nd commit by actions-user titled Template cleanup. // // // #### Clone your repository // // Once you have created a repository from this template and the Template cleanup workflow has completed, you can click the green button to get a link for cloning your repository. // Note that it is easiest to push to a repository if you set up SSH with Github, please see the related documentation. SSH is required for pushing to a Github repository when using two-factor authentication. // // sh // git clone [email protected]:2022lyb/lyb_chisel.git // cd lyb_chisel // // // #### Set project organization and name in build.sbt // // The cleanup workflow will have attempted to provide sensible defaults for ThisBuild / organization and name in the build.sbt. // Feel free to use your text editor of choice to change them as you see fit. // // #### Clean up the README.md file // // Again, use you editor of choice to make the README specific to your project. // // #### Add a LICENSE file // // It is important to have a LICENSE for open source (or closed source) code. // This template repository has the Unlicense in order to allow users to add any license they want to derivative code. // The Unlicense is stripped when creating a repository from this template so that users do not accidentally unlicense their own work. // // For more information about a license, check out the Github Docs. // // #### Commit your changes // sh // git commit -m 'Starting lyb_chisel' // git push origin main // // // ### Did it work? // // You should now have a working Chisel3 project. // // You can run the included test with: // sh // sbt test // // // You should see a whole bunch of output that ends with something like the following lines // // [info] Tests: succeeded 1, failed 0, canceled 0, ignored 0, pending 0 // [info] All tests passed. // [success] Total time: 5 s, completed Dec 16, 2020 12:18:44 PM // // If you see the above then... // // ### It worked! // // You are ready to go. We have a few recommended practices and things to do. // // * Use packages and following conventions for structure and naming // * Package names should be clearly reflected in the testing hierarchy // * Build tests for all your work // * Read more about testing in SBT in the SBT docs // * This template includes a test dependency on chiseltest, this is a reasonable starting point for most tests // * You can remove this dependency in the build.sbt file if you want to // * Change the name of your project in the build.sbt file // * Change your README.md // // ## Problems? Questions? // // Check out the Chisel Users Community page for links to get in contact!