掌桥专利:专业的专利平台
掌桥专利
首页

不依赖处理器的FPGA外设芯片动态配置方法

文献发布时间:2023-06-19 10:02:03


不依赖处理器的FPGA外设芯片动态配置方法

技术领域

本发明涉及FPGA接口编程技术领域,尤其涉及基于TCL脚本编程和FPGA逻辑编程,特别涉及一种不依赖处理器的FPGA外设芯片动态配置方法。

背景技术

对于具有大容量寄存器的FPGA外设芯片,在板级技术状态定型之前,测试期间需要大量的修改寄存器配置,反复多次。现有技术中对在没有处理器的板级系统中,更新FPGA外设芯片寄存器配置问题,有的每次将修改后的寄存器数据固化在逻辑程序中,重新编译生成BIT文件后,通过重新编程FPGA来实现外设芯片的寄存器更新,效率非常低下;有的利用或新增单板上的串口或网口,配合外置处理器单元,编写配置软件程序来下发寄存器数据,在FPGA内通过寄存器数据接收代理功能模块,将接收到的数据更新到芯片寄存器中,这种方法增加了测试软硬件环境的复杂度与附加工作开销,其适用面很窄。

发明内容

本发明的目的是针对现有技术的不足,提供一种不依赖处理器的FPGA外设芯片动态配置方法,该方法能够实现动态实时、准确有效、快速的配置FPGA外设。

本发明实施例提供一种不依赖处理器的FPGA外设芯片动态配置方法,包括:

使用TCL脚本创建配置指令函数;运行所述TCL脚本通过JTAG仿真接口下发配置指令;

FPGA中的虚拟I/O模块中转接收所述配置指令;

指令处理模块解析所述配置指令的参数,向配置执行模块下达配置任务,推送配置参数;

所述配置执行模块提取配置参数按配置请求产生配置接口总线动作,配置FPGA外设;完成配置后,反向传输结果信息至所述虚拟I/O模块。

在一个实施例中,使用TCL脚本创建配置指令函数,包括:

通过TCL脚本指令函数编程在线联动FPGA内部逻辑模块。

在一个实施例中,指令处理模块解析所述配置指令的参数,向配置执行模块下达配置任务,推送配置数据,包括:

指令处理模块对接收到每条配置指令进行解析并校验,当校验通过后将从通过校验的指令中解析出来的配置地址和数据进行缓存;

当检测到配置执行模块空闲时挂载到对应的内部总线上,并产生用于启动配置的握手脉冲信号,以此实现配置指令下发与配置动作执行之间的异步操作和速率适配。

在一个实施例中,指令处理模块解析所述配置指令的参数,向配置执行模块下达配置任务,推送配置数据,还包括:

指令处理模块对接收到每条配置指令进行解析并校验,当检测到误码启动指令重传机制。

在一个实施例中,FPGA中的虚拟I/O模块中转接收所述配置指令之后,所述方法还包括:

所述虚拟I/O模块从配置执行模块获取结果信息,向上层TCL脚本控制台反馈。

在一个实施例中,所述配置执行模块提取配置参数按配置请求产生配置接口总线动作,配置FPGA外设,包括:

所述配置执行模块负责配置任务的实施,以流水线方式提取配置参数,按照配置接口总线时序对FPGA外设进行寄存器更新。

在一个实施例中,完成配置后,反向传输结果信息至所述虚拟I/O模块,包括:

完成配置后,所述配置执行模块根据需要读取外设的状态寄存器以确认是否配置成功,将反馈信息挂载到连接虚拟I/O模块输入端的内部总线,供TCL脚本相应的指令函数进行读取。

本发明实施例提供的技术方案可以包括以下有益效果:

本发明实施例提供一种不依赖处理器的FPGA外设芯片动态配置方法,在无板载处理器参与的条件下,通过TCL脚本和虚拟I/O模块之间的通信联动,能够实现动态实时、准确有效、快速的配置FPGA外设,完全依托FPGA集成开发环境自身,无需额外的软硬件支撑,极大的提高了产品开发中的调试测试效率,缩短开发周期。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明中提供的不依赖处理器的FPGA外设芯片动态配置方法流程图;

图2为各模块之间的关系原理图;

图3为FPGA内部逻辑处理流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

参照图1所示,本发明实施例提供一种不依赖处理器的FPGA外设芯片动态配置方法,包括:

S10、使用TCL脚本创建配置指令函数;运行所述TCL脚本通过JTAG仿真接口下发配置指令;

S20、FPGA中的虚拟I/O模块中转接收所述配置指令;

