用于可编程逻辑器件中的FLASH器件编程方法及系统与流程

文档序号:12128486阅读:442来源:国知局
用于可编程逻辑器件中的FLASH器件编程方法及系统与流程

本发明涉及集成电路设计领域,尤其涉及一种用于可编程逻辑器件中的FLASH器件编程方法及系统。



背景技术:

随着现场可编程门阵列(FPGA)的广泛应用,对FPGA FLASH编程方法的方便性提出了更高的要求。

现有的FPGA FLASH编程方法有三种:板下编程,板上直接编程,板上间接编程。其中,板下编程不经过FPGA器件,对FLASH进行操作,进行板下编程时,FPGA和FLASH做为两个独立的器件进行操作,有时甚至需要手动切换互联线,使用很不方便;板上直接编程通过FPGA端口直接对FLASH进行操作,操作简单,使用方便,但通常需要FPGA内有复杂的FLASH接口控制电路,增加了FPGA的复杂性和成本;板上间接编程将用于间接编程的数据流下载到FPGA器件,用户逻辑的功能为FLASH接口控制器,控制FPGA端口和FLASH之间的数据传输,进入用户模式后,在用户逻辑控制下,实现对FLASH的操作,板上间接编程灵活性强,是目前主流的FPGA FLASH编程方法,但技术要求高,操作复杂,制约了使用的方便性。



技术实现要素:

本发明提供了一种用于可编程逻辑器件中的FLASH器件编程方法及系统,以解决现有板上直接编程需要FPGA内有复杂的FLASH接口控制电路的问题。

本发明提供了一种用于可编程逻辑器件中的FLASH器件编程方法,可编程逻辑器件包括第一数据接口与第二数据接口,第一数据接口与第二数据接口为不同类型的数据接口、且第一数据接口的信号端口与第二数据接口的信号端口的相似度大于阈值;第一数据接口与第二数据接口电连接,第一数据接口用于接收FLASH指令及编程数据,第二数据接口连接FLASH器件,用于根据来自第一数据接口的FLASH指令及编程数据实现FLASH器件的编辑;FLASH器件编程方法包括:

第一数据接口接收FLASH指令及编程数据;

第二数据接口将FLASH指令及编程数据发送至FLASH器件;

FLASH器件根据FLASH指令进行FLASH编程状态,根据编程数据进行FLASH编程。

进一步的,当第二数据接口为多个时,还包括:第一数据接口根据FLASH指令确定待编程FLASH器件;将FLASH指令及编程数据发送至待编程FLASH器件对应的第二数据接口。

进一步的,当待编程FLASH器件为多个时,还包括:第一数据接口根据各FLASH指令的时序,确定当前时序对应的当前待编程FLASH器件;将FLASH指令及编程数据发送至当前待编程FLASH器件对应的第二数据接口。

进一步的,在第一数据接口接收FLASH指令及编程数据之前,还包括:对第一数据接口的信号端口与第二数据接口的信号端口的信号属性进行控制转换。

进一步的,第一数据接口为JTAG接口,第二数据接口为SPI接口,对第一数据接口的信号端口与第二数据接口的信号端口的信号属性进行控制转换包括:

SPI控制器将JTAG接口的时钟信号和SPI接口的时钟信号连接;

将JTAG接口的数据移位指示信号反向后和SPI接口的片选信号连接;

将JTAG接口的数据输入信号和SPI接口的数据输入信号连接;

将JTAG接口的数据输出信号和SPI接口的数据输出信号连接。

本发明提供了一种用于可编程逻辑器件中的FLASH器件编程系统,包括FLASH器件、第一数据接口与第二数据接口,第一数据接口与第二数据接口为不同类型的数据接口、且第一数据接口的信号端口与第二数据接口的信号端口的相似度大于阈值;第一数据接口与第二数据接口电连接,第一数据接口用于接收FLASH指令及编程数据,第二数据接口连接FLASH器件,用于根据来自第一数据接口的FLASH指令及编程数据实现FLASH器件的编辑;FLASH器件用于根据FLASH指令进行FLASH编程状态,根据编程数据进行FLASH编程。

进一步的,当第二数据接口为多个时,第一数据接口还用于根据FLASH指令确定待编程FLASH器件;将FLASH指令及编程数据发送至待编程FLASH器件对应的第二数据接口。

进一步的,当待编程FLASH器件为多个时,第一数据接口还用于根据各FLASH指令的时序,确定当前时序对应的当前待编程FLASH器件;将FLASH指令及编程数据发送至当前待编程FLASH器件对应的第二数据接口。

进一步的,还包括设置在可编程逻辑器件上的控制转换电路,控制转换电路用于在第一数据接口接收FLASH指令及编程数据之前,对第一数据接口的信号端口与第二数据接口的信号端口的信号属性进行控制转换。

进一步的,第一数据接口为JTAG接口,第二数据接口为SPI接口,控制转换电路为SPI控制器;SPI控制器用于将JTAG接口的时钟信号和SPI接口的时钟信号连接,将JTAG接口的数据移位指示信号反向后和SPI接口的片选信号连接,将JTAG接口的数据输入信号和SPI接口的数据输入信号连接,将JTAG接口的数据输出信号和SPI接口的数据输出信号连接。

