可编程逻辑器件配置方法及设备与流程

文档序号:11919448阅读:488来源:国知局
可编程逻辑器件配置方法及设备与流程

本发明涉及数字电子技术领域,尤其涉及一种可编程逻辑器件配置方法及设备。



背景技术:

可编程逻辑器件(Programmable Logic Device,简称PLD)是一种可以根据实际需求随时改变其逻辑功能的电子器件。PLD一般分为可编程只读存储器(Programmable Read Only Memory,简称PROM)、可擦除可编程存储器(Erase Programmable Read Only Memory,简称EPROM)、可编程逻辑阵列(Programmable Logic Array,简称PLA)、可编程阵列逻辑(Programmable Array Logic,简称PAL)、通用阵列逻辑(Generic Array Logic,简称GAL)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、复杂可编程逻辑器件(Complex Programmable Logic Device,简称CPLD)等。

在数字电子技术领域中,固定逻辑器件的电路永久性的,一旦制造完成,就无法改变,只能完成相应的一种或一组逻辑功能。而PLD由于其具有灵活性高,在设计过程中可以根据实际需求通过编程的方法随时改变其逻辑功能,从而为用户和设计人员提供了更多的选择;同时,在设计过程中,设计人员只需要使用低廉的软件工具进行开发、仿真、调试其设计,不必对PLD本身物理结构进行改变即可实现不同的逻辑功能,极大减少设计人员以及制造厂商在设计开发过程中的成本投入,因此PLD得到了广泛的应用。

在现有技术中,PLD的配置调试过程多种多样,通常使用Verilog HDL(Verilog Hardware Description Language)、VHDL(Very-High-Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言)等硬件描述语言描述设计逻辑,然后使用EDA(Electronics Design Automation,电子设计自动化)工具通过自动布局布线等步骤产生配置文件,再将配置文件下载到PLD中进行调试。然而,受到布局布线算法的限制,上述方法无法实现对PLD资源的最大利用,同时也无法实现对关键路径的精确控制,可能导致上述方法在某些特殊场合下不能适用的问题。



技术实现要素:

本发明提供一种可编程逻辑器件配置方法及设备,以解决现有的PLD配置方法无法实现对关键路径的精确控制以及达到较大的PLD资源利用率的问题。

为此,本发明实施例提供一种可编程逻辑器件配置方法,包括:

生成可编程逻辑器件模型文件,所述可编程逻辑器件模型文件中包含器件模型和算子模型;所述器件模型包括位于底层的可编程逻辑器件基本元件、中间层的格点元件以及顶层的格点系统,所述格点元件由至少一个基本元件组成,所述格点系统由至少一个格点元件组成;所述算子模型包含实现各功能的功能模块,一个功能模块由格点元件内的基本元件之间连接组合实现;

根据待配置可编程逻辑器件的功能从所述算子模型中选择对应的目标功能模块,并确定所述各目标功能模块之间的连接关系以生成可编程逻辑器件实现设计文件;

将所述可编程逻辑器件实现设计文件中的目标功能模块以及连接关系映射到所述可编程逻辑器件模型文件中器件模型的顶层上,并对所述顶层上对应的格点元件进行配置;

遍历提取所述顶层上各格点元件的配置参数生成配置文件;

将所述配置文件写入所述待配置可编程逻辑器件。

进一步地,所述器件模型包括用于唯一标识该器件模型的标识信息、所实现功能的功能参数配置信息以及对应的接口信息;

格点元件包括描述位置的配置描述信息、进行图形表征的图形描述信息以及用于描述内部结构的结构描述信息。

进一步地,所述功能模块包括用于唯一标识该功能模块的模块标识信息、所实现功能的参数配置信息、对应的接口信息以及实现该功能模块的所有实现方式描述信息。

进一步地,所述生成可编程逻辑器件实现设计文件包括:

根据所述连接关系确定并定义好各输入输出接口;

对于所述各目标功能模块,生成描述各目标功能模块的内部实现描述语句以得到目标功能模块实例;

根据所述连接关系生成各走线路径的描述语句,并对关键走线路径进行标识约束得到网线实例。

进一步地,将所述可编程逻辑器件实现设计文件中的目标功能模块以及连接关系映射到所述顶层上,并对所述顶层上对应的格点元件进行配置包括:

将所述器件模型从底层往顶层的顺序依次编译得到器件模型的顶层网格模型存放于模型编译库中,并将所述算子模型中的各功能模块进行编译存放于模型编译库中;

