用于可编程逻辑器件的位流生成方法、装置及设计系统的利记博彩app

文档序号:10489107阅读:400来源:国知局
用于可编程逻辑器件的位流生成方法、装置及设计系统的利记博彩app
【专利摘要】本发明提供了一种用于可编程逻辑器件的位流生成方法、装置及设计系统,该方法包括:对待实现设计进行布局布线处理,获取配置点配置信息;获取目标可编程逻辑器件的硬件配置文件;根据配置点配置信息中的所属网格的位置,在硬件配置文件查找对应的网格,在查找到的网格内查找与配置点标识相同的配置点,建立待实现设计的布局布线结果到目标可编程逻辑器件内配置点的映射关系;根据比特值配置对应配置点的属性值,生成位流文件。通过本发明的实施,在需要建立配置点从软件模型到实际FPGA芯片位置的映射时,根据硬件配置文件快速的查找到配置点所属网格,可以快速实现配置点从软件模型到实际FPGA芯片位置的映射,效率高。
【专利说明】
用于可编程逻辑器件的位流生成方法、装置及设计系统
技术领域
[0001]本发明涉及集成电路设计领域,尤其涉及一种用于可编程逻辑器件的位流生成方法、装置及设计系统。
【背景技术】
[0002]FPGA(Field-ProgrammabIe GateArray,现场可编程门阵列)作为专用集成电路(SPASIC)领域中的一种半定制的电路而出现,以硬件描述语言(如Verilog)进行电路设计,通过EDA软件生成下载到FPGA芯片中的位流,然后将此位流烧录到FPGA上进行测试,是现代IC设计验证的主流技术。
[0003]要将用户的设计转换成FPGA的位流,EDA软件首先要对目标FPGA芯片进行建模。FPGA本身具有网格状的平面结构,在模型上,其每一个模块(如10B、CLB)都有独立的坐标,以后将这些模块统一称为网格Grid。这些Grid以一定的方式组合成一系列的逻辑块Tile,并重复地分布在FPGA上。所有的Ti I e都占据相同的网格数量,而相同的Gr i d在不同的Ti I e下的相对位置也是固定的。Grid中包含许多的配置点,用来控制电路器件的连接,最终,可以根据用户的设计将这些配置点配置成合适的值,并根据这些值生成二进制位流文件写入到FPGA芯片中。
[0004]在生成位流文件时,需要从软件模型中的配置点到实际FPGA芯片中位置建立映射,在现有技术中,若需要建立映射,针对软件模型中的每一个配置点,都需要根据其标识及所属Gr id的标识,对FPGA芯片所有Gr id——查找,效率低。
[0005]因此,本领域技术人员亟待提供一种位流生成方法,以解决现有建立映射需对FPGA芯片所有Gr id一一查找导致效率低的问题。

【发明内容】

