关于期货行情数据加速处理中基于FPGA的DDR3六通道读写防冲突设计详解

时间:2025-11-02  作者:Diven  阅读:0

0 引言

基于FPGA的期货行情数据加速处理过程中,不同的消息类型采用并行处理的方式,并且每一次的处理结果需要使用内存来缓存一次行情数据信息。行情数据信息容量巨大,片上存储难以满足需求,采用DDR3 SDRAM成为首选方法。但由于DDR3只有一套数据访问通道,不能满足多个通道同时访问的需求。此前的对于SDRAM的多通道解决方案中,比如曹一江等设计的基于NPI总线的片外存储器,最大带宽可达743 Mb/s;樊博等使用UI接口,DDR3通信的最大带宽可达3.8 Gb/s;张宇嘉等设计的基于AXI4的DDR3多端口方案虽然传输速率有所提高,但由于AXI4协议本身的复杂性增加了开发使用的难度。本文实现并验证了期货行情数据加速处理中基于FPGA的DDR3六通道UI接口读写防冲突设计,简化了DDR3多通道读写的复杂度,随着有效数据周期的提升,最高端口速率可达5.0 GB/s以上,带宽利用率可达80%以上。

关于期货行情数据加速处理中基于FPGA的DDR3六通道读写防冲突设计详解

1 总体设计架构

本文所设计的六通道读写防冲突总体架构如图1所示,主要包括通道判优仲裁模块、读写逻辑控制模块和DDR3存储器控制模块。

DDR3存储控制器模块采用Xilinx公司的MIG核,用户只需要通过IP核的GUI选择内存芯片并进行相关参数设置,即可完成DDR3的配置工作。

通道判优仲裁模块将对六路通道进行仲裁,对于同一时刻有读写请求的不同通道,该模块按照优先级的高低判定访问DDR3的顺序,利用中断思想解决多通道读写的冲突问题。

读写逻辑控制模块控制DDR3的接口生成,根据不同操作完成对应接口的时序控制,进而实现对DDR3的正确读写访问。

2 DDR3存储器控制模块设计

DDR3 IP核生成的控制器逻辑框图如图2所示,采用UI接口的方式相比于AXI4接口,不需要自己组织数据,容易操作,大大简化了DDR3的使用复杂度,为DDR3的扩展使用带来了方便。

2.1 存储控制模块写操作

DDR3写操作接口信号如表1所示。

写操作过程:当app_rdy和app_wdf_rdy同时为高的情况下,写入DDR3的地址app_addr与app_cmd绑定对齐,写入DDR3的数据app_wdf_data与数据掩码app_wdf_mask绑定对齐,app_cmd置为3′b000,与此同时app_en、app_wdf_wren、app_wdf_end置高,即可将数据写到对应的地址中。

因为DDR3的写时序不只,为了简化系统设计,本文设计的用户接口写操作时序为地址和数据完全对齐,便于理解和操作。

2.2 存储控制模块读操作

DDR3的读操作接口信号如表2所示。

读操作过程:在app_rdy为高时,用户发送读命令并同时将app_en置高,则读命令和读地址会写到DDR3中,DDR3会返回数据和有效指示信号,两者共同决定返回的数据是否有效。

通常情况下,DDR3的读请求结束之后不会马上返回数据,需要延迟一定的时钟周期。

3 通道判优仲裁模块设计

通常情况下,由于DDR3只有一组控制、地址和数据总线,因此同一时刻只能有一个通道在访问。根据期货交易的处理规则,优先级由高到低的顺序依次为合约信息消息、市场状态消息、品种交易状态消息、成交统计行情消息、多档定单簿行情消息、多档成交量统计行情消息。在通道判优的过程中,首先将6种不同的消息经封装后分别寄存到相应的消息缓存中,每一通道写入消息缓存中的数据格式,从高到低位依次为写使能、读使能、写数据、写地址、读地址;然后首先判断合约信息消息缓存是否为空,如果不为空,则证明当前有合约信息消息的请求发生,此时状态机会跳转到合约信息消息处理状态;待合约信息消息的缓存全部读取完毕之后,再次按优先级顺序判断其消息缓存是否为空,状态机随即做相应的跳转,完成不同通道之间的切换,如图3所示。

对于不同的消息类型,对应着不同的消息处理单元,目的是增加系统的并行处理操作,降低处理延迟。

4 读写逻辑控制模块

读写逻辑控制模块主要对不同类型消息做并行化处理,生成DDR3的接口信号,每个消息的处理流程如图4所示。

对于期货交易中的各种合约行情,种类多,但占用空间小,通常DDR3中一个地址就可完成一个行情的存储,在行情的还原、计算、发布中,需要读取多个行情。由于DDR3的突发长度为8,为了便于对行情的准确存取,6个通道的数据位宽均设定为DDR3位宽的1/8,即一次只存取一个地址的数据。

对于通道判优仲裁模块输出的数据,写使能与读使能均为1 bit位宽,高电平表示请求发生;写数据为64 bit位宽;写地址和读地址为28 bit位宽,DDR3的数据位宽在IP核中配置为512 bit,地址位宽为28 bit。因写数据位宽与DDR3数据位宽不匹配,所以DDR3的写操作需要掩码配合共同完成。

处理过程如下:首先进行读写判断,若写使能置高,则跳转到写操作状态;若读使能置高,则跳转到读操作状态,若无读写操作,处于等待状态。(期货行情消息处理中不会出现同一通道读写同时进行的情况,因此同一通道读写使能同为高电平的情况不会出现。)

