soc 设计soc设计 uml实务手册_【集创赛】基于arm处理器的SoC设计【2】

本文详细介绍了基于ARM处理器的SoC设计过程,包括最简系统的搭建、块图设计、软件测试以及子模块的设计。在系统搭建中涉及了FPGA工程配置、接口设计如AHB_lite、APB、UART等,以及IP设计和CPU、总线接口等。在软件设计部分,阐述了设计思路、地址分配和驱动编写。
摘要由CSDN通过智能技术生成

a1b31e627f9e53330a2e9854fa94f5b9.png

第三部分 最简SOC系统搭建

2.1 最简系统搭建

仅需要 M3 CPU 内核,总线解码模块,RAM模块,ROM模块,简单的外设模块,在配合软件驱动,一个最简的M3 SOC 系统即可运行。这里演示如何在资源有限的硬件平台上,仅利用其中的CPU部分,搭建最简单的系统。在\m3designstart\logical\cortexm3integration_ds_obs\verilog文件夹中有两个VerilogHDL文件:cortexm3ds_logic.v和CORTEXM3INTEGRATIONDS.v。其中前者是经过扰乱的Cortex-M3CPU代码,后者是对外的接口文件。

99a4eda48dc3ebff995e8025f6a67b7a.png

通过使用vivado的块图设计(Blcok design)工具,预先设计好各个子模块和接口连接关系后,可以以图形化的方式来快捷方便地搭建所需的定制化SOC系统。

2.2 块图设计

我们团队利用CMSOK中提供的资源,以及自己编写所需的模块,设计了如下的子IP模块,用于在块图设计(Blcok design)中使用,各个子模块的功能和接口在下面详细介绍,用于搭建的最简的SOC系统如下所示,利用块图设计,不用一分钟便可以搭建完成,十分方便快捷。

ab5c2efef4d37fca8102de787f056202.png

图形化界面搭建完成后,使用vivado自动化工具,即可自动完成模块例化,端口连接的工作。 由于没有采用Xilinx官方IP,故生成的代码是纯Verilog代码,可以任意移植到任何一个FPGA平台上。 利用vivado的块图设计,大大减少了在SOC总线连接时使用的时间,由于采用标准化总线连接,也大大降低了由于失误而造成的总线连接错误。

0d32be9fecf1f5826a4fdcc4fbc1cf4e.png

在上面的最简系统中,外设模块是一个LED灯和按键(KEY或SW)的驱动模块。位宽均设置为12位,CPU通过AHB_lite总线,来读取按键的值,向LED写入数据。 该模块挂载在了地址为 0x4100_0000 ---- 0x410F_FFFF的地址空间。LED和K
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值