在运行中改变fpga的信号值的制作方法_2

文档序号:9264719阅读:来源:国知局
置的查找表、可重配置的寄存器或可重配置的复用器。借助对查找表、寄存器或复用器的部分的动态的重配置可以在FPGA的运行中改变映射的信号值。包括多个位的信号值必要时可以分开地映射到多个元件上。根据所使用的FPGA和FPGA程序,信号值到FPGA元件的不同映射可以是有利的。通过在构建FPGA程序之如的分析可以确定有利的映射。
[0029]数据处理装置原理上可以任意地实施。FPGA典型地作为扩展模块设置在数据处理装置中或与该数据处理装置连接。数据处理装置可以与远程控制计算机经由数据连接来连接。特别优选地经由控制计算机上的应用程序访问信号值。
[0030]信号值的显示可以作为图形视图来进行。在此,信号值优选可以从列表中通过“拖放”拉到显示的仪器上,以用于显示信号值。反之,同样可以通过“拖放”从列表中选择要改变的信号值。同样,通过“拖放”可以将要改变的信号值的值设置到所选择的信号值上。
[0031]从配置存储器中读取状态数据作为回读数据不包含对数据的改变,而是仅涉及概念上的定义。相应内容适用于回写数据。术语“回写数据”仅要说明,信号值被写入FPGA中,以便改变FPGA中的信号值。
[0032]由回读数据确定信号值和/或由信号值确定回写数据在原理上可以在任意位置上进行,例如在FPGA、数据处理装置的CPU或控制计算机上进行。相应地,状态数据、寄存器数据或信号值可以如所需要地分别被传输。
[0033]从FPGA外部经由接口对FPGA的配置存储器进行读访问和/或写访问。配置存储器的常见架构包括接口,该接口在一个帧的最小读取量的情况下具有32比特宽度和10MHz的时钟频率。相应内容适用于进行写访问。由此,利用目前常见的FPGA按FPGA调试器或FPGA指示器(Scope)的意义以在FPGA周期内的循环准确的访问不能使用所述方法。一个帧除了包含寄存器值之外还可以包含关于查找表的信息以及关于复用器配置或布线配置的信息。由回读数据确定信号值例如包括从帧中找出和提取寄存器值。相应地,由信号值确定回写数据例如包括在帧中找出寄存器值和根据信号值设置寄存器值。也可以从FPGA内部经由内部的接口对FPGA的配置存储器进行读访问的和/或写访问。这样的内部接口例如为Xilinx公司的“内部配置访问端口(ICAP) ”。
[0034]在本发明的有利的实施方案中,该方法在将状态数据从配置存储器传输到FPGA的功能层中之前包括附加的步骤:将状态数据从FPGA的功能层传输到FPGA的配置层中的配置存储器中。相应地,在回写数据作为状态数据被传输到FPGA的配置层中之前,例如可以执行FPGA的配置层的初始化。对信号值的改变例如也可以从事先读取的信号值开始进行。当状态数据从配置存储器以大于要改变的信号值的单元传输至FPGA的功能层中时,配置存储器可以通过事先传输功能层的状态数据来初始化,从而在除了改变过的信号值之外在将状态传输至功能层中之后重新产生原始状态。相应地,可以改变信号值,而在运行中在FPGA的其余属性方面不改变FPGA。这尤其是适用于,要传输到功能层中的状态数据代表恒定的值,所述值在运行中并不改变。原理上,也适用的是,在将状态数据传输到配置层中与将状态数据传输至功能层中之间不改变功能层。在将状态数据传输到FPGA的功能层时,回写数据可以包括附加于信号值的信息。因此,优选首先读取状态数据,作为回写数据的基础,并且将信号值添加到所述状态数据中。由此,可以保证了 FPGA的数据完整性。
[0035]优选地,已在创建FPGA程序时,将可改变的信号值与FPGA在功能层中的元件分开地进行共同设置,所述功能层的配置在运行中可以例如以变量的类型来改变。这样,在部分的重配置时可以确保,FPGA在运行中已改变的部分不会无意地被覆盖。由于FPGA在该方法期间可以继续运行,通常在将状态数据从功能层仅须传输与将回写数据传输到功能层中之间通过FPGA的功能会产生改变,这些改变通过所描述的方法来消除。
[0036]当在要写入的区域中没有在运行中进行改变的元件时,在信号值的每次改变之前不需要将要写入的区域的状态数据传输到配置层和读取状态数据。原理上对状态数据的一次读取就足够了,因为状态数据在FPGA的运行期间并不改变。
[0037]由于元件的配置在FPGA初始化时被确定,备选地可以保存FPGA的基本初始化并且在配置层的区域的写入时使用这些值。
[0038]在本发明的有利的实施方案中,由信号值确定回写数据的步骤包括将信号值映射到回写数据。在本发明的有利的实施方案中,由回读数据确定信号值的步骤包括将回读数据映射到信号值上。用于由信号值确定回写数据或者由回读数据确定信号值的映射与信号值在FPGA中作为寄存器、查找表、复用器的表示相协调,或通过接线来实现。寄存器例如是功能层中的存储器,其数据可简单地复制并且可用于确定信号值。这能够实现标识用于确定信号值的数据。由于各个寄存器并不能够被读取或写入而且配置层只能分区域地工作,所以必须将信号值映射到所述区域的配置位上。
[0039]在本发明的有利的实施方案中,由信号值确定回写数据的步骤包括由所述信号值确定FPGA的至少一个寄存器值。在本发明的有利的实施方案中,由回读数据确定信号值的步骤包括由FPGA的至少一个寄存器值确定信号值。信号值在所述至少一个寄存器中的组织可以是任意的,因此寄存器内容必须被处理,以便确定信号值或由寄存器内容确定用于信号值的所期望的改变的状态数据。尤其是,可以将信号值分布到多个寄存器上,并且寄存器的内容一起被处理,以便确定信号值,或由多个寄存器内容确定用于信号值的所期望的改变的状态数据。
[0040]在本发明的有利的实施方案中,将回写数据作为状态数据写入到FPGA的配置存储器中的步骤包括确定出配置存储器的对于改变信号值所需的区域并且写入配置存储器的所需区域的状态数据作为回读数据。在本发明的有利的实施方案中,从配置寄存器读取状态数据作为回读数据的步骤包括确定出配置存储器的对于确定信号值所需的区域并且读取配置存储器的所需区域的状态数据作为回写数据。确定配置存储器的地址,通过所述地址能对信号值在其中进行编码的寄存器、查找表或复用器的配置位编址,并且在FPGA的运行中根据要调节的信号值来选择,从而可以对配置存储器进行写访问或读访问,而无需事先匹配FPGA硬件配置。通过确定出所需区域,状态数据的读取和/或写入可以限于所述区域,由此较少数据必须被读取、传输和/或写入。
[0041]在本发明的有利的实施方案中,将状态数据从配置存储器传输到FPGA的功能层中的步骤包括确定出FPGA的功能层的对于写入状态数据所需的部分并且将状态数据的该部分传输到功能层中。在本发明的有利的实施方案中,将状态数据从FPGA的功能层传输到其配置层的配置存储器中的步骤包括确定出状态数据的对确定信号值所需的部分并且在其配置存储器中保存状态数据的所述部分。要传输的和/或要写入的区域/部分在运行中被确定出,从而可以传输和/或写入状态数据,而无须事先匹配FPGA硬件配置。通过确定出所需的区域/部分,状态数据的保存/或存储可以限于所述区域,由此较少数据必须被保存和/或存储。
[0042]在本发明的有利的实施方案中,确定出配置存储器的对于改变信号值所需的区域和/或确定出FPGA的功能层的对于写入状态数据所需的部分包括通过标识码标识相应的区域。标识码原理上可以在任意时刻被确定。优选地,标识码在使用FPGA硬件配置的模型的情况下确定。特别优选地,为每个区域配属单义的标识码,通过所述标识码来进行访问。信号值由此例如可以通过区域的标识码编址给配置存储器的区域。标识码例如可以实施为用于标识模型块的块ID。块ID可以通过创建FPGA程序的不同步骤来跟踪。通过块ID于是可以简单地将FPGA元件如寄存器、查找表或复用器配属给模型块。
[0043]在本发明的有利的实施方案中,设置用于传输至FPGA的信号值的步骤包括提供可用的信号值的列表并且从所述列表选择信号值。在本发明的有利的实施方案中,请求FPGA的信号值的步骤包括提供可用的信号值的列表并且从所述列表选择信号值。所述列表原理上可以在任意时刻被创建。优选地,在使用FPGA硬件配置的模型的情况下创建所述列表。特别优选地,为每个信号值配属单义的标识码,通过所述标识码来进行访问。
[0044]在本发明的有利的实施方案中,将状态数据从配置存储器传输到FPGA的功能层中的步骤包括向FPGA发送复位信号。复位信号是如下信号,其启动将状态数据从配置存储器传输到FPGA的功能层中。相应的传输可以短时间地进行,例如几个循环,其中通过设置复位信号可以控制用于将状态数据从配置存储器传输至功能层中的时间点。复位信号可以是全局复位信号,其作用于FPGA的如下所有元件,所述元件的配置层的区域参与复位。
[0045]在本发明的有利的实施方案中,向FPGA发送复位信号的步骤包括发送复位信号以用于将状态数据从配置存储器部分地传输到FPGA的功能层中。通过部分地传输状态数据可以有效地执行信号值的改变。仅需要FPGA的较少资源,由此尤其使在实时系统中的应用变得容易。通过仅响应于(ansprechen)应能调节的寄存器的专用复位线路可以避免不期望的作用,如其通过全局复位而可能形成的那样。
[0046]如果要调节的信号值以查找表或复用器的形式实现,则当配置层的数据直接由查找表或复用器接收时可以省去复位线路。
[0047]在本发明的有利的实施方案中,在FPGA上实施FPGA硬件配置的步骤包括将硬件配置实施为实时应用,并且用于改变FPGA的信号值的方法在实时应用的运行中被执行。实时应用在时序上要求非常严格,从而所提供的资源的改变已能够导致实时应用的属性改变。在使用根据本发明的方法的情况下,可以改变信号值或对其进行读访问,而FPGA硬件配置的资源不必改变。对信号值的改变可以与FPGA硬件配置的实施无关地进行,从而不发生由信号值的改变引起的对FPGA硬件配置的相关影响。
[0048]此外,给出一种用于基于FPGA模型以硬件描述语言执行FPGA构建的方法,所述方法包括如下步骤:创建FPGA硬件配置。基于FPGA硬件配置确定出用于至少一个信号值的状态数据的配置存储器的存储器位置,以及创建具有在运行中可访问的信号值和与之相对应的存储器位置的列表。
[0049]此外,根据本发明提出了一种用于基于FPGA模型以硬件描述语言执行FPGA构建的方法,所述方法包括如下步骤:创建具有多个信号值的FPGA硬件配置,在FPGA硬件配置的相邻的区域中设置信号值,基于FPGA硬件配置确定出用于多个信号值的状态数据的配置存储器的存储器位置,以及创建具有在运行中可访问的和/或可改变的信号值和与之对应的存储位置的列表。
[0050]该方法的基本思想于是在于,已经在创建F
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1