碎碎思 · 2022年08月23日 · 北京市

优秀的 Verilog/FPGA开源项目介绍(三十三)- 基于ARM核的复杂项目

ARM on FPGA

得益于Risc-V的兴起,ARM公司在前几年把m3和m0的内核通过Design_Star的活动给开源了,开发者只需要在ARM网站上注册就可以下载源码或者是IP核来直接调用,目前来看比较完善的有Xilinx和Gowin这两家体验挺好。其中Vivado中开发目前比较广泛及方便。

image.png

今天介绍几个基于ARM M0/M3的开源项目。

基于 ARM Cortex-M3 处理器与 FPGA 的实时人脸检测 SOC

https://github.com/WalkerLau/DetectHumanFaces

image.png

介绍

项目基于FPGA(Xilinx Spartan7 XC7S50)构建的ARM Cortex-M3软核SoC实现了实时人脸检测,通过CMOS-OV5640 Sensor采集实时图像,经过检测系统后,将添加OSD(人脸方框)的实时图像通过HDMI输出到显示器,同时相关信息(检测时间等信息)通过UART传输到上位机。特点是:

  • 速度快:作者为此SOC设计了一个运算加速器,关于此加速器的详细介绍请看:
https://github.com/WalkerLau/DetectHumanFaces/blob/master/TechSpecification.md
  • 节省硬件资源:采用低成本的Cortex-M3处理器及FPGA实现。
  • 完全可综合

image.png

License

MIT license

基于 ARM Cortex-M3 处理器与 FPGA 的车牌识别

https://github.com/Starrynightzyq/Nexys4DDR-ARM-M3-Plate-Recognition

image.png

这是一个全国大学生集成电路创新创业大赛项目。

介绍

项目文件树:

.
├── backup
├── docs
│   ├── my
│   ├── nexys4ddr
│   └── 中期
├── hardware
│   └── m3_for_arty_a7
│       ├── block_diagram
│       ├── constraints
│       ├── ip_repo
│       ├── m3_for_arty_a7
│       └── testbench
├── matlab
├── software
│   ├── arm_xilinx_file
│   ├── flash_downloader
│   └── m3_for_arty_a7
│       ├── Build_Keil
│       ├── cmos
│       ├── cmsis
│       ├── gpio
│       ├── iic
│       ├── image
│       ├── main
│       ├── sdk_workspace
│       ├── spi
│       ├── uart
│       └── vdma
├── tools
│   └── 模型车牌生成器
└── vivado
    ├── Arm_ipi_repository
    └── Arm_sw_repository

项目Block:

image.png
实物:

image.png

基于Cortex-M0的ARM处理器核的无线SOC设计

https://github.com/JefferyLi0903/MMC

介绍

基于国产于安路FPGA的ARM Cortex M0软核收音机SoC系统。

整体架构如下:

image.png

详细的设计就不过多介绍了,整个项目的设计文档及架构说明很完整,可以查看下面链接:

https://github.com/JefferyLi0903/MMC/tree/main/docs

image.png

基于 Arm Cortex M0 或 M3 内核的 SoC 设计模板

https://github.com/efabless/raptor_soc_template

关于项目不过多介绍了,这个项目是IC项目,本项目提供了 SoC 配置示例,以及一个示例,此示例代表 Efabless 在 X-FAB 180nm 工艺 (XH018) 上流片的演示芯片。演示芯片提供了 SoC 的工作实现,可用于评估功能或构建概念验证。

arm_cortex_m0_xillinx

https://github.com/yedk/arm_cortex_m0_xillinx

最后这个就是一个简易的arm_cortex_m0在AMD Xilinx FPGA上实现的实例,主要是有详细的设计文档。

总结

今天介绍的基于ARM的复杂项目,是“从奢入俭”的顺序,前面几个应用示例,后面几个原理性项目。

关于在FPGA上实现ARM M0/M3的项目推荐大家一个课程+图书,链接如下:

图书推荐|ARM Cortex-M0 全可编程SoC原理及实现

image.png

最后,还是感谢各个大佬开源的项目,让我们受益匪浅。今天就到这,我是爆肝的碎碎思,期待下期文章与你相见。

原文:OpenFPGA
作者:碎碎思

相关文章推荐

更多FPGA技术干货请关注FPGA 的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10506
内容数
512
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息