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

时间:2025-08-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的复杂度,降低了在期货行情数据处理过程中的延迟,提高了并行处理速度。

猜您喜欢

四端子电阻因其高精度和稳定性,应用于各种精密测量和电子设备中。ROYALOHM(厚生)作为知名的电子元器件制造商,其四端子电阻系列产品受到业界关注。本文将围绕R...
2014-01-28 12:39:30

作为全球领先的电子元器件制造商,其产品线中包含了多种高性能、高可靠性的电阻产品,其中瓷管电阻独特的优势在电子行业中占据了一席之地。本文将深入探讨TT Elect...
2018-07-23 15:55:30

01D贴片电阻,对于不熟悉电子元件的人来说,可能一头雾水。其实,它的尺寸非常小巧,「01D」这个代码就代表了它的具体大小。「01」指的是英制尺寸,相当于公制中的...
2024-11-26 11:29:40

在电子设备中,ADC(模拟数字转换器)和DAC(数字模拟转换器)是非常重要的组件,在信号处理和数据转换中是关键配件。选择合适的ADC/DAC规格尺寸对于确保设备...
2025-04-05 00:00:00

消防设备电源监控主机,俗称火灾报警主机,是消防系统的中枢神经,负责接收火灾信号、发出警报并联动其消防设备。其安装定额需要根据具体的设备型号、功能和安装方式来确定...
2024-04-19 00:00:00

遥感的基础主要是以电磁波为媒介,得以实现无接触探测。遥感的原理是:电磁波与物体相互作用,使其载有物体的有关信息;对电磁波敏感的遥感器接收载有信息的电磁波,得到含...
2024-04-11 16:13:00

贴片电阻上的103标识代表其阻值为10kΩ。这是一种简化的数字表示法,遵循数字 + 乘数的规则。其中,前两位数字10表示有效数字,第三位数字3表示10的幂次方(...
2024-11-29 10:25:53

贴片电阻,因其小巧的体积和优异的性能,广泛应用于电子电路中。选择合适的贴片电阻对于电路的正常工作至关重要。而贴片电阻的规格尺寸型号对照表,则是快速选择正确元件的...
2025-04-14 15:03:50

固定式衰减器是常见的信号处理器件,应用于通信、广播和其电子设备中。根据其结构和功能的不同,固定式衰减器可以分为几类。根据衰减方式的不同,可以将其分为被动衰减器和...
2013-02-12 00:00:00

在选择电流传感器或磁传感器时,规格尺寸是一个关键因素。不同类型的传感器在应用领域和安装方式上存在差异,因此了解尺寸规格非常重要。电流传感器通常有多种尺寸可供选择...
2010-02-10 00:00:00