{"id":13648899,"url":"https://github.com/wangrunji0408/rjrouter","last_synced_at":"2025-07-02T08:34:03.679Z","repository":{"id":83782044,"uuid":"299979698","full_name":"wangrunji0408/rjrouter","owner":"wangrunji0408","description":"[AFK] Hardware router in Chisel (THU Network Joint Lab 2020)","archived":false,"fork":false,"pushed_at":"2020-10-08T06:08:18.000Z","size":74,"stargazers_count":14,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T12:29:39.378Z","etag":null,"topics":["chisel","router"],"latest_commit_sha":null,"homepage":"https://lab.cs.tsinghua.edu.cn/router/doc/joint/","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wangrunji0408.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-09-30T16:19:31.000Z","updated_at":"2023-09-27T08:41:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"658f9be3-a714-4915-a27a-0641c48d7e37","html_url":"https://github.com/wangrunji0408/rjrouter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangrunji0408%2Frjrouter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangrunji0408%2Frjrouter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangrunji0408%2Frjrouter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangrunji0408%2Frjrouter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wangrunji0408","download_url":"https://codeload.github.com/wangrunji0408/rjrouter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248586742,"owners_count":21129092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chisel","router"],"created_at":"2024-08-02T01:04:37.977Z","updated_at":"2025-04-12T15:22:41.213Z","avatar_url":"https://github.com/wangrunji0408.png","language":"Scala","funding_links":[],"categories":["Scala"],"sub_categories":[],"readme":"Chisel Project Template\n=======================\n\nYou've done the Chisel [tutorials](https://github.com/ucb-bar/chisel-tutorial), and now you \nare ready to start your own chisel project.  The following procedure should get you started\nwith a clean running [Chisel3](https://github.com/freechipsproject/chisel3) project.\n\n\u003e More and more users are finding IntelliJ to be a powerful tool for Chisel coding. See the \n[IntelliJ Installation Guide](https://github.com/ucb-bar/chisel-template/wiki/IntelliJ-Installation-Guide) for how to install it.\n\n## Make your own Chisel3 project\n### How to get started\nThe first thing you want to do is clone this repo into a directory of your own.  I'd recommend creating a chisel projects directory somewhere\n```sh\nmkdir ~/ChiselProjects\ncd ~/ChiselProjects\n\ngit clone https://github.com/ucb-bar/chisel-template.git MyChiselProject\ncd MyChiselProject\n```\n### Make your project into a fresh git repo\nThere may be more elegant way to do it, but the following works for me. **Note:** this project comes with a magnificent 339 line (at this writing) .gitignore file.\n You may want to edit that first in case we missed something, whack away at it, or start it from scratch.\n \n#### Clear out the old git stuff\n```sh\nrm -rf .git\ngit init\ngit add .gitignore *\n```\n\n#### Rename project in build.sbt file\nUse your favorite text editor to change the first line of the **build.sbt** file\n(it ships as ```name := \"chisel-module-template\"```) to correspond \nto your project.\u003cbr/\u003e\nPerhaps as ```name := \"my-chisel-project\"```\n\n#### Clean up the README.md file\nAgain use you editor of choice to make the README specific to your project.\nBe sure to update (or delete) the License section and add a LICENSE file of your own.\n\n#### Commit your changes\n```\ngit commit -m 'Starting MyChiselProject'\n```\nConnecting this up to github or some other remote host is an exercise left to the reader.\n\n### Did it work?\nYou should now have a project based on Chisel3 that can be run.\u003cbr/\u003e\nSo go for it, at the command line in the project root.\n```sh\nsbt 'testOnly gcd.GCDTester -- -z Basic'\n```\n\u003eThis tells the test harness to only run the test in GCDTester that contains the word Basic\nThere are a number of other examples of ways to run tests in there, but we just want to see that\none works.\n\nYou should see a whole bunch of output that ends with something like the following lines\n```\n[info] [0.001] SEED 1540570744913\ntest GCD Success: 168 tests passed in 1107 cycles in 0.067751 seconds 16339.24 Hz\n[info] [0.050] RAN 1102 CYCLES PASSED\n[info] GCDTester:\n[info] GCD\n[info] Basic test using Driver.execute\n[info] - should be used as an alternative way to run specification\n[info] using --backend-name verilator\n[info] running with --is-verbose\n[info] running with --generate-vcd-output on\n[info] running with --generate-vcd-output off\n[info] ScalaTest\n[info] Run completed in 3 seconds, 184 milliseconds.\n[info] Total number of tests run: 1\n[info] Suites: completed 1, aborted 0\n[info] Tests: succeeded 1, failed 0, canceled 0, ignored 0, pending 0\n[info] All tests passed.\n[info] Passed: Total 1, Failed 0, Errors 0, Passed 1\n[success] Total time: 5 s, completed Oct 26, 2018 9:19:07 AM\n```\nIf you see the above then...\n\n### It worked!\nYou are ready to go. We have a few recommended practices and things to do.\n* Use packages and following conventions for [structure](http://www.scala-sbt.org/0.13/docs/Directories.html) and [naming](http://docs.scala-lang.org/style/naming-conventions.html)\n* Package names should be clearly reflected in the testing hierarchy\n* Build tests for all your work.\n* This template includes a dependency on the Chisel3 IOTesters, this is a reasonable starting point for most tests\n* You can remove this dependency in the build.sbt file if necessary\n* Change the name of your project in the build.sbt file\n* Change your README.md\n\nThere are [instructions for generating Verilog](https://github.com/freechipsproject/chisel3/wiki/Frequently-Asked-Questions#get-me-verilog) on the Chisel wiki.\n\nSome backends (verilator for example) produce VCD files by default, while other backends (firrtl and treadle) do not.\nYou can control the generation of VCD files with the `--generate-vcd-output` flag.\n\nTo run the simulation and generate a VCD output file regardless of the backend:\n```bash\nsbt 'test:runMain gcd.GCDMain --generate-vcd-output on'\n```\n\nTo run the simulation and suppress the generation of a VCD output file:\n```bash\nsbt 'test:runMain gcd.GCDMain --generate-vcd-output off'\n```\n\n## Development/Bug Fixes\nThis is the release version of chisel-template. If you have bug fixes or\nchanges you would like to see incorporated in this repo, please checkout\nthe master branch and submit pull requests against it.\n\n## License\nThis is free and unencumbered software released into the public domain.\n\nAnyone is free to copy, modify, publish, use, compile, sell, or\ndistribute this software, either in source code form or as a compiled\nbinary, for any purpose, commercial or non-commercial, and by any\nmeans.\n\nIn jurisdictions that recognize copyright laws, the author or authors\nof this software dedicate any and all copyright interest in the\nsoftware to the public domain. We make this dedication for the benefit\nof the public at large and to the detriment of our heirs and\nsuccessors. We intend this dedication to be an overt act of\nrelinquishment in perpetuity of all present and future rights to this\nsoftware under copyright law.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR\nOTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\nARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n\nFor more information, please refer to \u003chttp://unlicense.org/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwangrunji0408%2Frjrouter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwangrunji0408%2Frjrouter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwangrunji0408%2Frjrouter/lists"}