将所述可编程逻辑器件实现设计文件进行编译得到目标功能模块实例和网线实例;

根据所述目标功能模块实例从所述模型编译库中找到各自对应的功能模块,并根据各目标功能模块实例的参数对相应功能模块进行配置得到参数配置功能模块;

根据所述网线实例及各参数配置功能模块的实现方式,将所述各参数配置功能模块映射到所述顶层网格模型对应的网格上,并按照所述各参数配置功能模块的参数对相应网格上的网格元件进行配置。

本发明实施例还提供一种可编程逻辑器件配置设备,包括:

模型生成模块,用于生成可编程逻辑器件模型文件,所述可编程逻辑器件模型文件中包含器件模型和算子模型;所述器件模型包括位于底层的可编程逻辑器件基本元件、中间层的格点元件以及顶层的格点系统,所述格点元件由至少一个基本元件组成,所述格点系统由至少一个格点元件组成;所述算子模型包含实现各功能的功能模块,一个功能模块由格点元件内的基本元件之间连接组合实现;

设计生成模块,用于根据待配置可编程逻辑器件的功能从所述算子模型中选择对应的目标功能模块,并确定所述各目标功能模块之间的连接关系以生成Valence语言格式的可编程逻辑器件实现设计文件;

处理模块,用于将所述可编程逻辑器件实现设计文件中的目标功能模块以及连接关系映射到所述可编程逻辑器件模型文件中器件模型的顶层上,并对所述顶层上对应的格点元件进行配置;还用于遍历提取所述顶层上各格点元件的配置参数生成配置文件,并将所述配置文件写入所述待配置可编程逻辑器件。

进一步地,所述器件模型包括用于唯一标识该器件模型的标识信息、所实现功能的功能参数配置信息以及对应的接口信息;

格点元件包括描述位置的配置描述信息、进行图形表征的图形描述信息以及用于描述内部结构的结构描述信息。

进一步地,所述功能模块包括用于唯一标识该功能模块的模块标识信息、所实现功能的参数配置信息、对应的接口信息以及实现该功能模块的所有实现方式描述信息。

进一步地,所述设计生成模块用于根据所述连接关系确定并定义好各输入输出接口,对于所述各目标功能模块,生成描述各目标功能模块的内部实现描述语句以得到目标功能模块实例,以及根据所述连接关系生成各走线路径的描述语句,并对关键走线路径进行标识约束得到网线实例。

进一步地,所述处理模块包括:

编译子模块,用于将所述器件模型从底层往顶层的顺序依次编译得到器件模型的顶层网格模型存放于模型编译库中,并将所述算子模型中的各功能模块进行编译存放于模型编译库中;还用于将所述可编程逻辑器件实现设计文件进行编译得到目标功能模块实例和网线实例;

映射子模块,用于根据所述目标功能模块实例从所述模型编译库中找到各自对应的功能模块,并根据各目标功能模块实例的参数对相应功能模块进行配置得到参数配置功能模块;根据所述网线实例及各参数配置功能模块的实现方式,将所述各参数配置功能模块映射到所述顶层网格模型对应的网格上,并按照所述各参数配置功能模块的参数对相应网格上的网格元件进行配置。

有益效果

根据本发明实施例提供的可编程逻辑器件配置方法及设备,通过生成包含器件模型和算子模型的可编程逻辑器件(PLD)模型文件;器件模型包括位于底层的PLD基本元件、中间层的格点元件以及顶层的格点系统,所述格点元件由至少一个基本元件组成,所述格点系统由至少一个格点元件组成;所述算子模型包含实现各功能的功能模块,一个功能模块由格点元件内的基本元件之间连接组合实现;根据待配置PLD所要实现的功能从所述算子模型中选择对应的目标功能模块,并确定所述各目标功能模块之间的连接关系以生成Valence语言格式的PLD实现设计文件;将所述PLD实现设计文件中的目标功能模块以及连接关系映射到所述PLD模型文件中器件模型的顶层上,并对所述顶层上对应的格点元件进行配置;遍历提取所述顶层上各格点元件的配置参数生成配置文件;并将所述配置文件写入所述待配置PLD。有效解决无法实现对关键路径的精确控制以及无法达到较大的PLD资源利用率的问题,能够实现对PLD的精确配置,由于本发明可以对构成PLD的基本元件进行配置,因此可以实现PLD芯片的资源利用达到最大化,同时,能够灵活设置格点元件的内部结构以及各格点元件之间的连接关系,因此有利于设计人员对PLD的开发与测试,有利于推动PLD技术的发展。

