没有合适的资源?快使用搜索试试~ 我知道了~
【SoCVista】FreeARM7_文档1
需积分: 0 0 下载量 129 浏览量
2022-08-03
12:29:28
上传
评论 1
收藏 368KB PDF 举报
温馨提示
试读
98页
简介FreeARM 微处理器是一种兼容 ARM 架构的微处理器。ARM 架构是一个 32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由
资源详情
资源评论
资源推荐
1
FreeARM7
FreeARM7
FreeARM7
FreeARM7 介绍文档
F
F
F
F ree
ree
ree
ree -arm
-arm
-arm
-arm
2
目录
1. FreeARM7 微处理器介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.1. 简介
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2. 接口说明
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2.1. 系统接口
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.2.2. 中断源
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.2.3. ROM 接口
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.2.4. 单口 RAM 接口
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2. FreeARM7 整体架构
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.1. 各类指令的实现
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.1.1. 从 CPSR/SPSR 至寄存器组
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.1.2. 从寄存器组至 CPSR/SPSR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.1.3. 从寄存器组至寄存器组
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.1.4. 寄存器组和 RAM 之间交换数据
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
附: FreeARM7 源代码( verilog )
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
3
1.
1.
1.
1.
FreeARM7
FreeARM7
FreeARM7
FreeARM7 微处理器介绍
1.1.
1.1.
1.1.
1.1. 简介
简介
简介
简介
FreeARM 微处理器是一种兼容 ARM 架构的微处理器。 ARM 架构是一个 3 2
位精简指令集( RISC )处理器架构,其广泛地使用在许多嵌入式系统设计。由
于节能的特点, ARM 架构非常适用于行动通讯领域,符合其主要设计目标为低
耗电的特性。
FreeARM 微处理器作为完全兼容 ARM 架构的微处理器, 它以 A RM
编译器编译的代码无缝植入为目标,期望达到同 ARM 公司微处理器 IP 核一样
的低功耗效果。 FreeARM 微处理器作为一个开源硬件项目,为使用者提供免费
的技术支援,提供高效、低功耗的 SoC 解决方案。使用者可以任意更改内核,
以 期达到使用者自定制的目标,所以它能更灵活、高效的服务于 SoC 设计。
FreeARM 微处理器的 ARM7 系列(以下简称 FreeARM7 )是该类型微处理
器中的第一款。它首发于 www.socvista.com ,是由 free-arm 联合其他网友,基 于
ARMv4 架构而开发的。它用可综合的 verilog 代码描述,接口简单、描述精炼,
全部代码不超过 2000 行。它采用三级流水线和哈佛结构,全面兼容各种中断和
指令 (除 THUMB 和协处理器指令) 。 经过评估发现, 它在 Xilinx FPGA 和 SMI C
工艺库上都有上佳的实现结果。 为方便使用者正确使用该款处理器的 IP
核,
fre e-
arm 编写这份文档,提供给使用者参考。在本节介绍后,附有整个 IP 核的全部
代码。
注: DC 综合均在未加任何约束的情况; FPGA 综合结果类似;
更多更新请参阅: www.socvista.com/bbs 。
面积
关键路径
Xilinx
Spartan-3E 500
5400+(LUT)
26 ns
SMIC
0.35 um
27140( 逻辑门 )
40.91 ns
0.18um
24432( 逻辑门 )
24.67 ns
4
1.2.
1.2.
1.2.
1.2. 接口说明
接口说明
接口说明
接口说明
FreeARM7 接口简单, 共分为四类:一、 系统接口,提供系统控制信号;
二、
中断源, 提供
ARM
架构需要的五个中断信号; 三、
ROM 接口, 同提供指令的 ROM
之间的接口;四、单口 RAM 接口,同单口 RAM 和外设之间数据交互的接口。
类别
名字
方向
位宽
描述
系统
接口
clk
IN
1
时钟输入端口
rst
IN
1
异步复位端口,高电平有效
cpu_en
IN
1
同步使能端口,高电平有效
中断
源
cpu_restart
IN
1
ARM 架构 reset 中断源,高有效
fiq
IN
1
ARM 架构 FIQ(fast interrupt) 中断源,高
有效
irq
IN
1
ARM 架构 IRQ(interrupt) 中断源,高有 效
rom_abort
IN
1
ARM 架构 Prefetch Abort(instruction fetch
memory abort) 中断源,高有效
ram_abort
IN
1
ARM 架构 Data Abort(data access memory
abort) 中断源,高有效
ROM
接口
rom_en
OUT
1
ROM 读使能,高有效
rom_addr
OUT
32
ROM 地址总线
rom_data
IN
32
ROM 读数据
单口
RAM
接口
ram_cen
OUT
1
RAM 使能信号,高有效
ram_wen
OUT
1
RAM 写使能信号,高电平代表写,低电
平代表读
ram_addr
OUT
32
RAM 地址总线
ram_rdata
IN
32
RAM 读数据总线
ram_wdata
OUT
32
RAM 写数据总线
ram_flag
OUT
4
RAM 各字节使能信号
5
1.2.1.
1.2.1.
1.2.1.
1.2.1. 系统接口
� clk 信号
clk 信号为整个微处理器提供时钟。 FreeARM7 工作在时钟的上升沿。使用
者可以通过修改代码中寄存器的描述: always @ ( posedge clk or posedge
rst) ,使用自定义的时钟信号。
� rst 信号
异步复位信号。当 rst 为高电平时, FreeARM7 复位为初始态。它的复位方
式为异步。 使用者可以通过修改代码中寄存器的描述: always @ ( posedge clk
or posedge rst) 和 rst 的使用: if ( rst ) ,改变为自定义的各种复位信号。
� cpu_en 信号
同步使能信号。在时钟的上升沿,并且 cpu_en 为低电平时, FreeARM7 的
所有寄存器停止工作,但不改变保持的电平。使用者可以通过置位 cpu_en
来让 FreeARM7 暂停工作。使用者可以使用它达到下列目的:
1. 当微处理器需要读 RAM 的某个数据,如果该数据在一个时钟内不能送
达, 可以置位 cpu_en 为低电平, 直至该数据准备完毕, 方可置位 cpu_ en
为高电平。微处理器不会有任何影响。
2. 如果系统处于休眠状况,为了低功耗的目的,使用者可以置位 cpu_en 为
低电平, FreeARM7 停止工作,直至达到某个状态,使用者重新置位
cpu_en 为高电平, FreeARM7 继续工作。
3. 如果需要读取文字池数据,但存放文字池的 ROM 只有一套接口,这时,
可以置位 cpu_en 为低电平,从 ROM 中读取文字池的内容,送入读数
据端口,然后置位 cpu_en 为高电平。
如果使用者不需要该信号,可以例化为 1 ’ b1 ,使得 FreeARM7 处于永远工
作的状态。
剩余97页未读,继续阅读
洪蛋蛋
- 粉丝: 23
- 资源: 334
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java的网上订餐系统设计源码 - online ordering system
- 基于Javascript的超级美眉网络资源管理应用模块设计源码
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
- 基于Vue和微信小程序的监理日志系统设计源码 - supervisionLog
- 基于Java和LCN分布式事务框架的设计源码 - tx-lcn
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0