基于FPGA的逻辑IP总线互联实现装置的制作方法

文档序号:11134252阅读:1274来源:国知局
基于FPGA的逻辑IP总线互联实现装置的制造方法

本发明涉及液晶显示技术领域,尤其涉及一种基于FPGA的逻辑IP总线互联实现装置。



背景技术:

在以FPGA可编程逻辑芯片为平台的图像/视频处理方案中,通常包含各种不同算法和功能的图像/视频处理单元,例如模拟前端ADC、图像/视频解码器、测试图样发生器、格式检测、帧缓存、视频缩放、输出串行化等单元模块。为了提高图像/视频处理的实时效率,通常采用流水线设计实现这些模块之间的互连,即一级模块处理完交给下一级处理模块,一环接一环的将数据包传递下去。这里面就会有跨时钟域的问题,例如模拟前端ADC处理的是众多不同的视频接口、不同的视频传输速率,其具有自己的采样转化速率,即工作时钟域;而当进行到视频解码器单元,为了解码PAL或NTSC不同制式的模拟信号,又会采用不同的处理时钟;在帧缓存单元,如采用了非常高速的DDR3存储器,则又要按存储器读/写速率重新制定数据传输接口协议、数据封包规则、数据传输速率,执行数据存储或读出。图像/视频处理流水线中的数据流要跨过很多的功能模块,每个功能模块可能工作在不同的时钟域。在这条流水线中,如果没有一条标准化的数据传输协议,则逻辑功能IP之间的互连将会成为工程师所面临的一个很复杂的问题。

而在控制层面,不同逻辑单元的功能寄存器管理着每种特殊算法、功能的实现,以及每种逻辑单元的正常工作流程。如果它们也处于不同的时钟域,则处理器很难控制所有系统单元模块的工作状态,因而需要制定一种标准化的控制总线协议,以将所有不同时钟域的功能寄存器配置单元统一汇总到控制总线上。在以Intel、AMD等处理器为核心的高端电脑主板产品的设计中,通常采用了专用的北桥、南桥芯片解决外部功能单元与处理器之间的速率、接口、协议差异的互联问题。处理器的处理速度不断的提升,而很多外部设备单元的处理速度提升远没有达到处理器的处理速度,因此也产生了很多总线标准解决处理器与某些专用外部设备的性能差异及互联问题,例如ISA、PCI、AGP、PCIe总线等。而在处理器内部也有相应的诸如地址总线、数据总线、控制总线、仲裁单元来解决处理器内部模块之间互联的问题。

综上所述,对于一个复杂的数字逻辑单元,内部模块互联的总线标准化实现效率也体现了系统的整体性能、效率,因而现有的亟待解决的技术问题之一为:如何解决不同时钟域的逻辑功能IP与处理器之间的互联问题。



技术实现要素:

针对上述技术问题,本发明提出如下技术方案:

一种基于FPGA的逻辑IP总线互联实现装置,包括AXI4Lite总线接口互联单元以及逻辑功能封装单元;

所述AXI4Lite总线接口互联单元用于连接处理器单元与所述逻辑功能封装单元;

所述逻辑功能封装单元包括AXI4Lite总线协议解析模块和寄存器模块;

所述AXI4Lite总线协议解析模块用于将AXI4Lite协议转化为所述逻辑功能封装单元内部的寄存器读/写总线协议;

所述寄存器模块用于将所属的逻辑功能封装单元的预设功能、算法转化为参数化控制指令,并将所述参数化控制指令以寄存器的形式实现。

可选地,所述逻辑功能封装单元包括模拟前端AFE单元、视频解码器单元以及输入格式检测单元;

所述AFE单元用于将模拟视频信号进行数字化处理;

所述视频解码器单元用于将对视频信号进行解码;

所述输入格式检测单元用于对视频信号的输入格式进行检测。

可选地,所述逻辑功能封装单元具有标准化的寄存器读/写控制总线。

可选地,所述寄存器读/写控制总线包含控制读/写指令、地址总线以及数据总线。

可选地,所述AXI4Lite总线接口互联单元包括异步FIFO、时钟转换器、多个AXI Master/Slave接口、多AXI接口协议MUX及映射器。

可选地,所述处理器单元包括兼容AMBA AXI4Lite标准总线协议的上层Master单元。