如果是写操作,一方面生成写入DDR3的地址和命令,另一方面将写数据封装成512 bit位宽。其中写入DDR3的地址app_addr为{写地址[27:3],3′d0},写入的数据app_wdf_data和掩码app_wdf_mask由写地址[2:0]确定。数据地址命令控制模块也会相应的产生app_en、app_wdf_wren、app_wdf_end控制信号,这些信号共同作用关于DDR3 SDRAM存储器,配合完成DDR3的写入操作,如图5所示。

如果是读操作,地址命令选择模块将读地址[27:3]赋值给app_addr作为写入DDR3的基地址,同时将读地址[2:0]作为写入DDR3的偏移地址存入对应通道的偏移地址缓存中,在数据地址命令控制模块生成其控制信号传送给DDR3 SDRAM存储器。DDR3 SDRAM根据地址返回相应的512 bit位宽的数据。在返回数据的同时读取对应通道偏移地址缓存中的偏移地址,并根据此偏移提取对应的64 bit数据从而完成DDR3的一次读取操作,如图6所示。

5 实验结果与分析

5.1 实验结果

本文以Xilinx公司的Kintex-7系列XC7K325T FPGA芯片和MICron公司的JBF9C256x72AKZ DDR3芯片为硬件平台,并以此来验证本文设计的正确性,分析其性能。

测试方法:六通道在同一时刻发起DDR3的读写请求,其中1~4通道进行DDR3的写请求,5、6通道进行DDR3的读请求,状态机按照消息优先级的顺序依次进行状态跳转完成处理,最后将数据分别返回到相应通道中,ChipScope结果如图7所示。

5.2 实验分析

为了更好描述设计的性能,本文引入以下参数。仲裁时间:请求信号发生到通道开始处理的时间间隔;IP核处理时间:DDR3 IP核从接收指令到返回数据的时间;有效提取时间:从512 bit的DDR3返回数据中提取对应的64 bit的时间间隔;有效数据时间:数据有效的维持时间;总时间:消息请求到数据返回的时间,即仲裁时间、IP核处理时间与有效数据时间之和。因此:

在本设计中,实测仲裁时间为3个时钟周期,IP核处理时间为22个时钟周期,有效提取时间2个时钟周期,如图8所示。

每个通道的有效数据时间不相同,性能也不相同,具体测试结果如表3所示。

测试结果表明,本设计能稳定高效地完成多通道对DDR3的访问,随着有效数据周期的提升,通道速率可达5 GB/s以上,带宽利用率可达80%以上,能够满足期货行情数据处理过程中的实时性要求。

6

本文设计并实现了基于FPGA的DDR3六通道读写防冲突设计,能有效地解决在期货行情数据处理中多通道同时访问DDR3的冲突问题,在现有的Kintex-7系列FPGA平台期货行情数据处理系统中取得了良好的应用效果。测试结果表明该防冲突设计能高效正确地完成多通道对DDR3的访问,具有稳定性好、仲裁时间固定、效率高等特点。本文设计的DDR3多通道读写防冲突设计简化了多通道读写DDR3的复杂度,降低了在期货行情数据处理过程中的延迟,提高了并行处理速度。

猜您喜欢

梅花槽刀把螺钉是常见的紧固件,应用于机械、电子等领域。根据不同的分类标准,梅花槽刀把螺钉可以分为以下几类。从材质上看,梅花槽刀把螺钉主要有不锈钢、碳钢和合金钢等...
2022-01-28 00:00:00

5R1贴片电阻表示阻值为5.1欧姆的贴片电阻。 R在数值中代表小数点,所以5R1等同于5.1Ω。贴片电阻的尺寸则由其封装大小决定,而不是由阻值决定。常见的贴片电...
2024-11-29 10:26:20

贴片电阻阻值变小,通常表明它已经损坏或性能下降。电阻的主要功能是阻碍电流流动,其阻值大小决定了它对电流的阻碍程度。如果阻值变小,意味着它对电流的阻碍能力降低,这...
2024-11-26 11:29:12

光敏电阻作为重要的光电元件,应用于光控开关、自动调光设备、光传感器等领域。宇阳(EYANG)作为知名的光敏电阻制造商,其产品因高质量和稳定性能受到业界认可。本文...
2023-03-07 21:11:03

1. 无论什么时候我们都要以实际应用的角度去考虑程序的编写。2. 无论什么时候都不要让CPU白白浪费等待,尤其是延时(超过1MS)这样的地方。3.设计相应驱...
2018-04-11 11:18:00

排阻体积作为重要的电子元器件,应用于电路保护和信号控制。肇庆作为中国重要的电子制造基地,拥有众多排阻体积生产厂家和品牌。本文将围绕“肇庆英达排阻体积有哪些规格品...
2018-02-03 13:42:05

2010-11-11 00:00:00

光敏电阻是对光线敏感的电阻器,应用于光电传感器、自动照明系统等领域。了解光敏电阻的阻值对于电子工程师和爱好者来说十分重要,因为直接影响到电路的性能和稳定性。本文...
2025-04-14 03:30:36

贴片电阻的使用寿命并非一个固定值,受到多种因素的影响,包括电阻本身的质量、工作环境以及使用方式。一般来说,高质量的贴片电阻在正常工作条件下,寿命可达数年甚至更久...
2024-11-29 10:25:57

现代电机控制系统中,精确的电流采样是保证系统性能的重要环节。FOC(Field Oriented Control,磁场定向控制)技术高效能和精确度,应用于电动车...
2025-04-19 03:31:10