附图说明

图1为本发明实施例一提供的PLD配置方法流程示意图;

图2为本发明实施例一提供的器件模型中格点系统的结构示意图;

图3为本发明实施例一提供的PLD实现设计文件的组成示意图;

图4为本发明实施例一提供的PLD器件模型的映射配置方法流程示意图;

图5为本发明实施例二提供的可编程逻辑器件配置设备的结构示意图;

图6为本发明实施例二提供的另一种可编程逻辑器件配置设备的结构示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。

实施例一:

本发明实施例一提供一种基于Valence语言来实现可编程逻辑器件配置过程的方法,以达到对PLD进行配置调试的目的,而且配置过程高效便捷,有利于设计人员对PLD逻辑功能的开发与测试,有利于推动PLD技术的发展。

请参见图1,图1为本发明实施例一提供的PLD配置方法流程示意图,包括:

S11:生成PLD模型文件,所述PLD模型文件中包含器件模型和算子模型;所述器件模型包括位于底层的PLD基本元件、中间层的格点元件以及顶层的格点系统,所述格点元件由至少一个基本元件组成,所述格点系统由至少一个格点元件组成;所述算子模型包含实现各功能的功能模块,一个功能模块由格点元件内的基本元件之间连接组合实现。

通过生成PLD模型文件,也即对待配置PLD进行建模,建模生成的PLD模型文件中包括器件模型。其中,器件模型包含位于底层的PLD基本元件(可以称之为Prim Device)、中间层的格点元件(可以称之为Grid Device)以及顶层的格点系统(可以称之为Architecture Device)。底层的基本元件是抽象的最小工作单元,中间层的格点元件由1个或至少两个基本元件组成,当一个格点元件中存在至少两个基本元件时,各基本元件可能全部不同,可能部分不同,也可能全都相同。具体地可以根据待配置PLD的逻辑功能灵活设定格点元件中的基本元件的组成和/或数量。顶层的格点系统由各格点元件按照一定的规律排布形成。所述格点系统至少由一个格点元件组成,通常由多个格点元件组成,例如可以是数十个、数百个、甚至大规模的数千个格点元件组成。为了更好的理解本发明,请参见图2,图2为本发明实施例一提供的器件模型中格点系统的结构示意图。包括顶层的格点系统、中间层的格点元件以及底层的基本元件。格点系统由多个规律排布的格点元件组成,每一个格点元件中由至少一个基本元件组成,各个格点元件内的基本元件可能相同,也可能不同。

生成的器件模型中还应当包括唯一标识该器件模型的标识信息、所实现功能的功能参数配置信息以及对应的接口信息。应当理解的是,所述唯一标识该器件模型的标识信息可以是该模型器件的名称;该功能参数配置信息可以根据待配置PLD所实现的逻辑功能具体设定。

在生成器件模型的过程中,应当对生成待配置PLD器件模型的各个组件的功能结构进行描述,从而形成完整的器件模型。每一个模型个体均可以称之为一个组件(Device),具体地可以是基本元件、格点元件以及格点系统,均可以称为组件。所述组件应当包括相应组件的名称、接口信息以及配置参数,其中可以将该组件的名称作为该组件的唯一标识信息,接口主要用于进行信号连接,配置参数决定该组件实现的具体功能。

本实施例中,以上结构格式(例如PLD模型文件、PLD实现设计文件)的描述语言称之为Valence语言。

基于Valence语言对各个组件的描述可以从多个方面进行,包括结构描述(Structure View)、配置描述(Configuration View)以及图形描述(Schematic View)。结构描述用于定义组件的内部结构,例如格点元件由多个基本元件组合连接而成,结构描述中定义了每个基本元件的配置参数值及基本元件之间的连接关系。应当理解的是,由于基本元件是抽象的最小基本单位,所以基本元件不存在结构描述。配置描述用于定义组件的配置点(Config Bit,与PLD器件中的物理开关一一对应)及配置值(Config Value),由于格点元件在顶层格点系统中的排布是有规律的,所以可以将所有的Config Bit全部规划在格点元件中,这样就可以方便的定位某一个Config Bit在整个PLD器件中的位置。图形描述用于定义组件的图形,主要用于绘图。