可选地,所述AMBA AXI4Lite总线协议包含如下相互独立的通道:

读地址通道、读数据通道、写地址通道、写数据通道以及写响应通道。

可选地,所述通道两端的接口根据数据传输方向不同分为主接口Master和从接口Slave interface。

可选地,所述写数据通道的数据传输方向为从所述Master interface传向所述Slave interface。

可选地,所述读数据通道的数据传输方向为从所述Slave interface传向所述Master interface。

本发明的基于FPGA的逻辑IP总线互联实现装置,包括AXI4Lite总线接口互联单元以及逻辑功能封装单元,所述AXI4Lite总线接口互联单元用于连接处理器单元与所述逻辑功能封装单元,所述逻辑功能封装单元包括AXI4Lite总线协议解析模块和寄存器模块,所述AXI4Lite总线协议解析模块用于将AXI4Lite协议转化为所述逻辑功能封装单元内部的寄存器读/写总线协议,所述寄存器模块用于将所属的逻辑功能封装单元的预设功能、算法转化为参数化控制指令,并将所述参数化控制指令以寄存器的形式实现,本发明由于IP实现形式所占用的可编程逻辑资源很少,可在不同的FPGA可编程逻辑平台上(包括CPLD)去实现,通过实现兼容AMBA AXI4Lite标准总线协议,可将不同功能、不同时钟域的逻辑功能IP互连、扩展到丰富的片上AMBA片上SOC处理器的平台中,特别适合应用于在以FPGA为平台实现图像/视频处理功能、及算法的产品中。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一个实施例的基于FPGA的逻辑IP总线互联实现装置的结构示意图;

图2为本发明一个实施例的基于FPGA实现AXI总线协议的系统架构示意图;

图3为本发明一个实施例的总线协议接口示意框图;

图4为本发明一个实施例的从Master interface向Slave interface传输数据的握手信号规则示意图;

图5为本发明一个实施例的从Slave interface向Master interface传输数据的握手信号规则示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的控制总线接口标准化的技术方案,用于解决处理器与不同逻辑功能IP之间的互联问题。总的来说,本发明的是通过以下技术方案实现的:

通过可编程语言Verilog,在FPGA可编程逻辑资源平台上执行一个接口模块,该模块主要实现的功能就是对AMBA AXI4Lite总线协议进行解析,以实现控制总线接口标准化。本发明所要解决的技术问题是如何实现接口总线标准化,因而需要对上层屏蔽掉不同逻辑功能的差异性,因为上层处理器并不需要了解下层互联逻辑功能模块的实现细节,而需要在上层处理器之间仅仅搭建一个标准化的通讯接口,因此除了总线接口标准化,还需要统一逻辑模块内部的控制模式,即采用标准化的寄存器功能控制方式。

首先,逻辑功能模块需要将其实现的算法参数、控制指令全部寄存器化。可以理解的是,逻辑模块如需要正常运作,则需要上层处理器通过配置不同的寄存器值状态,达到对下层逻辑功能模块的间接控制,制定出统一的寄存器读/写总线,例如写地址总线、写数据总线、写控制命令、读地址总线、读数据总线、读控制命令。

接下来,解析AMBA AXI4Lite总线协议,即将AXI4Lite协议转化为逻辑模块内部的寄存器读/写总线协议。

为了实现AXI总线标准化互联,在实现上述AMBA AXI4Lite协议的解析模块后,将其集成到具体执行特殊功能的逻辑IP中,以通过AXI4Lite Interconnect(内部互联模块)与上层同样兼容AMBA AXI4Lite协议的处理器进行通讯。

具体地,图1为本发明一个实施例的基于FPGA的逻辑IP总线互联实现装置的结构示意图;如图1所示,该装置包括AXI4Lite总线接口互联单元20以及逻辑功能封装单元30,其中:

AXI4Lite总线接口互联单元20用于连接处理器单元10与所述逻辑功能封装单元30;

其中,处理器单元10可指代控制层面的具有以下类似功能的单元,如:通过AXI4Lite总线互联单元与各种不同逻辑功能封装单元互联,通过AXI4Lite总线将控制指令发送至不同逻辑功能封装单元,还可通过AXI4Lite总线获取逻辑功能封装单元的命令执行反馈。