本发明的有益效果:

本发明提供了一种FLASH器件编程方法及系统,基于第一数据接口和第二数据接口的相似性,用较少的逻辑资源实现了FPGA串行FLASH板上直接编程,在不增加FPGA的复杂性和成本的前提下,提高了FPGA FLASH编程的方便性,解决了现有板上直接编程需要FPGA内有复杂的FLASH接口控制电路的问题,增强了用户的使用体验。

附图说明

图1为本发明第一实施例提供的FLASH器件编程系统的结构示意图;

图2为本发明第二实施例提供的FLASH器件编程方法的流程图;

图3为本发明第三实施例涉及的编程系统的示意图;

图4为本发明第三实施例涉及的接口信号连接图。

具体实施方式

现通过具体实施方式结合附图的方式对本发明做输出进一步的诠释说明。

第一实施例:

图1为本发明第一实施例提供的FLASH器件编程系统的结构示意图,由图1可知,在本实施例中,本发明提供的FLASH器件编程系统包括:FLASH器件3、设置在FPGA器件1上的第一数据接口21与第二数据接口22,第一数据接口21与第二数据接口22为不同类型的数据接口、且第一数据接口21的信号端口与第二数据接口22的信号端口的相似度大于阈值;第一数据接口21与第二数据接口22电连接,第一数据接口21用于接收FLASH指令及编程数据,第二数据接口22连接FLASH器件3,用于根据来自第一数据接口的FLASH指令及编程数据实现FLASH器件的编辑;FLASH器件3用于根据FLASH指令进行FLASH编程状态,根据编程数据进行FLASH编程。

在实际应用中,第一数据接口21的信号端口与第二数据接口22的信号端口的相似度大于阈值是指第一数据接口与第二数据接口都包括一个时钟信号端扣、一个数据选择端口、一个数据输入端口及一个数据输出端口。

在一些实施例中,当第二数据接口为多个时,上述实施例中的第一数据接口21还用于根据FLASH指令确定待编程FLASH器件;将FLASH指令及编程数据发送至待编程FLASH器件对应的第二数据接口。

在一些实施例中,当待编程FLASH器件为多个时,上述实施例中的第一数据接口21还用于根据各FLASH指令的时序,确定当前时序对应的当前待编程FLASH器件;将FLASH指令及编程数据发送至当前待编程FLASH器件对应的第二数据接口。

在一些实施例中,如图1所示,上述实施例中的FLASH器件编程系统还包括设置在可编程逻辑器件1上的控制转换电路23,控制转换电路23用于在第一数据接口21接收FLASH指令及编程数据之前,对第一数据接口21的信号端口与第二数据接口22的信号端口的信号属性进行控制转换。

在一些实施例中,如图3及4所示,上述实施例中的第一数据接口为JTAG接口,第二数据接口为SPI接口,控制转换电路为SPI控制器;SPI控制器用于将JTAG接口的时钟信号和SPI接口的时钟信号连接,将JTAG接口的数据移位指示信号反向后和SPI接口的片选信号连接,将JTAG接口的数据输入信号和SPI接口的数据输入信号连接,将JTAG接口的数据输出信号和SPI接口的数据输出信号连接。

第二实施例:

图2为本发明第二实施例提供的FLASH器件编程方法的流程图,由图2可知,在本实施例中,本发明提供的FLASH器件编程方法包括:

S201:第一数据接口接收FLASH指令及编程数据;

在实际应用中,可编程逻辑器件包括第一数据接口与第二数据接口,第一数据接口与第二数据接口为不同类型的数据接口、且第一数据接口的信号端口与第二数据接口的信号端口的相似度大于阈值;第一数据接口与第二数据接口电连接,第一数据接口用于接收FLASH指令及编程数据,第二数据接口连接FLASH器件,用于根据来自第一数据接口的FLASH指令及编程数据实现FLASH器件的编辑;

S202:第二数据接口将FLASH指令及编程数据发送至FLASH器件;

S203:FLASH器件根据FLASH指令进行FLASH编程状态,根据编程数据进行FLASH编程。

在一些实施例中,当第二数据接口为多个时,上述实施例中的方法还包括:第一数据接口根据FLASH指令确定待编程FLASH器件;将FLASH指令及编程数据发送至待编程FLASH器件对应的第二数据接口。

在一些实施例中,当待编程FLASH器件为多个时,上述实施例中的方法还包括:第一数据接口根据各FLASH指令的时序,确定当前时序对应的当前待编程FLASH器件;将FLASH指令及编程数据发送至当前待编程FLASH器件对应的第二数据接口。

在一些实施例中,上述实施例中的方法在第一数据接口接收FLASH指令及编程数据之前,还包括:对第一数据接口的信号端口与第二数据接口的信号端口的信号属性进行控制转换。

