预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于JTAG接口实现ARM的FPGA在线配置 一、引言 FieldProgrammableGateArray(FPGA)是可编程的硬件设备,具有灵活性和可编程性。FPGA与ARM内核相结合,可以实现高性能和高可靠性的系统级解决方案。FPGA在线配置指的是通过拔掉原有FPGA并插入新的FPGA,实现不同的硬件设计。在线配置FPGA可以根据不同的需求,以实现精确的控制。而使用JointTestActionGroup(JTAG)接口实现在线配置ARM的FPGA可以提供更加坚实可靠的链接。在本文中,将介绍基于JTAG接口实现ARM的FPGA在线配置的主要思路和步骤。 二、ARM的FPGA在线配置 ARM处理器内核和FPGA可被集成在同一片半导体芯片上。这是ARM与FPGA相互补充的好处,能够使设计更加灵活。ARM处理器可以通过JTAG接口配置硬件。JTAG是一种集成电路测试和连接技术,其使用的是测试点,以提供连接。通过JTAG信号,ARM处理器可以直接访问FPGA内部,控制其内部多个模块的配置。 当ARM处理器通过JTAG接口控制FPGA时,发送到FPGA的控制指令存储在该芯片的专用命令序列存储器中。指令序列存储器是FPGA芯片内的一小段内存。控制指令的接收是基于时序的,意味着在指定的时间间隔内,芯片必须根据指定的长度读取相应的位。这种动作是由ARM处理器的JTAG控制器控制的。 当ARM通过JTAG与FPGA交互时,它可以直接访问FPGA的芯片内部。JTAG控制器的管理下,ARM可以访问FPGA芯片的不同模块,以及配置FPGA芯片的状态寄存器和存储器状态。同时,ARM可以使用JTAG信号更新FPGA内部的原始比特流,以重新配置其硬件。这种硬件重新配置使可以使用同一片FPGA以不同的方式运行不同的模块。 三、JTAG接口实现FPGA在线配置的具体步骤 JTAG使用了14个信号连接到FPGA,在JTAG操作时这个14个信号可以发出特定的数据流。在高级程序设计中,使用JTAG可以执行四个操作——连锁接入、数据寄存器的读取和写入、指令寄存器的读取和写入以及测试数据的输入和输出。在这里,我们只关注最重要的连锁接入和数据寄存器读取和写入两种JTAG操作,进而实现在线配置ARM的FPGA。 连锁接入(ScanChain): 连锁接入是JTAG的核心机制。它通过在芯片的所有可编程和故障检测组件之间建立一个特定的电路链路,使芯片中的每个组件部分都可以通过JTAG进行编程。可以理解成连锁接入是将FPGA内的所有硬件与JTAG连接起来的过程。在ARM的FPGA在线配置中,连锁接入起到关键的作用,因为通过连锁接入,ARM可以直接访问FPGA内成各个模块的状态以及相关的控制和配置寄存器。 数据寄存器的读取和写入: 连锁接入完成后,ARM可以读取或写入FPGA的数据寄存器。通过访问寄存器,ARM可以更改FPGA内的逻辑电路,重置模块,以及选择不同的控制和状态寄存器和状态存储器。FPGA内的寄存器主要存储模块的状态,值可以在时钟上升沿时从ARM读取或写入。 四、结论 基于JTAG接口实现ARM的FPGA在线配置可以让FPGA内部的硬件实现高度灵活性和可编程性。在线配置可以使用单一的FPGA来实现不同配置,大大简化了系统架构和管理。JTAG又是连接ARM和FPGA的稳定、高效和灵活的接口,实现了ARM的直接控制FPGA。需要注意的是,FPGA在线配置的实现必须严格控制安全性、可靠性和稳定性,以避免风险和错误。