逻辑功能封装单元30包括AXI4Lite总线协议解析模块31和寄存器模块32;

具体地,AXI4Lite总线协议解析模块31用于将AXI4Lite协议转化为所述逻辑功能封装单元内部的寄存器读/写总线协议;

寄存器模块32用于将所属的逻辑功能封装单元的预设功能、算法转化为参数化控制指令,并将所述参数化控制指令以寄存器的形式实现,进而,在控制层面只需要控制器通过更新上述寄存器的不同的存储值,即可实现对具体功能、算法执行过程的控制。

本实施例的基于FPGA的逻辑IP总线互联实现装置,由于IP实现形式所占用的可编程逻辑资源很少,可在不同的FPGA可编程逻辑平台上(包括CPLD)去实现,通过实现兼容AMBA AXI4Lite标准总线协议,可将不同功能、不同时钟域的逻辑功能IP互连、扩展到丰富的片上AMBA片上SOC处理器的平台中,特别适合应用于在以FPGA为平台实现图像/视频处理功能、及算法的产品中。

进一步地,作为上述实施例的优选,所述逻辑功能封装单元30可以包括模拟前端AFE单元、视频解码器单元以及输入格式检测单元;

具体地,所述AFE单元用于将模拟视频信号进行数字化处理;

所述视频解码器单元用于将对视频信号进行解码;

所述输入格式检测单元用于对视频信号的输入格式进行检测。

需要说明的是,上述所列出的逻辑功能单元主要应用在逻辑IP之间、逻辑IP与控制器/处理器之间,用于实现不同逻辑功能的封装单元。

上述的AFE单元、视频解码器单元以及输入格式检测单元仅仅作为本发明的逻辑IP总线互联实现装置的具体应用示例,本发明对此不进行限制。可以理解的是,除了上述AFE单元、视频解码器单元以及输入格式检测单元之外,所述逻辑功能封装单元可以是其他实现任意预设功能或算法的逻辑单元,通过上述AXI4Lite总线协议解析方法可使所述逻辑功能封装单元与标准的、兼容AMBA AXI4Lite协议的系统、控制器进行互联、功能扩展。

进一步地,作为上述实施例的优选,所述逻辑功能封装单元30具有标准化的寄存器读/写控制总线33。

进一步地,作为上述实施例的优选,所述寄存器读/写控制总线33包含控制读/写指令、地址总线以及数据总线。

进一步地,作为上述实施例的优选,所述AXI4Lite总线接口互联单元20可以包括异步FIFO、时钟转换器、多个AXI Master/Slave接口、多AXI接口协议MUX及映射器。

进一步地,作为上述实施例的优选,所述处理器单元10可以包括兼容AMBA AXI4Lite标准总线协议的上层Master单元。

进一步地,作为上述实施例的优选,所述AMBA AXI4Lite总线协议包含如下相互独立的通道:

读地址通道、读数据通道、写地址通道、写数据通道以及写响应通道。

进一步地,作为上述实施例的优选,所述通道两端的接口根据数据传输方向不同分为主接口Master和从接口Slave interface。

进一步地,作为上述实施例的优选,所述写数据通道的数据传输方向为从所述Master interface传向所述Slave interface。

进一步地,作为上述实施例的优选,所述读数据通道的数据传输方向为从所述Slave interface传向所述Master interface。

下面以一具体实施例说明本发明的基于FPGA的逻辑IP总线互联实现装置的结构及工作原理,但不用于限制本发明。

图2为本发明一个实施例的基于FPGA实现AXI总线协议的系统架构示意图,如图2所示,该架构包括:

模拟前端(AFE)1,其为用于进行模拟视频信号数字化处理的单功能模块;

具体来说,模拟前端(AFE)1集成了AXI4Lite总线协议解析模块2以及模拟前端模块的寄存器单元3,其中:

AXI4Lite总线协议解析模块2用于从五个通道中解析出寄存器读/写控制总线的控制指令、地址指令、数据指令;其中,每个通道都是通过特殊的握手信号Ready和Valid实现指令传输的,且具有两种模式实现双向的指令传输:Master传向Slave指令(参见图4所示握手信号规则);Slave传向Master指令(参见图5所示握手信号规则);