例如,对格点元件从以上三个方面进行描述,从而得到包括描述位置的配置描述信息、进行图形表征的图形描述信息以及用于描述内部结构的结构描述信息。配置描述信息中包括该格点元件的特定坐标值,例如可以表示为:(a,1,4),其中“a”表示该格点元件属于格点系统a,“1,4”表示该格点元件在格点系统a中的具体位置在第1排第4列。图形描述信息中包括用于表征该格点元件的图形,所述图像可以基于该格点元件所要实现的逻辑功能具体设定。结构描述信息用于描述该格点元件的内部结构,具体可以是该格点元件由哪些基本元件组成以及各基本元件之间的连接关系。

通过Valence语言对待配置的PLD器件进行建模时,所述PLD模型文件中还包含算子模型,所述算子模型包含实现各功能的功能模块(也即算子),一个功能模块由格点元件内的基本元件之间连接组合实现,不同的基本元件通过不同的连接方式能够形成不同的功能模块,实现不同的逻辑功能。具体的,所述功能模块包括但不限于加法器、乘法器、比较器、触发器等,均可以称为一个功能模块。

所述功能模块包括用于唯一标识该功能模块的模块标识信息、所实现功能的参数配置信息、对应的接口信息以及实现该功能模块的所有实现方式描述信息。应当说明的是,一个功能模块的特定功能在实现方式上并不是唯一的,可能存在多种不同的实现方式,后续的配置过程可以基于实际使用情景合理选择其中的某种实现方式。

S12:根据待配置PLD的功能从所述算子模型中选择对应的目标功能模块,并确定所述各目标功能模块之间的连接关系以生成Valence语言格式的PLD实现设计文件。

具体的,可以根据各目标功能模块的连接关系确定各输入输出接口;对于各目标功能模块,生成描述各目标功能模块的内部实现描述语句;以及根据各目标功能模块的连接关系生成各走线路径的描述语句,并对关键走线路径进行标识约束。最终,生成Valence语言格式的PLD实现设计文件。

为了更好的理解本发明,请参见图3,图3为本发明实施例一提供的PLD实现设计文件的组成示意图。所述PLD实现设计文件主要包含三个语句块:接口定义语句块、内部实现语句块、走线路径定义语句块。

其中,接口定义语句块中包含用于定义设计名称、定义设计的相关参数的描述语句、以及输入输出接口语句;此处的输入输出端口可以简单理解为Verilog语言中module的输入及输出,其主要作用是PLD器件与外部信号的交互,例如输入PLD器件的时钟信号。内部实现语句块中包含设计的内部结构描述语句,具体而言,实例化并连接特定的功能模块以实现相应的功能。编写内部结构时,不仅可以使用现有的功能模块,还可以根据实际需求设计特殊的功能模块,甚至可以直接对格点元件或基本元件进行配置连接,例如可以直接指定功能模块和/或组件在整个待配置PLD中的位置,具体的可以通过格点系统中的各格点坐标来对使用的功能模块和/或组件的位置进行约束。

走线路径定义语句块中包含各走线路径的描述语句,用于对该PLD的关键走线路径进行标识约束,实现对关键走线路径的精确控制。本实施例中的关键走线路径可以是任意一个网线(网线可以理解为Verilog语言中的wire,其作用是连接两个功能模块的端口,以实现数据传递),一个网线两端连接的功能模块端口都在内部结构描述语句中确定了,走线路径定义语句只对关键网线的路径进行约束,没有进行约束的网线在后续处理时可采用布线算法进行布线。例如,编写时首先使用布线约束关键字标识开始对一个网线进行约束,然后将该网线从起点至终点间的每一个节点按照前后顺序使用连接符号进行连接,最后以分号结束。

S13:将所述PLD实现设计文件中的目标功能模块以及连接关系映射到所述PLD模型文件中器件模型的顶层上,并对所述顶层上对应的格点元件进行配置。

当所述Valence语言格式的PLD模型文件和PLD实现设计文件编写生成后,可以通过读取其中的目标功能模块、相互之间的连接关系以及器件模型中的顶层模型,并将PLD实现设计文件中的目标功能模块以及连接关系映射到PLD模型文件中器件模型的顶层上,从而实现对PLD器件模型进行配置。

为了更好地理解本发明,下面对PLD器件模型映射、配置过程进行详细说明,请参见图4,图4为本发明实施例一提供的PLD器件模型的映射配置方法流程示意图,包括:

S131:将PLD模型文件进行编译,并将编译结果存放于模型编译库中。

因为PLD模型文件中包含器件模型和算子模型,对器件模型编译后可以得到器件模型的顶层网格模型,并可以将其存放于模型编译库中;对于算子模型,同样可以将其中的各功能模块进行编译并存放于模型编译库中。

S132:对PLD实现设计文件进行编译得到目标功能模块实例和网线实例。

对PLD实现设计文件进行编译时,基于其中的描述各目标功能模块的内部实现描述语句得到目标功能模块实例,根据各个功能模块间的连接关系生成网线实例,并根据走线路径描述语句对关键路径进行约束。对PLD实现设计文件编译后得到的目标功能模块实例和网线实例可以存放于工作库(Work Lib)中。网线实例中存在其连接的各个目标功能模块实例的唯一标识,使用走线路径定义语句块进行过约束的网线实例中还会存放其具体走线路径。

S133:根据目标功能模块实例从所述模型编译库中找到各自对应的功能模块,并根据各目标功能模块实例的参数对相应功能模块进行配置得到参数配置功能模块。

S134:根据所述网线实例及各参数配置功能模块的实现方式,将所述各参数配置功能模块映射到所述顶层网格模型对应的网格上,并按照所述各参数配置功能模块的参数对相应网格上的网格元件进行配置。

将工作库中的网线实例取出,将PLD器件的顶层网格模型从模型编译库中取出,将各参数配置功能模块映射到所述顶层网格模型对应的特定格点上,并按照当前各参数配置功能模块的配置参数对当前格点元件进行配置。根据取出的网线实例,利用布线算法为每一个网线分配一个合适的走线路径。对于已经定义的特定走线路径则根据所述走线路径进行布线。

各参数配置功能模块的具体实现方式可以手动写入PLD实现设计文件中,也可以通过编译软件自动选择。

S14:遍历提取所述顶层上各格点元件的配置参数生成配置文件。

最终通过遍历PLD顶层格点系统中的每一个格点元件,读取其配置信息并写入文件,待所有格点元件配置完成之后,即可生成PLD的配置文件。

S15:将所述配置文件写入所述待配置PLD。

待PLD的配置文件生成后,即可通过写入软件将其写入所述待配置PLD中。写入后还可对其进行运行测试,验证是否达到所要实现的逻辑功能以及稳定性状况。如果没有达到预计效果,则可以通过修改相应的程序文件实现,方便快捷,无需投入较高的设计成本。

本发明实施例提供一种可编程逻辑器件配置方法,通过生成Valence语言格式的包含器件模型和算子模型的PLD模型文件;所述器件模型包括位于底层的PLD基本元件、中间层的格点元件以及顶层的格点系统,所述格点元件由至少一个基本元件组成,所述格点系统由至少一个格点元件组成;所述算子模型包含实现各功能的功能模块,一个功能模块由格点元件内的基本元件之间连接组合实现;以及根据待配置PLD所要实现的功能从所述算子模型中选择对应的目标功能模块,并确定所述各目标功能模块之间的连接关系以生成Valence语言格式的PLD实现设计文件;将所述PLD实现设计文件中的目标功能模块以及连接关系映射到所述PLD模型文件中器件模型的顶层上,并对所述顶层上对应的格点元件进行配置;遍历提取所述顶层上各格点元件的配置参数生成配置文件;并将所述配置文件写入所述待配置PLD。能够实现对PLD的精确配置过程,有利于设计人员对PLD的开发与测试。由于本发明可以对构成PLD的基本元件进行配置,因此可以实现PLD芯片的资源利用达到最大化,同时,能够灵活设置格点元件的内部结构以及各格点元件之间的连接关系,有效解决对关键路径的精确控制问题。

实施例二:

本发明实施例提供一种可编程逻辑器件配置设备,用以实现实施例一所述的可编程逻辑器件配置方法。请参照图5,图5为本发明实施例二提供的可编程逻辑器件配置设备的结构示意图,所述可编程逻辑器件配置设备5包括:模型生成模块51、设计生成模块52、处理模块53,其中:

模型生成模块51,用于生成PLD模型文件,所述PLD模型文件中包含器件模型和算子模型;所述器件模型包括位于底层的PLD基本元件、中间层的格点元件以及顶层的格点系统,所述格点元件由至少一个基本元件组成,所述格点系统由至少一个格点元件组成;所述算子模型包含实现各功能的功能模块,一个功能模块由格点元件内的基本元件之间连接组合实现。