S30、指令处理模块解析所述配置指令的参数,向配置执行模块下达配置任务,推送配置参数;

S40、所述配置执行模块提取配置参数按配置请求产生配置接口总线动作,配置FPGA外设;完成配置后,反向传输结果信息至所述虚拟I/O模块。

为实现该方法,需要4个部分:TCL脚本、虚拟I/O模块、指令处理模块和配置执行模块,模块之间的关系原理如图2所示。本发明的目的是在无处理器的板级系统中,对FPGA外设的大量寄存器进行动态、快速、批量更新配置,

其中,TCL脚本,负责在FPGA集成开发环境下,通过预先编程配置指令函数集,将大量配置寄存器的操作过程使用脚本进行描述,执行脚本将寄存器配置操作指令通过JTAG仿真器接口发送给FPGA中的虚拟I/O模块,并从虚拟I/O模块回读结果。

虚拟I/O模块,负责对上通过JTAG仿真器接口从TCL脚本程序获取指令,对下将指令传递给指令处理模块,并从配置执行模块获取结果信息,向上层TCL脚本控制台反馈。

指令处理模块,负责解析配置操作指令,对其进行解析缓存,必要时启动指令重传机制;产生外设寄存器的配置地址、配置数据以及配置启动脉冲信号,推送给配置执行模块。

配置执行模块,负责配置任务的实施,以流水线方式提取配置参数,按照配置接口总线时序对FPGA外设进行寄存器更新,在涉及配置结果状态检测时,回读外设寄存器值,将配置结果反馈给虚拟I/O模块。

下面对上述各个步骤进行详细的说明。

步骤S10中,TCL配置指令脚本创建:用户依据外设芯片寄存器序列配置流程,创建寄存器配置的TCL脚本。脚本分为两部分,功能配置指令函数与寄存器读写操作序列,调用不同的功能指令函数以执行不同的寄存器读写操作序列。

寄存器配置指令下发:载入TCL脚本,根据需要在控制台执行指令函数,将配置序列流实时的传输至虚拟I/O模块。该步骤通过TCL脚本指令函数编程在线联动FPGA内部逻辑模块,依靠系统自带的JTAG仿真接口,最终可实现不增加额外软硬件的条件下动态配置外设芯片。

步骤S20中,FPGA中的虚拟I/O模块中转接收配置指令;

步骤S30中,配置指令解析与缓存:指令处理模块对接收到每条指令进行解析校验,未通过校验则通知虚拟I/O模块启动指令重传,以此保证配置的可靠性。指令通过校验则将配置地址和数据进行缓存。

步骤S40中,配置启动与执行:在配置执行模块空闲时挂载到对应的内部总线上,并产生用于启动配置的握手脉冲信号,以此实现配置指令下发与配置动作执行之间的异步操作和速率适配。在启动脉冲信号的触发下,配置执行模块从内部总线提取配置地址和数据信息,产生时钟、数据、使能等外部接口总线信号,将配置数据写入指定寄存器。完成配置后,配置执行模块根据需要读取外设的状态寄存器以确认是否配置成功,将反馈信息挂载到连接虚拟I/O模块输入端的内部总线,供TCL相应的指令函数进行读取。

参照图3所示为FPGA内部逻辑处理流程图,分为5个步骤:

1、TCL配置指令脚本创建;

2、寄存器配置指令下发;

3、对接收到每条指令进行解析校验,未通过校验则通知虚拟I/O模块启动指令重传;指令通过校验则将配置地址和数据进行缓存;具体包括:

3.1、配置指令解析,当校验通过,执行步骤3.3;当校验不通过执行步骤3.2;

3.2、启动指令重传,执行步骤2;

3.3、配置指令缓存;

4、配置启动与执行;

5、配置结果信息反馈,执行步骤2。

本发明实施例提供的一种不依赖处理器的FPGA外设芯片动态快速配置的方法,该方法通过TCL脚本程序利用FPGA的虚拟I/O模块作为中间代理,与FPGA内部逻辑模块之间进行数据交互,实现对无处理器的板级系统中拥有大容量寄存器的FPGA外设,进行在线快速动态配置。可实现在无板载处理器参与的条件下,仅依赖JTAG仿真硬件接口,通过设计TCL脚本指令函数和内部处理逻辑,实时的对FPGA外设进行动态、快速、批量更新寄存器配置,在简化软硬件支撑条件的同时,提高了产品开发中的测试效率。

最后本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

相关技术
  • 不依赖处理器的FPGA外设芯片动态配置方法
  • FLASH存储器、FPGA芯片以及FPGA芯片的配置方法
技术分类

06120112389583