具体来说,图3为本发明一个实施例的总线协议接口示意框图;图4为本发明一个实施例的从Master interface向Slave interface传输数据的握手信号规则示意图;如图3、图4所示,本实施例的Master传向Slave指令实现方法包括:

上层Master在T1时刻发出Valid请求,同时准备好向Slave传送的指令(参见图4中的Instruction);

下层Slave检测到上层发出的Valid请求信号,则在T2时刻,Slave将Ready信号置高;

稍后如果检测到Master的Valid在T3时刻仍然为高,则将Instruction接收;

否则将Ready置低;

进一步地,如图5所示,本实施例的Slave传向Master指令实现方法包括:

下层Slave如需要向Master传送指令,则Slave在T1时刻将Ready信号置高;Master检测到Slave的Ready握手信号为高后,则在T2时刻将Valid信号置高;

稍后如果检测到Slave的Ready在T3时刻仍然为高,则将Instruction接收;

否则将Valid置低。

单逻辑功能模块AFE的寄存器单元3,具体指针对模拟前端逻辑单元的功能控制指令、参数寄存器化后的模块,其具有标准化的寄存器读/写控制总线,包含控制读/写指令、地址总线、数据总线;AXI4Lite接口总线的上层Master通过此寄存器单元对此示例的逻辑功能模块进行控制;

视频解码器4,代表一个处理视频解码的单功能模块,其集成了AXI4Lite总线协议解析模块2、视频解码器模块的寄存器单元5,其中:

视频解码器模块的寄存器单元5指针对视频解码逻辑单元的功能控制指令、参数寄存器化后的模块,具有标准化的寄存器读/写控制总线,包含控制读/写指令、地址总线、数据总线;AXI4Lite接口总线的上层Master通过此寄存器单元对此示例的逻辑功能模块进行控制;

输入格式检测模块(IFM)6,代表一个执行输入格式检测的单功能模块,其集成了本发明实现的AXI4Lite总线协议解析模块2、输入格式检测模块的寄存器单元7,其中:

输入格式检测模块的寄存器单元7指针对输入格式检测逻辑单元的功能控制指令、参数寄存器化后的模块,具有标准化的寄存器读/写控制总线,包含控制读/写指令、地址总线、数据总线;AXI4Lite接口总线的上层Master通过此寄存器单元对此示例的逻辑功能模块进行控制;

此外,还包括其他所有实现单个功能的逻辑封装单元8,其集成了实现的AXI4Lite总线协议解析模块2及其单个功能模块的寄存器控制单元9,其中:

寄存器单元9代表将单个逻辑模块的功能控制指令、参数寄存器化后的模块,其具有标准化的寄存器读/写控制总线,包含控制读/写指令、地址总线、数据总线;AXI4Lite接口总线的上层Master通过此寄存器单元对此示例的逻辑功能模块进行控制;

进一步地,本实施例的AXI4Lite总线接口内部互联的模块10封装了异步FIFO、时钟转换器、多个AXI Master/Slave接口、多AXI接口协议MUX及映射器;相当于一条总线通路,连接了上层处理器及下层多个逻辑功能IP;

本实施例的处理器单元11,指兼容AMBA AXI4Lite标准总线协议的上层Master单元,其中:

上层AXI4Lite协议的C驱动模型12用于将AXI4Lite总线接口的读/写控制封装为高级语言C函数库;在AMBA AXI4Lite标准总线互联的系统应用层即可通过调用驱动库里的C函数达到控制互联到该总线的逻辑功能模块;

具体来说,本实施例的实现的AXI总线IP互联的方法可以包括如下工作流程:

1)对实现单个功能的逻辑模块算法参数、控制方式进行配置寄存器化。寄存器采用统一的地址、数据、命令总线格式;

2)集成该方法实现的AMBA AXI4Lite标准总线协议解析模块。

3)将集成了AXI4Lite标准总线协议解析模块的逻辑单元通过AXI4Lite Interconnect连接至互联总线上。

4)将兼容AMBA AXI4Lite标准总线协议的处理器也通过AXI4Lite Interconnect连接至互联总线上;

5)在处理器应用平台调用API驱动库里的相应C操作函数,对底层逻辑单元进行算法、功能控制;

至此,本实施例的AXI总线IP互联的方法的工作流程说明完毕。

以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1