Chisel Project Template
=======================
You've done the chisel [tutorials](https://github.com/ucb-bar/chisel-tutorial.git), and now you
are ready to start your own chisel project. The following procedure should get you started
with a clean running [Chisel3](https://github.com/ucb-bar/chisel3.git) project.
## Make your own Chisel3 project
### How to get started
The 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
```sh
mkdir ~/ChiselProjects
cd ~/ChiselProjects
git clone https://github.com/ucb-bar/chisel-template.git MyChiselProject
cd MyChiselProject
```
### Make your project into a fresh git repo
There 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.
You may want to edit that first in case we missed something, whack away at it, or start it from scratch.
#### Clear out the old git stuff
```sh
rm -rf .git
git init
git add .gitignore *
```
#### Rename project in build.sbt file
Use your favorite text editor to change the first line of the **build.sbt** file
(it ships as ```name := "chisel-module-template"```) to correspond
to your project.<br/>
Perhaps as ```name := "my-chisel-project"```
#### Clean up the README.md file
Again use you editor of choice to make the README specific to your project.
Be sure to update (or delete) the License section and add a LICENSE file of your own.
#### Commit your changes
```
git commit -m 'Starting MyChiselProject'
```
Connecting this up to github or some other remote host is an exercise left to the reader.
### Did it work?
You should now have a project based on Chisel3 that can be run.<br/>
So go for it, at the command line in the project root.
```sh
sbt 'testOnly gcd.GCDTester -- -z Basic'
```
>This tells the test harness to only run the test in GCDTester that contains the word Basic
There are a number of other examples of ways to run tests in there, but we just want to see that
one works.
You should see a whole bunch of output that ends with something like the following lines
```
[info] [0.001] SEED 1506028591907
test GCD Success: 168 tests passed in 1107 cycles taking 0.203969 seconds
[info] [0.191] RAN 1102 CYCLES PASSED[info] GCDTester:
[info] GCD
[info] GCD
[info] Basic test using Driver.execute
[info] - should be an alternative way to run specification
[info] using --backend-name verilator
[info] running with --is-verbose creats a lot
[info] using --help
[info] ScalaTest
[info] Run completed in 1 second, 642 milliseconds.
[info] Total number of tests run: 1
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 1, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[info] Passed: Total 1, Failed 0, Errors 0, Passed 1
[success] Total time: 2 s, completed Sep 21, 2017 9:12:47 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](http://www.scala-sbt.org/0.13/docs/Directories.html) and [naming](http://docs.scala-lang.org/style/naming-conventions.html)
* Package names should be clearly reflected in the testing hierarchy
* Build tests for all your work.
* This template includes a dependency on the Chisel3 IOTesters, this is a reasonable starting point for most tests
* You can remove this dependency in the build.sbt file if necessary
* Change the name of your project in the build.sbt
* Change your README.md
## Development/Bug Fixes
This is the release version of chisel-template. If you have bug fixes or
changes you would like to see incorporated in this repo, please checkout
the master branch and submit pull requests against it.
## License
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
没有合适的资源?快使用搜索试试~ 我知道了~
ALU.zip_mips alu_mips乘法_signed adder_verilog 乘法器_verilog 加法器
共501个文件
class:190个
xml:97个
export:43个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 187 浏览量
2022-09-24
23:42:55
上传
评论 2
收藏 2.36MB ZIP 举报
温馨提示
1、撰写一个ALU部件,内部只能使用一个加法器,实现MIPS指令集中所有运算,包括加减乘除、逻辑运算等。乘除包括有符号、无符号运算。 2、设计语言布线,建议使用Chisel,也可以使用Verilog,请自行选择。 3、对于乘法和除法的实现,不用考虑使用的周期数,可以使用最简单的算法,只要结果正确即可,主要目的是练习状态机的使用。 4、所谓只用一个加法器,意思是说乘除法不要使用额外的加法器,与加减法共用同一个加法器。
资源详情
资源评论
资源推荐
收起资源包目录
ALU.zip_mips alu_mips乘法_signed adder_verilog 乘法器_verilog 加法器 (501个子文件)
0243d0ddd6397ab67a885536acd48cf2c95cc3 34B
09c45304be7515e3be5067aa33bee31f69f462 91B
0daaba358b65f6f06daa629113606a9d1ca4e3 1KB
1d56e2f0e65dbf12dc13eb98b5219cbea28f87 44B
22159419abe518a02b37afeb617d1464fa7bee 74B
222a43ae0a6f7d5686c15321e9f79b28ac1e9b 55B
23d8983e060cca16ca646311b8b8eaa89b940f 50B
44bf1e10a151c3c2fd0a8bdf6c884c856cb776 981B
55e649e47a4b19f55b35eb0656e4704cbe6733 44B
5add86c463388e0ae8fa016b6b4e2d76eba13a 989B
5cea11cabea0eb0736c9ab7a12edba6277b30b 50B
6625ebdd2faa08873188bbc7043539cc5abcdb 2KB
817cffe2afcba912f77e1e05a6c958392330b3 33B
831c081b720415d14ef5be1792924374fa3d15 3KB
835b8243d3eb51df75b6b740cb8ba331374745 50B
875988072c8e368a0c0329ce5644dfc08c278c 46B
8875bc4a78b799164c7236a703b1b44e1e5943 50B
8be555d34f96195c6cf97fceaed37ecf55a216 53B
8f138fa2936686a5d36c4bc24846775f6882fe 586B
90d9d7fb4162190f2fe03ab49025aa3f30de13 736B
92eecee8b8ecca7e8aac639e6e38dc56aec5a6 257B
9a7564d0e1c6cec867573cf888521b70d3abea 47B
9ac020e447850af0249d44de8180102e8362fd 1KB
a6ca162c2713a1cdebfd265598b9e75d8d5bae 34B
c50673363c93a28c3cf8f057632125fb0c0d29 47B
$3009264d907728c63d4e.cache 21B
$59943abe3860fdb765dd.cache 21B
$6dba3679e2caff8a28a9.cache 21B
$ac8400bd895fe06fa69a.cache 21B
$5db0eac83303b5621d23.cache 21B
$d4f4c60d5dfc29b4060c.cache 21B
$036496b1328313df7001.cache 21B
$61472ad31a759f59cb36.cache 21B
$9697419475a205d7cf68.cache 21B
$916403e9aade84a358b4.cache 0B
cbcd088593cfb83c6bf97c5a8245ae5be9fd89 44B
ALU.class 26KB
ALU_test.class 13KB
ALU$$anonfun$7.class 12KB
ALU$$anonfun$8.class 11KB
ALU$$anonfun$10.class 11KB
ALU$$anonfun$9.class 11KB
ALU$$anonfun$17.class 11KB
ALU$$anonfun$16.class 11KB
ALU$$anonfun$20.class 11KB
ALU$$anonfun$21.class 11KB
ALU$$anonfun$18.class 10KB
ALU$$anonfun$19.class 10KB
ALU$$anonfun$14.class 10KB
ALU$$anonfun$15.class 10KB
ALU$$anonfun$11.class 10KB
ALU$$anonfun$4.class 10KB
ALU$$anonfun$3.class 10KB
ALU$$anonfun$2.class 10KB
ALU$$anonfun$1.class 10KB
ALU$$anonfun$13.class 10KB
ALU$$anonfun$12.class 10KB
ALU$$anonfun$23.class 10KB
ALU$$anonfun$22.class 10KB
ALU$$anonfun$6.class 10KB
ALU$$anonfun$5.class 10KB
Adder.class 9KB
ALU$$anonfun$24.class 9KB
Div.class 8KB
MUL.class 7KB
MUL$$anonfun$2$$anonfun$apply$mcV$sp$2.class 7KB
MUL$$anonfun$2$$anonfun$apply$mcV$sp$1.class 7KB
GCDUnitTester$$anonfun$1$$anonfun$apply$mcVI$sp$1.class 6KB
Div$$anonfun$2.class 6KB
MUL$$anonfun$2$$anonfun$apply$mcV$sp$3.class 6KB
Div$$anonfun$3.class 6KB
GCD.class 6KB
MUL$$anonfun$1.class 5KB
Div$$anonfun$1.class 5KB
Adder_test.class 5KB
$d4f4c60d5dfc29b4060c$.class 5KB
MUL_test.class 5KB
Div_test.class 5KB
Counter.class 4KB
MUL$$anonfun$3.class 4KB
Div$$anonfun$2$$anonfun$apply$mcV$sp$1.class 4KB
Div$$anonfun$3$$anonfun$apply$mcV$sp$3.class 4KB
GCDTester.class 4KB
Div$$anonfun$2$$anonfun$apply$mcV$sp$5.class 4KB
Div$$anonfun$3$$anonfun$apply$mcV$sp$6.class 4KB
Counter$$anonfun$1$$anonfun$apply$mcV$sp$5.class 4KB
GCD$$anonfun$3.class 4KB
$916403e9aade84a358b4$.class 4KB
ALU$$anonfun$43.class 3KB
ALU$$anonfun$37.class 3KB
ALU$$anonfun$46.class 3KB
ALU$$anonfun$35.class 3KB
ALU$$anonfun$48.class 3KB
ALU$$anonfun$41.class 3KB
ALU$$anonfun$44.class 3KB
ALU$$anonfun$40.class 3KB
ALU$$anonfun$49.class 3KB
ALU$$anonfun$39.class 3KB
ALU$$anonfun$50.class 3KB
Counter$$anonfun$2.class 3KB
共 501 条
- 1
- 2
- 3
- 4
- 5
- 6
局外狗
- 粉丝: 78
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0