[0006]本发明提供了一种用于可编程逻辑器件的位流生成方法、装置及设计系统,以解决现有建立映射需对FPGA芯片所有Gr id—一查找导致效率低的问题。
[0007]本发明提供了一种用于可编程逻辑器件的位流生成方法,其包括:
[0008]对待实现设计进行布局布线处理,获取配置点配置信息,配置点配置信息包括配置点标识、所属网格的位置及其比特值;
[0009]获取目标可编程逻辑器件的硬件配置文件,硬件配置文件包括目标可编程逻辑器件的所有逻辑块的逻辑块配置参数,逻辑块配置参数包括该逻辑块所有网格的网格配置参数,网格配置参数包括该网格所有配置点的配置点配置参数;
[0010]根据配置点配置信息中的所属网格的位置,在硬件配置文件查找对应的网格,在查找到的网格内查找与配置点标识相同的配置点,建立待实现设计的布局布线结果到目标可编程逻辑器件内配置点的映射关系;
[0011]根据比特值配置对应配置点的属性值,生成位流文件并下载至目标可编程逻辑器件。
[0012]进一步的,在获取目标可编程逻辑器件的硬件配置文件之前,还包括:根据目标可编程逻辑器件的硬件结构生成硬件配置文件。
[0013]进一步的,根据目标可编程逻辑器件的硬件结构生成硬件配置文件包括:将各网格内所有配置点的配置点配置参数按照标识大小顺序排列,生成网格配置参数,配置点配置参数包括配置点标识及相对位置,网格配置参数包括网格标识及其内起始配置点位置;将各逻辑块内所有网格的网格配置参数按照对应网格的出现顺序,生成逻辑块配置参数;将目标可编程逻辑器件内所有逻辑块的逻辑块配置参数存储在线性结构中,生成硬件配置文件。
[0014]进一步的,将各逻辑块内所有网格的网格配置参数按照对应网格的出现顺序,生成逻辑块配置参数包括:按照网格的出现顺序为网格分配索引号,将各逻辑块内所有网格的网格配置参数按照对应网格的索引号排序,生成逻辑块配置参数,逻辑块配置参数包括各网格的索引号I。
[0015]进一步的,还包括:若一网格的配置点为其他网格的无用配置点,则将该网格的配置点及其实际位置罗列,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内;或/和,若一网格的配置点的配置值需要由多个其他网格下的配置点确定,则将多个其他网格下的配置点从其所属网格中提取出来,形成新网格的网格配置参数,并与多个其他网格的网格配置参数放置在同一逻辑块的逻辑块配置参数内,将所述新网格的网格配置参数与原有网格配置参数设置为相同的相对坐标,并将所有新网格设置为与需要由多个其他网格下的配置点确定那个网格相同的起始配置点位置;或/和,若一网格的一配置点相对位置发生变化,则将变化后的网格作为新网格,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内的变化前网格位置。
[0016]进一步的,根据配置点配置信息中的所属网格的位置,在硬件配置文件查找对应的网格包括:根据所属网格的位置,计算对应网格所在逻辑块在目标可编程逻辑器件中的坐标,及对应网格在所在逻辑块的相对坐标;根据所在逻辑块在目标可编程逻辑器件中的坐标,在硬件配置文件查找对应的逻辑块,并在对应逻辑块下匹配到相对坐标相同的网格。
[0017]进一步的,在查找到的网格内查找与配置点标识相同的配置点之后,还包括:若在匹配到相对坐标相同的网格内未查找到与配置点标识相同的配置点,则在对应逻辑块下匹配其他相对坐标相同的网格,并查找与配置点标识相同的配置点。
[0018]本发明提供了一种用于可编程逻辑器件的位流生成装置,其包括:
[0019]转换模块,用于对待实现设计进行布局布线处理,获取配置点配置信息,配置点配置信息包括配置点标识、所属网格的位置及其比特值;
[0020]获取模块,用于获取目标可编程逻辑器件的硬件配置文件,硬件配置文件包括目标可编程逻辑器件的所有逻辑块的逻辑块配置参数,逻辑块配置参数包括该逻辑块所有网格的网格配置参数,网格配置参数包括该网格所有配置点的配置点配置参数;
[0021]映射模块,用于根据配置点配置信息中的所属网格的位置,在硬件配置文件查找对应的网格,在查找到的网格内查找与配置点标识相同的配置点,建立待实现设计的布局布线结果到目标可编程逻辑器件内配置点的映射关系;
[0022]处理模块,用于根据比特值配置对应配置点的属性值,生成位流文件并下载至目标可编程逻辑器件。
[0023]进一步的,获取模块在获取目标可编程逻辑器件的硬件配置文件之前,还用于根据目标可编程逻辑器件的硬件结构生成硬件配置文件。
[0024]进一步的,获取模块用于将各网格内所有配置点的配置点配置参数按照标识大小顺序排列,生成网格配置参数,配置点配置参数包括配置点标识及相对位置,网格配置参数包括网格标识及其内起始配置点位置;将各逻辑块内所有网格的网格配置参数按照对应网格的出现顺序,生成逻辑块配置参数;将目标可编程逻辑器件内所有逻辑块的逻辑块配置参数存储在线性结构中,生成硬件配置文件。
[0025]进一步的,获取模块用于按照网格的出现顺序为网格分配索引号,将各逻辑块内所有网格的网格配置参数按照对应网格的索引号排序,生成逻辑块配置参数,逻辑块配置参数包括各网格的索引号I。
[0026]进一步的,获取模块还用于:若一网格的配置点为其他网格的无用配置点,则将该网格的配置点及其实际位置罗列,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内;或/和,若一网格的配置点的配置值需要由多个其他网格下的配置点确定,则将多个其他网格下的配置点从其所属网格中提取出来,形成新网格的网格配置参数,并与多个其他网格的网格配置参数放置在同一逻辑块的逻辑块配置参数内,将所述新网格的网格配置参数与原有网格配置参数设置为相同的相对坐标,并将所有新网格设置为与需要由多个其他网格下的配置点确定那个网格相同的起始配置点位置;或/和,若一网格的一配置点相对位置发生变化,则将变化后的网格作为新网格,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内的变化前网格位置。
[0027]进一步的,映射模块用于根据所属网格的位置,计算对应网格所在逻辑块在目标可编程逻辑器件中的坐标,及对应网格在所在逻辑块的相对坐标;根据所在逻辑块在目标可编程逻辑器件中的坐标,在硬件配置文件查找对应的逻辑块,并在对应逻辑块下匹配到相对坐标相同的网格。
[0028]进一步的,映射模块在查找到的网格内查找与配置点标识相同的配置点之后,还用于:若在匹配到相对坐标相同的网格内未查找到与配置点标识相同的配置点,则在对应逻辑块下匹配其他相对坐标相同的网格,并查找与配置点标识相同的配置点。
[0029]本发明提供了一种用于可编程逻辑器件的设计系统,其包括目标可编程逻辑器件、以及本发明提供的位流生成装置。
[0030]本发明的有益效果:
[0031]本发明提供了一种位流生成方法,基于硬件配置文件,建立软件模型内的配置点与硬件上对应配置点之间映射,这样在需要建立配置点从软件模型到实际FPGA芯片位置的映射时,可以根据硬件配置文件快速的查找到配置点所属网格,而不必对FPGA芯片的所有网格都进行分析查找,可以快速实现配置点从软件模型到实际FPGA芯片位置的映射,解决现有建立映射需对FPGA芯片所有Gr id—一查找导致效率低的问题,效率高。
【附图说明】
[0032]图1为本发明第一实施例提供的位流生成装置的结构示意图;
[0033]图2为本发明第二实施例提供的位流生成方法的流程图;
[0034]图3为本发明第三实施例中第一种需特殊处理的网格说明图;
[0035]图4为本发明第三实施例中第二种需特殊处理的网格说明图;
[0036]图5为本发明第三实施例中配置点查找方法的流程图。
【具体实施方式】
[0037]现通过【具体实施方式】结合附图的方式对本发明做输出进一步的诠释说明。
[0038]第一实施例:
[0039]图1为本发明第一实施例提供的位流生成装置的结构示意图,由图1可知,在本实施例中,本发明提供的位流生成装置I包括:
[0040]转换模块11,用于对待实现设计进行布局布线处理,获取配置点配置信息,配置点配置信息包括配置点标识、所属网格的位置及其比特值;
[0041 ]获取模块12,用于获取目标可编程逻辑器件的硬件配置文件,硬件配置文件包括目标可编程逻辑器件的所有逻辑块的逻辑块配置参数,逻辑块配置参数包括该逻辑块所有网格的网格配置参数,网格配置参数包括该网格所有配置点的配置点配置参数;
[0042]映射模块13,用于根据配置点配置信息中的所属网格的位置,在硬件配置文件查找对应的网格,在查找到的网格内查找与配置点标识相同的配置点,建立待实现设计的布局布线结果到目标可编程逻辑器件内配置点的映射关系;
[0043]处理模块14,用于根据比特值配置对应配置点的属性值,生成位流文件并下载至目标可编程逻辑器件。
[0044]在一些实施例中,上述实施例中的获取模块12在获取目标可编程逻辑器件的硬件配置文件之前,还用于根据目标可编程逻辑器件的硬件结构生成硬件配置文件。
[0045]在一些实施例中,上述实施例中的获取模块12用于将各网格内所有配置点的配置点配置参数按照标识大小顺序排列,生成网格配置参数,配置点配置参数包括配置点标识及相对位置,网格配置参数包括网格标识及其内起始配置点位置;将各逻辑块内所有网格的网格配置参数按照对应网格的出现顺序,生成逻辑块配置参数;将目标可编程逻辑器件内所有逻辑块的逻辑块配置参数存储在线性结构中,生成硬件配置文件。
[0046]在一些实施例中,上述实施例中的获取模块12用于按照网格的出现顺序为网格分配索引号,将各逻辑块内所有网格的网格配置参数按照对应网格的索引号排序,生成逻辑块配置参数,逻辑块配置参数包括各网格的索引号I。
[0047]在一些实施例中,上述实施例中的获取模块12还用于:若一网格的配置点为其他网格的无用配置点,则将该网格的配置点及其实际位置罗列,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内;或/和,若一网格的配置点的配置值需要由多个其他网格下的配置点确定,则将多个其他网格下的配置点从其所属网格中提取出来,形成新网格的网格配置参数,并与多个其他网格的网格配置参数放置在同一逻辑块的逻辑块配置参数内,将所述新网格的网格配置参数与原有网格配置参数设置为相同的相对坐标,并将所有新网格设置为与需要由多个其他网格下的配置点确定那个网格相同的起始配置点位置;或/和,若一网格的一配置点相对位置发生变化,则将变化后的网格作为新网格,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内的变化前网格位置。
[0048]在一些实施例中,上述实施例中的映射模块13用于根据所属网格的位置,计算对应网格所在逻辑块在目标可编程逻辑器件中的坐标,及对应网格在所在逻辑块的相对坐标;根据所在逻辑块在目标可编程逻辑器件中的坐标,在硬件配置文件查找对应的逻辑块,并在对应逻辑块下匹配到相对坐标相同的网格。
[0049]在一些实施例中,上述实施例中的映射模块13在查找到的网格内查找与配置点标识相同的配置点之后,还用于:若在匹配到相对坐标相同的网格内未查找到与配置点标识相同的配置点,则在对应逻辑块下匹配其他相对坐标相同的网格,并查找与配置点标识相同的配置点。
[0050]本发明提供了一种用于可编程逻辑器件的设计系统,其包括目标可编程逻辑器件、以及本发明提供的位流生成装置。
[0051 ] 第二实施例:
[0052]图2为本发明第二实施例提供的位流生成方法的流程图,由图2可知,在本实施例中,本发明提供的位流生成方法包括:
[0053]S201:对待实现设计进行布局布线处理,获取配置点配置信息,配置点配置信息包括配置点标识、所属网格的位置及其比特值;
[0054]S202:获取目标可编程逻辑器件的硬件配置文件,硬件配置文件包括目标可编程逻辑器件的所有逻辑块的逻辑块配置参数,逻辑块配置参数包括该逻辑块所有网格的网格配置参数,网格配置参数包括该网格所有配置点的配置点配置参数;
[0055]S203:根据配置点配置信息中的所属网格的位置,在硬件配置文件查找对应的网格,在查找到的网格内查找与配置点标识相同的配置点,建立待实现设计的布局布线结果到目标可编程逻辑器件内配置点的映射关系;
[0056]S204:根据比特值配置对应配置点的属性值,生成位流文件并下载至目标可编程逻辑器件。
[0057]在一些实施例中,上述实施例中的方法在获取目标可编程逻辑器件的硬件配置文件之前,还包括:根据目标可编程逻辑器件的硬件结构生成硬件配置文件。
[0058]在一些实施例中,上述实施例中的根据目标可编程逻辑器件的硬件结构生成硬件配置文件包括:将各网格内所有配置点的配置点配置参数按照标识大小顺序排列,生成网格配置参数,配置点配置参数包括配置点标识及相对位置,网格配置参数包括网格标识及其内起始配置点位置;将各逻辑块内所有网格的网格配置参数按照对应网格的出现顺序,生成逻辑块配置参数;将目标可编程逻辑器件内所有逻辑块的逻辑块配置参数存储在线性结构中,生成硬件配置文件。
[0059]在一些实施例中,上述实施例中的将各逻辑块内所有网格的网格配置参数按照对应网格的出现顺序,生成逻辑块配置参数包括:按照网格的出现顺序为网格分配索引号,将各逻辑块内所有网格的网格配置参数按照对应网格的索引号排序,生成逻辑块配置参数,逻辑块配置参数包括各网格的索引号I。
[0060]在一些实施例中,上述实施例中的方法还包括:若一网格的配置点为其他网格的无用配置点,则将该网格的配置点及其实际位置罗列,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内;或/和,若一网格的配置点的配置值需要由多个其他网格下的配置点确定,则将多个其他网格下的配置点从其所属网格中提取出来,形成新网格的网格配置参数,并与多个其他网格的网格配置参数放置在同一逻辑块的逻辑块配置参数内,将所述新网格的网格配置参数与原有网格配置参数设置为相同的相对坐标,并将所有新网格设置为与需要由多个其他网格下的配置点确定那个网格相同的起始配置点位置;或/和,若一网格的一配置点相对位置发生变化,则将变化后的网格作为新网格,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内的变化前网格位置。[0061 ]在一些实施例中,上述实施例中的根据配置点配置信息中的所属网格的位置,在硬件配置文件查找对应的网格包括:根据所属网格的位置,计算对应网格所在逻辑块在目标可编程逻辑器件中的坐标,及对应网格在所在逻辑块的相对坐标;根据所在逻辑块在目标可编程逻辑器件中的坐标,在硬件配置文件查找对应的逻辑块,并在对应逻辑块下匹配到相对坐标相同的网格。
[0062]在一些实施例中,上述实施例中的方法在查找到的网格内查找与配置点标识相同的配置点之后,还包括:若在匹配到相对坐标相同的网格内未查找到与配置点标识相同的配置点,则在对应逻辑块下匹配其他相对坐标相同的网格,并查找与配置点标识相同的配置点。
[0063]现结合具体应用场景对本发明做进一步的诠释说明。
[0064]第三实施例:
[0065]本发明提供一种生成FPGA位流的方法,首先软件通过布局布线之后将得到所有的配置点的配置信息,其中包含了配置点的名字、Grid坐标和配置点的值,然后从一个包含配置点位置信息的文件(即硬件配置文件)中读取到所有配置点的位置信息,两者通过配置点的名字和所在Grid的坐标建立起一对一的映射关系,通过查找便可获取到配置点的完整信息。
[0066]关于硬件配置文件:
[0067]对于同一目标FPGA芯片,其配置点的位置是不变的,所以将这部分信息写成一个固定的文件,文件并不是将所有的配置点都罗列出来,而是根据Grid以一定的方式组合成一系列的Tile并重复地分布在FPGA上这一特性,将每一类的Grid的配置点的相对位置信息罗列出来,并将Grid按照Tile的划分罗列出来。这样存放的目的是减小文件的大小,提高查找的效率。
[0068]为了能快速地定位到某一 Gr id,文件中还包含了每一类Gr id在Ti Ie下的相对坐标。若两个Grid总是同时出现在同一 Tile下并且其配置点没有相同名字,则可以合在一起,这样的情况下需要在文件中列出其所有的Grid在Tile下的相对坐标。
[0069 ]在按T i I e划分的Gr i d信息中需要包含该Gr i d的起始配置点的绝对位置,用以计算所有配置点的绝对位置。
[0070]关于配置点的查找方法:
[0071]配置点是按照配置点的名称和Grid坐标进行查找的。
[0072]首先通过Grid坐标计算出其所在的Tile划分和相对坐标,在这个Tile划分中即可找到这一Grid。
[0073]然后在这一Grid中根据配置点的名字进行查找,若查找不到则返回上一步并找到另一个有相同坐标的Grid进行查找。直到遍历完所有相同坐标的Grid或者找到了目标配置点。
[0074]在实际应用中,本发明所描述的方法需要用到的数据有:配置点的配置信息和配置点的位置信息,它们分别经由软件布局布线和从硬件配置文件中读取得到,因此,本发明在实现上可以分为两个大的步骤:硬件配置文件的制作读取、配置点的查找。
[0075]硬件配置文件的制作和读取:
[0076]硬件配置文件分为两个部分,一部分存放每一类Grid的详细信息,另一部分则存放每一个Ti Ie的详细信息,参考格式如下:
[0077]a、Grid 部分:
[0078]Grid名字Grid相对坐标
[0079]配置点I名字配置点I相对位置
[0080]配置点2名字配置点2相对位置
[0081]……
[0082]b、Tile 部分:
[0083]某个Tile 划分(如 TileO)
[0084]Gridl名字Gridl起始配置点位置
[0085]Grid2名字Grid2起始配置点位置
[0086]……
[0087]在这里可以认为,整个TiIe部分总的就是整个FPGA的层次,某一Ti Ie和其下的Grid就是一个Tile层次,而Grid和其下的配置点就是一个Grid的层次,以此和FPGA的结构相对应,查找的过程也是据此由上而下依次进行。
[0088]在文件中,Tile部分的Grid名字必须和Grid部分的Grid名字——对应,配置点可以按名称的大小顺序进行排列,方便查找。所有的信息必须严格依照上层软件建模和硬件资料,不能出现差错。
[0089]文件中所有的Grid在形式上都是一样的。对于一些需要特殊处理的Grid,在文件中并不体现其特别之处,但在制作文件时需要进行处理,像这样的Grid主要有:自己本身没有配置点而占用其他Grid无用配置点的Grid、配置点的配置值需要由多个其他Grid下的某一配置点确定的Grid、在某一个地方配置点相对位置有变化的Grid。
[0090]如图3所示:自己本身没有配置点而占用其他Grid无用配置点的Grid,处理方式是将该Grid的配置点和它的实际位置罗列出来形成一个新的Grid,并添加到Tile下;
[0091]如图4所示:对于配置点的配置值需要由多个其他Grid下某一配置点确定的Grid,处理方式是将这些点从其他的Grid中提取出来,形成一个新的Grid,然后和这些Grid放置在同一 Tile下,并设置成相同的相对坐标,但是其起始配置点的位置都需要设置为一样的;
[0092]对于在某一个地方配置点相对位置有变化的Grid,处理方式就是把它当做一个不一样的Grid,并添加到Tile部分的相应位置。
[0093]在读取文件时这些所有的位置信息就会都加载到计算机内存中去了,其存储结构应和文件中的结构一致。为了能快速从Tile部分的Grid名称定位到Grid部分的Grid信息,对于每一个Ti Ie部分的Grid还额外增加了一个索引号,其值是按照在Grid部分的Grid出现顺序递增的,这样在线性的存储结构中通过这个索引号就可以快速定位到具体的Grid了。
[0094]软件上层经过布局布线后传递下来的所有配置点的信息都由:配置点名字、配置点所在Grid的坐标和配置点的比特值组成,配置点是按照配置点名字和配置点所在Grid的坐标进行查找的,如图5所示,本实施例涉及的配置点查找步骤包括:
[0095]S501-S503:首先,根据Grid坐标计算出其所在的Tile在FPGA中的坐标,和Grid在Tile下的相对坐标,据此找到其所在的Tile划分(将Tile划分存储在线性结构中,这样可以很快定位到),并通过遍历该TiIe下的Grid,匹配到一个相对坐标相同的Grid。
[0096]S504-S506:然后在该Grid下通过配置点名字进行查找配置点,若查找成功则可以得到该配置点的具体位置(配置点的相对位置+Grid起始配置点的位置),若查找失败则返回上一步,继续在Tile下匹配相同坐标的Grid,进行在Grid下的查找操作,直到找到为止,并根据查找的结果在FPGA位流数据的相应位置写入配置值。
[0097]由于在查找过程中,配置点的配置信息是以Grid为单位传递下来的,所以对于某一 Grid,在查找到其第一个配置点确定了这个Grid之后便可以将其记录下来,剩下的配置点就可以跳过Tile下查找Grid的步骤,直接在Grid下进行查找。
[0098]综上可知,通过本发明的实施,至少存在以下有益效果:
[0099]本发明提供了一种位流生成方法,基于硬件配置文件,建立软件模型内的配置点与硬件上对应配置点之间映射,这样在需要建立配置点从软件模型到实际FPGA芯片位置的映射时,可以根据硬件配置文件快速的查找到配置点所属网格,而不必对FPGA芯片的所有网格都进行分析查找,可以快速实现配置点从软件模型到实际FPGA芯片位置的映射,解决现有建立映射需对FPGA芯片所有Gr id—一查找导致效率低的问题,效率高。
[0100]以上仅是本发明的【具体实施方式】而已,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所做的任意简单修改、等同变化、结合或修饰,均仍属于本发明技术方案的保护范围。
【主权项】
1.一种用于可编程逻辑器件的位流生成方法,其特征在于,包括: 对待实现设计进行布局布线处理,获取配置点配置信息,所述配置点配置信息包括配置点标识、所属网格的位置及其比特值; 获取目标可编程逻辑器件的硬件配置文件,所述硬件配置文件包括所述目标可编程逻辑器件的所有逻辑块的逻辑块配置参数,所述逻辑块配置参数包括该逻辑块所有网格的网格配置参数,所述网格配置参数包括该网格所有配置点的配置点配置参数; 根据所述配置点配置信息中的所属网格的位置,在所述硬件配置文件查找对应的网格,在查找到的网格内查找与所述配置点标识相同的配置点,建立所述待实现设计的布局布线结果到所述目标可编程逻辑器件内配置点的映射关系; 根据所述比特值配置对应配置点的属性值,生成位流文件并下载至所述目标可编程逻辑器件。2.如权利要求1所述的位流生成方法,其特征在于,在获取目标可编程逻辑器件的硬件配置文件之前,还包括:根据所述目标可编程逻辑器件的硬件结构生成所述硬件配置文件。3.如权利要求2所述的位流生成方法,其特征在于,所述根据所述目标可编程逻辑器件的硬件结构生成所述硬件配置文件包括:将各网格内所有配置点的配置点配置参数按照标识大小顺序排列,生成所述网格配置参数,所述配置点配置参数包括配置点标识及相对位置,所述网格配置参数包括网格标识及其内起始配置点位置;将各逻辑块内所有网格的网格配置参数按照对应网格的出现顺序,生成所述逻辑块配置参数;将所述目标可编程逻辑器件内所有逻辑块的逻辑块配置参数存储在线性结构中,生成所述硬件配置文件。4.如权利要求3所述的位流生成方法,其特征在于,所述将各逻辑块内所有网格的网格配置参数按照对应网格的出现顺序,生成所述逻辑块配置参数包括:按照网格的出现顺序为网格分配索引号,将各逻辑块内所有网格的网格配置参数按照对应网格的索引号排序,生成所述逻辑块配置参数,所述逻辑块配置参数包括各网格的索引号I。5.如权利要求3所述的位流生成方法,其特征在于,还包括:若一网格的配置点为其他网格的无用配置点,则将该网格的配置点及其实际位置罗列,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内;或/和,若一网格的配置点的配置值需要由多个其他网格下的配置点确定,则将所述多个其他网格下的配置点从其所属网格中提取出来,形成新网格的网格配置参数,并与所述多个其他网格的网格配置参数放置在同一逻辑块的逻辑块配置参数内,将所述新网格的网格配置参数与原有网格配置参数设置为相同的相对坐标,并将所有新网格设置为与需要由多个其他网格下的配置点确定那个网格相同的起始配置点位置;或/和,若一网格的一配置点相对位置发生变化,则将变化后的网格作为新网格,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内的变化前网格位置。6.如权利要求1至5任一项所述的位流生成方法,其特征在于,所述根据所述配置点配置信息中的所属网格的位置,在所述硬件配置文件查找对应的网格包括:根据所述所属网格的位置,计算对应网格所在逻辑块在所述目标可编程逻辑器件中的坐标,及对应网格在所在逻辑块的相对坐标;根据所述所在逻辑块在所述目标可编程逻辑器件中的坐标,在所述硬件配置文件查找对应的逻辑块,并在对应逻辑块下匹配到相对坐标相同的网格。7.如权利要求6所述的位流生成方法,其特征在于,在查找到的网格内查找与所述配置点标识相同的配置点之后,还包括:若在匹配到相对坐标相同的网格内未查找到与所述配置点标识相同的配置点,则在对应逻辑块下匹配其他相对坐标相同的网格,并查找与所述配置点标识相同的配置点。8.一种用于可编程逻辑器件的位流生成装置,其特征在于,包括: 转换模块,用于对待实现设计进行布局布线处理,获取配置点配置信息,所述配置点配置信息包括配置点标识、所属网格(Grid,在正式申请文件中将删除英文)的位置及其比特值; 获取模块,用于获取目标可编程逻辑器件的硬件配置文件,所述硬件配置文件包括所述目标可编程逻辑器件的所有逻辑块(Tile,同上)的逻辑块配置参数,所述逻辑块配置参数包括该逻辑块所有网格的网格配置参数,所述网格配置参数包括该网格所有配置点的配置点配置参数; 映射模块,用于根据所述配置点配置信息中的所属网格的位置,在所述硬件配置文件查找对应的网格,在查找到的网格内查找与所述配置点标识相同的配置点,建立所述待实现设计的布局布线结果到所述目标可编程逻辑器件内配置点的映射关系; 处理模块,用于根据所述比特值配置对应配置点的属性值,生成位流文件并下载至所述目标可编程逻辑器件。9.如权利要求8所述的位流生成装置,其特征在于,所述获取模块在获取目标可编程逻辑器件的硬件配置文件之前,还用于根据所述目标可编程逻辑器件的硬件结构生成所述硬件配置文件。10.如权利要求9所述的位流生成装置,其特征在于,所述获取模块用于将各网格内所有配置点的配置点配置参数按照标识大小顺序排列,生成所述网格配置参数,所述配置点配置参数包括配置点标识及相对位置,所述网格配置参数包括网格标识及其内起始配置点位置;将各逻辑块内所有网格的网格配置参数按照对应网格的出现顺序,生成所述逻辑块配置参数;将所述目标可编程逻辑器件内所有逻辑块的逻辑块配置参数存储在线性结构中,生成所述硬件配置文件。11.如权利要求10所述的位流生成装置,其特征在于,所述获取模块用于按照网格的出现顺序为网格分配索引号,将各逻辑块内所有网格的网格配置参数按照对应网格的索引号排序,生成所述逻辑块配置参数,所述逻辑块配置参数包括各网格的索引号I。12.如权利要求10所述的位流生成装置,其特征在于,所述获取模块还用于:若一网格的配置点为其他网格的无用配置点,则将该网格的配置点及其实际位置罗列,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内;或/和,若一网格的配置点的配置值需要由多个其他网格下的配置点确定,则将所述多个其他网格下的配置点从其所属网格中提取出来,形成新网格的网格配置参数,并与所述多个其他网格的网格配置参数放置在同一逻辑块的逻辑块配置参数内,将所述新网格的网格配置参数与原有网格配置参数设置为相同的相对坐标,并将所有新网格设置为与需要由多个其他网格下的配置点确定那个网格相同的起始配置点位置;或/和,若一网格的一配置点相对位置发生变化,则将变化后的网格作为新网格,形成新网格的网格配置参数,并将其增加到所属逻辑块的逻辑块配置参数内的变化前网格位置。13.如权利要求8至12任一项所述的位流生成装置,其特征在于,所述映射模块用于根据所述所属网格的位置,计算对应网格所在逻辑块在所述目标可编程逻辑器件中的坐标,及对应网格在所在逻辑块的相对坐标;根据所述所在逻辑块在所述目标可编程逻辑器件中的坐标,在所述硬件配置文件查找对应的逻辑块,并在对应逻辑块下匹配到相对坐标相同的网格。14.如权利要求13所述的位流生成装置,其特征在于,所述映射模块在查找到的网格内查找与所述配置点标识相同的配置点之后,还用于:若在匹配到相对坐标相同的网格内未查找到与所述配置点标识相同的配置点,则在对应逻辑块下匹配其他相对坐标相同的网格,并查找与所述配置点标识相同的配置点。15.—种用于可编程逻辑器件的设计系统,其特征在于,包括目标可编程逻辑器件、以及如权利要求8至14任一项所述的位流生成装置。
【文档编号】G06F17/50GK105843982SQ201610127790
【公开日】2016年8月10日
【申请日】2016年3月7日
【发明人】孔彪, 陈燕生
【申请人】深圳市紫光同创电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1