在一些实施例中,如图3及4所示,上述实施例中的第一数据接口为JTAG接口,第二数据接口为SPI接口,对第一数据接口的信号端口与第二数据接口的信号端口的信号属性进行控制转换包括:

SPI控制器将JTAG接口的时钟信号和SPI接口的时钟信号连接;

将JTAG接口的数据移位指示信号反向后和SPI接口的片选信号连接;

将JTAG接口的数据输入信号和SPI接口的数据输入信号连接;

将JTAG接口的数据输出信号和SPI接口的数据输出信号连接。

现结合具体应用场景对本发明做进一步的诠释说明。

第三实施例:

在实际应用中,FLASH器件采用外置flash,按接口分有总线flash,SPIflash,总线flash需要你的MCU上有外部总线接口,SPI flash就是通过SPI口对flash进行读写;在速度上,总线flash比SPI的快,但是SPI的便宜。因此,本实施例以SPI flash为例。SPI flash通过第二数据接口SPI接口设置在FPGA上,基于接口相似性考虑,在本实施例中,第一数据接口采用JTAG接口,也可以采用其他接口,如USB接口等。

本实施例提供一种FPGA串行FLASH板上直接编程方法,FPGA内部接口控制电路简单,在不增加FPGA的复杂性和成本的前提下,提高了FPGA FLASH编程的方便性。

本实施例提供一种FPGA串行FLASH板上直接编程系统,包括一个JTAG接口,一个FPGA中的SPI接口控制电路和一个SPI FLASH。其中,

JTAG接口通过指令发送FLASH指令和编程数据到SPI接口控制电路。

SPI接口控制电路将从JTAG接口接收到的FLASH指令和编程数据,通过SPI接口发送给FLASH。

SPI接口控制电路从FLASH取回读数据。

JTAG从SPI接口控制电路取回读数据。

JTAG接口通过FLASH操作指令使系统进入FLASH编程状态。

在FLASH操作指令下,FPGA SPI FLASH板上直接编程时,SPI控制器将JTAG时钟信号和SPI FLASH时钟信号连接,将JTAG数据移位指示信号反向后和SPIFLASH片选信号连接,将JTAG数据输入信号和SPI FLASH数据输入信号连接,将JTAG数据输出信号和SPI FLASH数据输出信号连接。

JTAG时钟信号输入SPI FLASH的时钟时序。

JTAG测试数据输入信号输入SPI FLASH操作需要的操作码和编程数据。

JTAG测试数据输出信号读出SPI FLASH的内容。

本实施例提供的FPGA FLASH板上直接编程方法,利用JTAG接口和SPI接口的相似性,用较少的逻辑资源实现了FPGA串行FLASH板上直接编程,在不增加FPGA的复杂性和成本的前提下,提高了FPGA FLASH编程的方便性。

具体的,如图3所示,本实施例所提供的FPGA串行FLASH板上直接编程方法,包括一个JTAG接口,一个FPGA中的SPI接口控制电路和一个SPI FLASH。其中,

JTAG接口中,tck为时钟信号,tms是测试模式选择信号(即数据移位指示信号),tdi是测试数据输入信号,tdo是测试数据输出信号。

SPI FLASH接口中,clk为SPI FLASH时钟信号,cs_n为SPI FLASH片选信号,mosi为SPI FLASH数据输入信号,miso为SPI FLASH数据输出信号。

JTAG接口通过FLASH操作指令使系统进入FLASH编程状态。

在FLASH操作指令下,FPGA SPI FLASH板上直接编程时,如图4所示,SPI控制器将JTAG时钟信号和SPI FLASH时钟信号连接,将JTAG数据移位指示信号反向后和SPI FLASH片选信号连接,将JTAG数据输入信号和SPI FLASH数据输入信号连接,将JTAG数据输出信号和SPI FLASH数据输出信号连接。

JTAG时钟信号输入SPI FLASH的时钟时序。

JTAG测试数据输入信号输入SPI FLASH操作需要的操作码和编程数据。

JTAG测试数据输出信号读出SPI FLASH的内容。

现有技术中,FPGA FLASH板上直接编程通常需要FPGA内有复杂的FLASH接口控制电路,增加了FPGA的复杂性和成本。而本发明所提供的实施例中,在现有技术的基础上,根据接口时序的特点,选择JTAG接口和SPI FLASH,用较少的逻辑资源实现了FPGA SPI FLASH板上直接编程功能,在不增加FPGA的复杂性和成本的前提下,提高了FPGA FLASH编程的方便性。

综上可知,通过本发明的实施,至少存在以下有益效果:

本发明提供了一种FLASH器件编程方法及系统,基于第一数据接口和第二数据接口的相似性,用较少的逻辑资源实现了FPGA串行FLASH板上直接编程,在不增加FPGA的复杂性和成本的前提下,提高了FPGA FLASH编程的方便性,解决了现有板上直接编程需要FPGA内有复杂的FLASH接口控制电路的问题,增强了用户的使用体验。

以上仅是本发明的具体实施方式而已,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所做的任意简单修改、等同变化、结合或修饰,均仍属于本发明技术方案的保护范围。

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