通过模型生成模块51生成的PLD模型文件,也即对待配置PLD进行建模,生成的PLD模型文件中包括器件模型。其中,器件模型包含位于底层的PLD基本元件、中间层的格点元件以及顶层的格点系统。底层的基本元件是抽象的最小工作单元,中间层的格点元件由一个或多个基本元件组合连接而成,顶层的格点系统由各格点元件按照一定的规律排布形成。

模型生成模块51生成的器件模型中还应当包括唯一标识该器件模型的标识信息、所实现功能的功能参数配置信息以及对应的接口信息。应当理解的是,所述唯一标识该器件模型的标识信息可以是该模型器件的名称;该功能参数配置信息可以根据待配置PLD所实现的逻辑功能具体设定。

在模型生成模块51生成器件模型的过程中,还用于对生成待配置PLD器件模型的各个组件的功能结构进行描述,从而形成完整的器件模型。所述各个组件包括位于底层的PLD基本元件、中间层的格点元件以及顶层的格点系统。

模型生成模块51对各个组件的描述可以从多个方面进行,包括结构描述、配置描述以及图形描述。结构描述用于定义组件的内部结构,例如格点元件由多个基本元件组合连接而成,结构描述中定义了每个基本元件的配置参数值及基本元件之间的连接关系。应当理解的是,由于基本元件是抽象的最小基本单位,所以基本元件不存在结构描述。配置描述用于定义组件的配置点及配置值,由于格点元件在顶层格点系统中的排布是有规律的,所以可以将所有的Config Bit全部规划在格点元件中,这样就可以方便的定位某一个Config Bit在整个PLD器件中的位置。图形描述用于定义组件的图形,主要用于绘图。

通过模型生成模块51对待配置的PLD器件进行建模时,所述PLD模型文件中还包含算子模型,所述算子模型包含实现各功能的功能模块,一个功能模块由格点元件内的基本元件之间连接组合实现,不同的基本元件通过不同的连接方式能够形成不同的功能模块,实现不同的逻辑功能。具体的,所述功能模块包括但不限于加法器、乘法器、比较器、触发器等,均可以称为一个功能模块。

所述功能模块包括用于唯一标识该功能模块的模块标识信息、所实现功能的参数配置信息、对应的接口信息以及实现该功能模块的所有实现方式描述信息。应当说明的是,一个功能模块的特定功能在实现方式上并不是唯一的,可能存在多种不同的实现方式,后续的配置过程可以基于实际使用情景合理选择其中的某种实现方式。

本实施例中,所述可编程逻辑器件配置设备5还包括设计生成模块52,用于根据待配置PLD的功能从所述算子模型中选择对应的目标功能模块,并确定所述各目标功能模块之间的连接关系以生成Valence语言格式的PLD实现设计文件。

具体的,设计生成模块52可以根据设计所需要实现的功能确定各输入输出接口;对于各目标功能模块,生成描述各目标功能模块的内部实现描述语句;以及根据各目标功能模块的连接关系生成走线路径的描述语句,对关键走线路径进行标识约束。最终生成Valence语言格式的PLD实现设计文件。

通过设计生成模块52生成的Valence语言格式的PLD实现设计文件主要包含三个语句块:接口定义语句块、内部实现语句块、走线路径定义语句块。

其中,接口定义语句块中包含用于定义设计名称、定义设计的相关参数的描述语句、以及输入输出接口语句;此处的输入输出端口可以简单理解为Verilog语言中module的输入及输出,其主要作用是PLD器件与外部信号的交互,例如输入PLD器件的时钟信号。内部实现语句块中包含设计的内部结构描述语句,具体而言,实例化并连接特定的功能模块以实现相应的功能。编写内部结构时,不仅可以使用现有的功能模块,还可以根据实际需求设计特殊的功能模块,甚至可以直接对格点元件或基本元件进行配置连接,例如可以直接指定功能模块和/或组件在整个待配置PLD中的位置,具体的可以通过格点系统中的各格点坐标来对使用的功能模块和/或组件的位置进行约束。

走线路径定义语句块中包含各走线路径的描述语句,用于对该PLD的关键走线路径进行标识约束,实现对关键走线路径的精确控制。本实施例中的关键走线路径可以是任意一个网线(网线可以理解为Verilog语言中的wire,其作用是连接两个功能模块的端口,以实现数据传递),一个网线两端连接的功能模块端口都在内部结构描述语句中确定了,走线路径定义语句只对关键网线的路径进行约束,没有进行约束的网线在后续处理时可采用布线算法进行布线。

