# FPGA CNN
FPGA implementation of [Cellular Neural Network](http://www.scholarpedia.org/article/Cellular_neural_network) (CNN)
![CNN formula](https://github.com/dem123456789/FPGA-CNN/blob/master/Fomula.PNG "CNN")
## Initialization
#### CNN
`CNN.v` is Top-level design with initialization for A, B, I template
`SixteenbySixteen.java` generates Verilog code for 16x16 layer module [sixteenbysixteen.v](https://github.com/dem123456789/FPGA-CNN/blob/master/Quartus/sixteenbysixteen.v)
#### Default
[CornerDetection](http://en.wikipedia.org/wiki/Corner_detection)
Other available templates in [here](https://github.com/dem123456789/FPGA-CNN/blob/master/Template_library_v3.1.pdf)
## Instruction
1. Change the `size` variable in SixteenbySixteen can generate different dimension module
2. Contain a 4x4 layer module [fourbyfour.v](https://github.com/dem123456789/FPGA-CNN/blob/master/Quartus/fourbyfour.v)
3. fourbyfour.v and sixteenbysixteen.v use one multiplier and two adders in calculation of equation 1
4. Any files ended with 18mul are associated with the version using 18 multipliers and finishing equation 1 calculation in one clock cycle
5. Top level design CNN.v and CNNfourbyfour.v is shared with both versions
6. Change the module link, for example, sixteenbysixteen u1 to sixteenbysixteen18mul u1
will change to the version which does equation 1 calculation in one clock cycle
7. Eq1 Initial folder contains the work by Sangeetha J. who completes using one multiplier and one adder to calculate template A times output Y or template B times input U. The default version which using one multiplier and two adders in calcualtion of equation 1 is based on her contribution
#### Default
`size = 16;`
CNN.v is using sixteenbysixteen.v
## Contributing
1. Fork
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request
## Source
*SP-CNN: A Scalable and Programmable CNN-based Accelerator*,
Dilan Manatunga, Hyesoon Kim, Saibal Mukhopadhyay
GOMACTech, Mar. 2015
## Credits
*Enmao Diao
Ria Gupte
Hyesoon Kim
Joshua Lee
Sangeetha J.*
## License
The MIT License (MIT)
Copyright (c) [2015] [Enmao Diao]
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
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 OR COPYRIGHT HOLDERS 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.
没有合适的资源?快使用搜索试试~ 我知道了~
FPGA-CNN-master.zip_CNN FPGA_fpga cnn大小_fpga 深度学习_hardware CNN
共43个文件
v:20个
pdf:6个
java:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 152 浏览量
2022-07-15
18:41:28
上传
评论 2
收藏 14.15MB ZIP 举报
温馨提示
fpga硬件实现cnn代码,学习可用。了解基本的深度学习概念和实现方法
资源详情
资源评论
资源推荐
收起资源包目录
FPGA-CNN-master.zip (43个子文件)
FPGA-CNN-master
Naive CNN 18 multipliers per cell wait for simulation_V4.zip 4KB
General Algorithm for CNN Template Learning.pdf 954KB
SP-CNN A Scalable and Programmable CNN-based Accelerator.pdf 3.5MB
Template_library_v3.1.pdf 6.45MB
CNN Research Report.pdf 120KB
Naive CNN 18 multipliers per cell run out of input pads_V1.rar 979KB
DE1_User_Manual.pdf 2.3MB
Naive CNN 18 multipliers per cell complete_V5.zip 21KB
cnn_fpga_project_plan.pptx 331KB
Naive CNN 18 multiplication per clock cycle_V3.rar 2KB
cnn_fpga_project_plan.pdf 539KB
Naive CNN 18 multipliers per cell one time unit process complete_V2.rar 796KB
README.md 3KB
16by16_index.xlsx 11KB
Fomula.PNG 10KB
Quartus
eq2.v 1KB
Eq1 Initial
convolution.v 2KB
equation1.v 1KB
one_by_one.v 2KB
four_by_four.v 15KB
multiplier_unit.v 198B
adder_unit.v 654B
equation2.v 730B
SixteenbySixteenGeneratorGenerator.java 18KB
onebyone.v 2KB
U_inAssign.txt 7KB
eq1oneunit.v 4KB
multiplier.v 210B
fourbyfour18mul.v 14KB
SixteenbySixteenGenerator18mulOutput.txt 178KB
SixteenbySixteenGeneratorOutput.txt 188KB
sixteenbysixteen18mul.v 178KB
CNN.qpf 1KB
AssignGenerator.java 698B
CNN.v 34KB
ConstantGenerator.java 649B
SixteenbySixteen18mulGenerator.java 17KB
eq1.v 1KB
adder.v 207B
sixteenbysixteen.v 188KB
fourbyfour.v 15KB
onebyone18mul.v 2KB
CNNfourbyfour.v 3KB
共 43 条
- 1
小贝德罗
- 粉丝: 67
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2