本实施例中,通过模型生成模块51生成的PLD模型文件,以及通过设计生成模块52生成的PLD实现设计文件,生成这种文件格式的描述语言可以称之为Valence语言。

处理模块53用于将所述PLD实现设计文件中的目标功能模块以及连接关系映射到所述PLD模型文件中器件模型的顶层上,并对所述顶层上对应的格点元件进行配置;遍历提取所述顶层上各格点元件的配置参数生成配置文件,将所述配置文件写入所述待配置PLD。

当模型生成模块51生成所述Valence语言格式的PLD模型文件,且设计生成模块52生成所述PLD实现设计文件之后,处理模块53可以读取其中的目标功能模块、相互之间的连接关系以及器件模型中的顶层模型,并将PLD实现设计文件中的目标功能模块以及连接关系映射到PLD模型文件中器件模型的顶层上,从而实现对PLD器件模型进行配置。

其中,所述处理模块53还可以包括编译子模块531和映射子模块532。请参见图6,图6为本发明实施例二提供的另一种可编程逻辑器件配置设备的结构示意图。其中,编译子模块531用于将所述器件模型从底层往顶层的顺序依次编译得到器件模型的顶层网格模型存放于模型编译库中,并将所述算子模型中的各功能模块进行编译后存放于模型编译库中;还用于将所述PLD实现设计文件进行编译得到目标功能模块实例和网线实例。

编译子模块531在对PLD模型文件进行编译时,由于PLD模型文件中包含器件模型和算子模型,对器件模型编译后可以得到器件模型的顶层网格模型,并可以将其存放于模型编译库中;对于算子模型,编译子模块531同样可以将其中的各功能模块进行编译并存放于模型编译库中。

编译子模块531对PLD实现设计文件进行编译时,基于其中的描述各目标功能模块的内部实现描述语句得到目标功能模块实例,根据各个功能模块间的连接关系生成网线实例,并根据走线路径描述语句对关键路径进行约束。对PLD实现设计文件编译后得到的目标功能模块实例和网线实例可以存放于工作库中。网线实例中存在其连接的各个目标功能模块实例的唯一标识,使用走线路径定义语句块进行过约束的网线实例中还会存放其具体走线路径。

应当理解的是,编译子模块531对PLD模型文件和PLD实现设计文件的编译结果并不限于将其存放在模型编译库和工作库中,还可以存放于其他可以存放该编译结果的存储空间内。

映射子模块532用于根据所述目标功能模块实例从所述模型编译库中找到各自对应的功能模块,并根据各目标功能模块实例的参数对相应功能模块进行配置得到参数配置功能模块;根据所述网线实例及各参数配置功能模块的实现方式,将所述各参数配置功能模块映射到所述顶层网格模型对应的网格上,并按照所述各参数配置功能模块的参数对相应网格上的网格元件进行配置。

本发明实施例提供一种可编程逻辑器件配置设备5,通过模型生成模块51生成Valence语言格式的PLD模型文件,所述PLD模型文件包含器件模型和算子模型,所述器件模型包括位于底层的基本元件、中间层的格点元件以及顶层的格点系统,所述格点元件由至少一个基本元件组成,所述格点系统由至少一个格点元件组成;所述算子模型包含实现各功能的功能模块,一个功能模块由格点元件内的基本元件之间连接组合实现;设计生成模块52用于根据待配置PLD所要实现的功能从所述算子模型中选择对应的目标功能模块,并确定所述各目标功能模块之间的连接关系以生成Valence语言格式的PLD实现设计文件;处理模块53用于将所述PLD实现设计文件中的目标功能模块以及连接关系映射到所述PLD模型文件中器件模型的顶层上,并对所述顶层上对应的格点元件进行配置;遍历提取所述顶层上各格点元件的配置参数生成配置文件;并将所述配置文件写入所述待配置PLD。通过所述的可编程逻辑器件配置设备,能够实现对PLD的精确配置,有效解决无法对关键路径进行精确控制以及无法达到较大的PLD芯片资源利用率的问题。同时,能够灵活设置格点元件的内部结构以及各格点元件之间的连接关系,有利于设计人员对PLD逻辑功能的开发与测试。

显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。

以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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