专利名称:可编程逻辑电路控制装置、可编程逻辑电路控制方法和程序的利记博彩app
技术领域:
本发明涉及可编程逻辑电路控制装置、可编程逻辑电路控制方法和程序。
背景技术:
可编程逻辑电路,比如现场可编程门阵列(FPGA)(例如美国XILINX有限公司的XC系列)和可编程逻辑器件(PLD),广泛用于开发专用集成电路(ASIC)。可编程逻辑电路具有一种特性,使得内部逻辑电路的逻辑结构能够基于载入的电路信息而自由改变。这些可编程逻辑电路有助于缩短改变ASIC规格(specifications)的周期和ASIC产品的开发周期。
对最近的ASIC所要求的逻辑结构正在变得更加复杂,并且在集成规模上越来越大。有这样的一些情况,其中ASIC是用几个到几十个可编程逻辑电路构成的。
然而,甚至在大规模逻辑电路里,也不是所有可编程逻辑电路总是在工作。从这一方面讲,已经有人建议通过重新配置可编程逻辑电路,在不同的时候实现不同的功能(例如,参见未经审查的第2001-202236号日本专利申请KOKAI出版物)。可编程逻辑电路的这种重新配置能够构成ASIC的规模集成。
但是,可编程逻辑电路的重构要求载入整个可编程逻辑电路的电路信息。而在处理过程中重新配置要求中断这一处理,在中断时刻已经使用的数据应该保存起来,应该载入新的可编程逻辑电路的电路信息和新的可编程逻辑电路要处理的新数据。这些重新配置需要时间。为了缩短保存和载入数据的时间,已经提出了几种方案,比如未经审查的第2001-202236号日本专利申请KOKAI出版物所公开的那一种,这一专利申请提供具有高速缓冲存储器来缩短上述时间的一种可编程逻辑电路。
但是,总的来说,可编程逻辑电路要执行的过程所产生的数据的位宽度和长度,一个过程一个样。因此,在重新配置可编程逻辑电路的时候,应该为可编程逻辑电路执行的每一个过程提供存储器区域用来存储产生的数据。这样做显著地增加了高速缓冲存储器的需要量,因此使得可编程逻辑电路的结构复杂化。
发明内容
因此,本发明的一个目的是提供一种可编程逻辑电路控制装置、一种可编程逻辑电路控制方法和程序,它们能够用一种简单的结构,管理可编程逻辑电路要执行的各种过程产生的,具有各种比特宽度和数据长度的数据。
为了实现这一目的,根据本发明的第一方面,提供一种可编程逻辑电路控制系统,它获取一个模块,这个模块包括定义要控制的可编程逻辑电路逻辑结构的数据,这一可编程逻辑电路具有根据提供的控制信号改变逻辑结构的功能,它还基于获得的模块,改变可编程逻辑电路的逻辑结构,并且包括控制器,通过提供控制信号给要控制的所述可编程逻辑电路,控制要控制的所述可编程逻辑电路的所述逻辑结构;模块存储器,存储多个模块,每个模块都包括定义要控制的所述可编程逻辑电路的所述逻辑结构的数据;模块指定存储器,具有多个顺序的存储器位置,并且在所述多个存储器位置的至少一个里存储指定模块地址的数据;节点值存储器,接收要控制的所述可编程逻辑电路的预定节点处产生的信号,并且存储所述信号表示的值,其中所述节点值存储器具有多个存储器位置,将互不相同的读地址和互不相同的写地址分别分配给这些存储器位置,所述节点值存储器还具有将要控制的所述可编程逻辑电路的所述预定节点处产生的所述信号表示的值,写入分配了所提供的写地址信号表明的写地址的那个存储器位置的写入功能,给要控制的所述可编程逻辑电路提供信号的读出功能,该信号表示分配了提供的读地址信号表明的读地址的那个存储器位置处存储的值,与模块有关的读地址和写地址被进一步存储在存储了指定那个模块地址的数据的所述模块指定存储器中的那个存储器位置处,以及所述控制器具有获取所述模块指定存储器里一个存储器位置处存储的数据的功能,获取从所述模块指定存储器获得的所述数据里包括的地址表明的模块,产生控制信号用于导致要控制的所述可编程逻辑电路采用所述模块表明的逻辑结构,并且提供所述控制信号给要控制的所述可编程逻辑电路,从而改变要控制的所述可编程逻辑电路的所述逻辑结构的功能,以及提供从所述模块指定存储器获得的所述数据中包括的读地址和写地址给所述节点值存储器的功能。
这一可编程逻辑电路控制系统能够利用一种简单结构,管理要由可编程逻辑电路执行的过程产生的数据和根据可编程逻辑电路的重新配置输入的新数据,并且不需要一个过程一个过程地准备的存储器区域。对于具有不同比特宽度和不同数据长度的新数据也是这样。
所述控制器可以通过改变所述可编程逻辑电路的所述逻辑结构的一部分形成。在这种情况下,控制器所改变的那一部分逻辑结构可以包括构成控制器本身的一部分。
所述节点值存储器可以通过改变所述可编程逻辑电路的所述逻辑结构的一部分形成。在这种情况下,控制器改变的那一部分逻辑结构可以包括构成节点值存储器的一部分。
如果所述控制器和/或节点值存储器是通过改变要控制的可编程逻辑电路的一部分逻辑结构而形成的,可编程逻辑电路的物理结构得到进一步简化。
所述节点值存储器可以按照这样一种方式构建,这种方式使得能够独立地执行所述写入功能和所述读出功能。
在这种情况下,如果控制器具有能够提供写地址和读地址给节点值存储器的结构,那么向节点值存储器写入信号值以及从节点值存储器读取信号值得到有效地执行。
所述模块指定存储器可以存储模块地址或者指定每一个存储器位置处另一个存储器区域的数据。
在这种情况下,控制器可以按如下方式工作。
所述控制器鉴别从所述模块指定存储器中一个存储器位置处获得的数据是不是指定一个模块地址或者指定另一个存储器区域的数据。鉴别出所述数据指定所述模块的所述地址时,这个控制器从所述模块存储器获取所述地址表明的所述模块。然后这个控制器产生控制信号,用于引起要控制的所述可编程逻辑电路采用所述模块表明的逻辑结构,并且提供所述控制信号给所述可编程逻辑电路。这个控制器按照这种方式改变所述可编程逻辑电路的逻辑结构。
鉴别出从所述模块指定存储器获取的指定所述另一个存储器位置的时候,所述控制器从所述模块指定存储器获取存储在另一个存储器位置的数据。
利用这样一种结构,即使改变可编程逻辑电路逻辑结构的过程是包括分支过程的复杂程序,这一过程也能够容易和顺利地执行。
存储在所述模块指定存储器中一个存储器位置处并且指定所述另一个存储器位置的所述数据,包括条件定义数据,这些条件定义数据指定转移到获取存储在所述另一个存储器位置处的数据的过程的条件。
在这种情况下,鉴别出所述数据指定所述另一个存储器位置的时候,所述控制器鉴别所述获取的数据里包括的所述条件定义数据所指定的所述条件是否满足。鉴别出所述条件满足的时候,所述控制器从所述模块指定存储器获取所述另一个存储器位置处存储的数据,并且在鉴别出所述条件不满足时,所述控制器退出从所述另一个存储器位置的数据获取。
利用这样一种结构,即使改变可编程逻辑电路逻辑结构的过程是包括条件跳转的过程,这一过程也能够容易和顺利地执行。
包括的所述条件定义数据指定的所述条件涉及要控制的所述可编程逻辑电路的一个预定节点产生的信号表示的值。
在这种情况下,控制器按照如下方式工作。
鉴别出从所述模块指定存储器获得的所述数据指定另一个存储器位置的时候,所述控制器从要控制的所述可编程逻辑电路的所述节点获取所述信号。然后基于所述获取的信号表示的所述值,控制器鉴别从所述模块指定存储器获取的所述数据中包括的所述条件定义数据指定的所述条件是否满足。
在所述模块指定存储器里一个存储器位置处存储的所述数据可以包括标识数据,用于标识所述数据指定的是模块地址和另一个存储器位置中的哪一个。
在这种情况下,控制器可以按照如下方式工作。
控制器从获自所述模块指定存储器的数据提取所述标识数据。然后,所述控制器鉴别所述获取的数据是指定模块地址还是指定另一个存储器区域的数据。
在初始状态下,控制器可以读取顺序的存储器区域顶部存储的模块地址指定的模块,并且控制可编程逻辑电路的结构,从而开始操作。
在这种情况下,鉴别出改变模块的预定条件得到满足的时候,控制器读取对应于现在正在执行的那个模块的写地址,将当前逻辑结构获得的一个值写入所述写地址指定的存储器区域。
然后,控制器获取下一步要执行的模块的地址,访问所述模块指定存储器以获得读地址,读出所述节点值存储器中所述读地址位置处存储的一个值,如果有的话,将这个值设置在所述可编程逻辑电路里,然后开始操作。
根据本发明第二方面的一种可编程逻辑电路控制装置从存储多个模块的模块存储器获取一个模块,这个模块包括定义要控制的可编程逻辑电路的逻辑结构的数据,这个可编程逻辑电路具有根据提供的控制信号改变所述逻辑结构的功能,所述可编程逻辑电路控制装置还产生控制信号,用于导致要控制的所述可编程逻辑电路采用所述获取的模块表明的逻辑结构,并且提供所述控制信号给要控制的所述可编程逻辑电路,从而改变要控制的所述可编程逻辑电路的所述逻辑结构,并且包括
获取部分,从模块指定存储器获取在模块指定存储器中一个存储器位置处存储的数据,所述模块指定存储器具有多个顺序的存储器位置,并且在所述存储器位置的至少一个位置处存储指定模块地址的数据,其中分配给节点值存储器中一个存储器位置的读地址和写地址,被进一步存储在存储了指定所述模块地址的数据的所述模块指定存储器中,所述多个存储器位置里的那个存储器位置处,所述节点值存储器,具有将要控制的所述可编程逻辑电路的预定节点处产生的信号表示的值,存储在分配了本地提供的写地址的存储器位置处的功能,以及将表示分配了本地提供的读地址的存储器位置处储存的值的信号,提供给要控制的所述可编程逻辑电路的功能;写地址提供部分,提供所述获得的数据中包括的写地址给所述节点值存储器;一个部分,从模块存储器获取所述获取的数据中包括的地址表明的模块,并且按照一种方式改变要控制的所述可编程逻辑电路的逻辑结构,这种方式引起所述可编程逻辑电路采用所述模块表明的逻辑结构;以及读地址提供部分,提供所述获取的数据里包括的读地址给所述节点值存储器。
这种可编程逻辑电路控制装置还能够利用一种简单结构,管理可编程逻辑电路要执行的过程产生的数据和根据可编程逻辑电路的重新配置输入的新数据,而不需要一个过程一个过程地准备的存储器区域。对于具有不同比特宽度和不同数据长度的新数据也是这样。
如果可编程逻辑电路控制装置自己和/或节点值存储器是通过改变要控制的可编程逻辑电路的逻辑结构的一部分形成的,包括可编程逻辑电路的整个系统的物理结构得到进一步简化。
根据本发明第三方面的一种可编程逻辑电路控制方法获取包括定义要控制的可编程逻辑电路的逻辑结构的数据的模块,并且基于所述获取的模块改变要控制的所述可编程逻辑电路的所述逻辑结构,并且包括以下步骤存储多个模块,每一个模块都包括定义要控制的所述可编程逻辑电路的所述逻辑结构的数据;获取指定模块地址和要控制的所述可编程逻辑电路的预定节点处产生的信号的数据,并且在用于模块使用顺序指定的多个顺序的存储器位置的至少一个存储器位置处,存储分配给存储所述信号表示的值的所述节点值存储器中那个存储器区域的读地址和写地址;获取在用于模块使用顺序指定的所述存储器位置处储存的数据;将所述获取的数据里包括的写地址提供给所述节点值存储器;从所述模块存储器获取所述获取的数据中包括的地址表示的模块,产生控制信号以引起要控制的所述可编程逻辑电路采用所述模块表明的逻辑结构,并且将所述控制信号提供给要控制的所述可编程逻辑电路,以改变要控制的所述可编程逻辑电路的所述逻辑结构;以及将所述获取的数据里包括地读地址提供给所述节点值存储器,其中所述节点值存储器具有在分配了本地提供的写地址的存储器位置处,存储要控制的所述可编程逻辑电路的预定节点处产生的信号表示的值的功能,以及将表示分配了本地提供的读地址的存储器位置处储存的值的信号,提供给要控制的所述可编程逻辑电路的功能。
这种可编程逻辑电路控制方法不需要一个过程一个过程地准备用来存储要由可编程逻辑电路执行的过程产生的数据和根据可编程逻辑电路的重新配置输入的数据的存储器区域,并且能够用一种简单结构管理这些数据。对于具有不同比特宽度和不同数据长度的新数据也是这样。
如果节点值存储器是通过改变要控制的可编程逻辑电路的逻辑结构的一部分形成的,执行这一可编程逻辑电路控制方法的整个系统的物理结构得到进一步简化。
根据本发明第四方面的一种可编程逻辑电路控制方法从存储多个模块的模块存储器,获取包括定义要控制的可编程逻辑电路的逻辑结构的数据的模块,其中要控制的所述可编程逻辑电路具有根据提供的控制信号改变所述逻辑结构的功能,这种方法还产生控制信号,用于引起要控制的所述可编程逻辑电路采用所述获取的模块表明的逻辑结构,并且将所述控制信号提供给要控制的所述可编程逻辑电路,从而改变要控制的所述可编程逻辑电路的所述逻辑结构,并且包括以下步骤从所述模块指定存储器获取模块指定存储器中一个存储器位置处存储的数据,所述模块指定存储器有多个顺序的存储器位置,并且在所述多个存储器位置的至少一个位置处存储指定模块地址的数据,其中分配给节点值存储器中一个存储器位置的读地址和写地址,被进一步存储在所述模块指定存储器中所述多个存储器位置里的那个存储器位置处,在所述模块指定存储器里存储了指定所述模块地址的数据,并且所述节点值存储器具有在分配了本地提供的写地址的存储器位置处,存储要控制的所述可编程逻辑电路的一个预定节点处产生的信号表示的值的功能,以及将表示分配了本地提供的读地址的存储器位置处储存的值的信号,提供给要控制的所述可编程逻辑电路的功能;将所述获取的数据里包括的写地址提供给所述节点值存储器;从模块存储器获取所述获取的数据里包括的地址表明的模块,按照一种方式改变要控制的所述可编程逻辑电路的逻辑结构,从而引起所述可编程逻辑电路采用所述模块表明的逻辑结构;以及将所述获取的数据里包括的读地址提供给所述节点值存储器。
这种可编程逻辑电路控制方法也能够以一种简单结构管理所述可编程逻辑电路要执行的过程产生的数据和根据可编程逻辑电路的重新配置输入的新数据,并且不需要一个过程一个过程地准备存储器区域。对于具有不同比特宽度和不同数据长度的新数据也是这样。
如果节点值存储器是通过改变要控制的可编程逻辑电路的逻辑结构的一部分形成的,执行这一可编程逻辑电路控制方法的整个系统的物理结构得到进一步简化。
根据本发明第五方面的程序允许计算机起以下作用控制器,提供控制信号给具有根据所述提供的控制信号改变逻辑结构这一功能的要控制的可编程逻辑电路,从而改变要控制的所述可编程逻辑电路的所述逻辑结构;模块存储器,存储多个模块,每个模块都包括定义要控制的所述可编程逻辑电路的所述逻辑结构的数据;模块指定存储器,具有多个顺序的存储器位置,并且在所述多个存储器位置的至少一个位置处存储指定模块地址的数据;节点值存储器,获取要控制的所述可编程逻辑电路的预定节点处产生的信号,并且存储所述信号表示的值,其中所述节点值存储器具有分配了读地址和写地址的多个存储器位置,并且具有将要控制的所述可编程逻辑电路的所述预定节点处产生的所述信号表示的值,存储到分配了本地提供的写地址的存储器位置处的写入功能,为要控制的所述可编程逻辑电路提供信号的读出功能,该信号表示分配了本地提供的读地址的那个存储器位置处存储的值,读地址和写地址被进一步存储在存储了指定那个模块的地址的数据的所述模块指定存储器中那个存储器位置处,以及所述控制器获取所述模块指定存储器里一个存储器位置处存储的数据,将所述获取的数据里包括的写地址提供给所述节点值存储器,获取从所述模块指定存储器获得的所述数据里包括的地址表明的模块,产生控制信号用于导致要控制的所述可编程逻辑电路采用所述模块表明的逻辑结构,并且提供所述控制信号给要控制的所述可编程逻辑电路,从而改变要控制的所述可编程逻辑电路的所述逻辑结构,并且将所述获得的数据中包括的读地址提供给节点值存储器。
运行这种程序的计算机不要求一个过程一个过程地准备用来存储可编程逻辑电路执行的过程产生的数据和根据所述可编程逻辑电路的重新配置输入的数据的存储器区域,并且能够用一种简单结构管理这些数据。对于具有不同比特宽度和不同数据长度的新数据也是这样。
根据本发明第六方面的程序允许计算机起可编程逻辑电路控制装置作用的程序,所述可编程逻辑电路控制装置从存储多个模块的模块存储器获取包括数据的模块,这些数据定义要控制的可编程逻辑电路的逻辑结构,要控制的所述可编程逻辑电路具有根据提供的控制信号改变所述逻辑结构的功能,并且所述可编程逻辑电路产生控制信号,用于引起要控制的所述可编程逻辑电路采用所述获取的模块表明的逻辑结构,并且提供所述控制信号给要控制的所述可编程逻辑电路,从而改变要控制的所述可编程逻辑电路的所述逻辑结构,所述可编程逻辑电路控制装置包括从模块指定存储器获取所述模块指定存储器里一个存储器位置处存储的数据的部分,所述模块指定存储器有多个顺序的存储器位置,并且在所述多个存储器位置的至少一个位置处存储指定模块地址的数据,其中分配给节点值存储器里一个存储器位置的读地址和写地址被进一步存储在存储指定所述模块地址的数据的所述模块指定存储器里所述多个存储器位置中的那个存储器位置处,所述节点值存储器,该节点值存储器具有将要控制的所述可编程逻辑电路的一个预定节点处产生的信号表示的值,存储到分配了本地提供的写地址的一个存储器位置处的功能,以及将表示分配了本地提供的读地址的一个存储器位置处存储的值的信号,提供给要控制的所述可编程逻辑电路的功能;将所述获取的数据里包括的写地址提供给所述节点值存储器的部分;一个部分,该部分从模块存储器获取所述获取的数据中包括的地址表明的模块,并且按照一种方式改变要控制的所述可编程逻辑电路的逻辑结构,从而引起所述可编程逻辑电路采用所述模块表明的逻辑结构;以及将所述获取的数据里包括的读地址提供给所述节点值存储器的部分。
运行这种程序的计算机能够利用一种简单结构管理由可编程逻辑电路执行的过程产生的数据和根据所述可编程逻辑电路的重新配置输入的新数据,并且不需要一个过程一个过程地准备的存储器区域。对于具有不同比特宽度和不同数据长度的新数据也是这样。
如果所述节点值存储器是通过改变要控制的可编程逻辑电路的逻辑结构的一部分形成的,包括执行所述程序的计算机的整个系统的物理结构得到简化。
由此可见,本发明能够实现一种可编程逻辑电路控制装置,一种可编程逻辑电路控制方法和程序,它们能够用一种简单结构管理要由可编程逻辑电路执行的过程产生的数据。
通过阅读以下详细说明和附图,本发明的这些目的和其它目的、优点将更加显而易见。在这些附图中图1说明本发明一个实施例中可编程逻辑电路控制装置的结构;图2说明可编程逻辑电路的结构;图3说明逻辑电路BIBC的结构;图4说明逻辑电路BFBC的结构;图5说明逻辑电路BOBC的结构;图6A说明阵列开关的结构,图6B说明构成阵列开关的那些开关的结构;图7说明要存储在模块地址存储器部分的数据的数据结构;以及图8是说明电路控制部分执行的过程的流程图。
具体实施例方式
下面将参考附图描述作为可编程逻辑电路控制装置的本发明的一个优选实施例。
图1说明可编程逻辑电路控制装置的结构。如图所示,可编程逻辑电路控制装置包括可编程逻辑电路P。
可编程逻辑电路P包括可配置逻辑块(CLB)、阵列开关、线路材料等等,美国的XILINX有限公司用其中的可配置逻辑块来构成现场可编程门阵列(FPGA)。可编程逻辑电路P根据外部提供的或者可编程逻辑电路P产生的控制信号,改变(重新配置)它的逻辑结构(它的输入信号和它的输出信号之间的关系)。
可编程逻辑电路P包括逻辑电路部分1、内部数据存储器2、模块存储器部分3、模块地址存储器部分4和电路控制部分5。按照与电路控制部分5连接起来的方式形成逻辑电路部分1、内部数据存储器2、模块存储器部分3和模块地址存储器部分4。按照互相连接起来的方式形成逻辑电路部分1和内部数据存储器2。
可编程逻辑电路P从例如外部计算机或者另一种外部单元接收指定内部数据存储器2、模块存储器部分3、模块地址存储器部分4和电路控制部分5的逻辑结构的控制信号。根据这些控制信号,改变内部数据存储器2、模块存储器部分3、模块地址存储器部分4和电路控制部分5的逻辑结构。可编程逻辑电路P中不构成内部数据存储器2、模块存储器部分3、模块地址存储器部分4和电路控制部分5的那一部分是逻辑电路部分1。
如图2所示,逻辑电路部分1包括输入逻辑电路BIBC、逻辑电路BFBC、输出逻辑电路BOBC、阵列开关BLSW、线路LVL0~LVL4以及线路LHL0~LHL2。
线路LVL0~LVL4和LHL0~LHL2的每一条都包括63根信号线。输入逻辑电路BIBC、逻辑电路BFBC和输出逻辑电路BOBC通过总线分别与线路LVL0~LVL4连接。线路LVL0~LVL4和线路LHL0~LHL2是由阵列开关BLSW切换的,从而实现可变线路。
输入逻辑电路BIBC、逻辑电路BFBC和输出逻辑电路BOBC每一个都包括一个逻辑电路,例如TTL(晶体管-晶体管逻辑)电路或CMOS(互补金属氧化物硅)逻辑电路。
输入逻辑电路BIBC在电路控制部分5的控制下,将输入逻辑电路部分1的输入信号提供给线路LVL0。每个输入逻辑电路BIBC都包括,例如,如图3所示的输出选择器OSEL1。
输出选择器OSEL1通过63比特的总线IoA(1)~IoA(63)与线路LVL0连接,并且将输入逻辑电路部分1的4比特信号提供给构成线路LVL0的信号线。要注意,在电路控制部分5提供的24比特控制信号ConfigI之值等等的基础之上,输出选择器OSEL1决定将这一信号提供给线路LVL0中的哪些信号线,并且将这个信号提供给确定好的这些信号线。输出选择器OSEL1可以决定不提供信号给线路LVL0中的任何信号线。
逻辑电路BFBC在电路控制部分5的控制之下,对通过线路LVL0~LVL3提供的信号进行逻辑操作,并且提供获得的信号给线路LVL1~LVL4。如图4所示,例如,每个逻辑电路BFBC都包括输入选择器ISEL1、基本功能单元LFBC和输出选择器OSEL2,如图4所示。
输入选择器ISEL1通过63比特总线IiA(1)~IiA(63)连接到线路LVL0~LVL3,从线路LVL0~LVL3中选定的一条线路提供的信号获得一个6比特信号,并且将获得的信号提供给基本功能单元LFBC。要注意,在电路控制部分5之类提供的36比特控制信号ConfigFi的值的基础之上,输入选择器ISEL1决定要从构成线路LVL0~LVL3的63根信号线中的哪六根信号线获得这一信号,并且将获得的信号提供给基本功能单元LFBC。输入选择器ISEL1可以决定不从线路LVL0~LVL3中的任何信号线获得信号。在这种情况下,将表示逻辑值“0”的信号提供给基本功能单元LFBC。
如图4所示,例如,基本功能单元LFBC包括一个选择器SEL。在输入选择器ISEL1提供的6比特信号的值的基础之上,选择器SEL总共选择两比特,一比特来自电路控制部分5之类提供的130比特控制信号ConfigFf的第1比特到第64比特,一比特来自第65比特到第128比特。将这个2比特信号(信号XY)提供给输出选择器OSEL2和内部数据存储器2的输入端口TO(以后讨论)。
基本功能单元LFBC基于控制信号ConfigFf中第129和第130比特的值,决定是否将信号XY存入内部数据存储器2。基本功能单元LFBC提供表明这一决定结果的控制数据给内部数据存储器2的允许端EN(以后讨论)。表明要存储信号XY的时候,控制数据可以例如取值“1”,表明不存储信号XY的时候取值“0”。
输出选择器OSEL2通过63比特总线IoB(1)~IoB(63)连接到线路LVL1~LVL4,并且将基本功能单元LFBC提供的信号XY,从内部数据存储器读出的以及从输出端口FM(以后讨论)输出的2比特,总共4比特提供给构成线路LVL1~LVL4的信号线。要注意,基于从电路控制部分5等提供的24比特控制信号ConfigFo的值,输出选择器OSEL2决定要将这4比特信号提供给线路LVL1~LVL4中的哪些信号线,并且将这一信号提供给决定下来的信号线。输出选择器OSEL2可以决定不将这一信号提供给线路LVL1~LVL4的任何一根信号线。
输出逻辑电路BOBC包括在电路控制部分5的控制之下,输出从线路LVL4提供的信号的逻辑电路。每个逻辑电路BOBC都包括,例如,输入选择器ISEL2和功能单元OBC,如图5所示。
输入选择器ISEL2通过63比特总线IiC(1)~IiC(63)连接到线路LVL4,从连接的线路LVL4提供的信号获得一个4比特信号,并且将获得的这个信号提供给功能单元OBC。要注意,基于电路控制部分5之类提供的28比特控制信号ConfigO的第1到第24比特的值,输入选择器ISEL2决定从构成线路LVL4的63根信号线中的哪四根信号线获得这4比特信号,并且将获得的这个信号提供给功能单元OBC。输入选择器ISEL2可以决定不从线路LVL4中的任何信号线获得信号,在这种情况下,将表示逻辑值“0”的信号提供给功能单元OBC。
功能单元OBC包括一个拴锁电路,这一拴锁电路保持输入选择器ISEL2提供的4比特信号的值,或者将这一信号传递出去。功能单元OBC基于控制信号ConfigO中第25~28比特的值,决定是保持这一信号还是将它传递出去。功能单元OBC发送出具有保持的值的信号或者传递出去的信号作为信号Y。逻辑电路部分1从外部获得时钟信号,或者具有产生时钟信号的电路,并且这个逻辑电路部分1的各个组件应该与这个时钟信号同步地拴锁信号。
阵列开关BLSW能够让线路LVL0~LVL4和线路LHL0~LHL2互相之间电连接和断开。阵列开关BLSW根据电路控制部分5之类提供的控制信号(以后将把它叫做控制信号ConfigL)的值,让线路LVL0~LVL4互相电连接或断开,或者让线路LHL0~LHL2互相电连接或断开,或者让线路LVL0~LVL4与线路LHL0~LHL2互相电连接或断开。
如图6A所示,例如,在线路LVLm(m是0到4的整数)和线路LHLn(n是0~2的整数)之间切换的阵列开关BLSW包括在信号线LVLm-j(j是1到63的整数)和信号线LHLn-k(k是1到63的整数)之间切换的总共3969个开关群Q。每个开关群Q包括多个元件,例如场效应晶体管(FET),如图6B所示。
在图6B所示的实例中,FETQ1在构成信号线LVLm-j的两根信号线LVLm-jA和LVLm-jB之间切换。FETQ2在构成信号线LHLn-k的两根信号线LHLn-kA和LHLn-kB之间切换。FETQ3在信号线LVLm-jA和信号线LHLn-kA之间切换。FETQ4在信号线LVLm-jA和信号线LHLn-kB之间切换。FETQ5在信号线LVLm-jB和信号线LHLn-kA之间切换。FETQ6在信号线LVLm-jB和信号线LHLn-kB之间切换。当开关群Q具有图6B所示的结构的时候,应该将控制信号ConfigL施加给,例如,构成开关群Q的各个FET的栅极。
线路LVL0~LVL4与输入逻辑电路BIBC、逻辑电路BFBC、输出逻辑电路BOBC和阵列开关BLSW连接。线路LHL0~LHL2与阵列开关BLSW连接。线路LHL0~LHL2不直接与输入逻辑电路BIBC、逻辑电路BFBC和输出逻辑电路BOBC连接(但是它们可以通过阵列开关BLSW与这些逻辑电路连接)。
内部数据存储器2形成双端口同步RAM(随机存取存储器)之类,并且具有与各个逻辑电路BFBC一一对应的存储器区域。内部数据存储器2的每个存储器区域具有字长度足以存储与这个存储器区域相联系的逻辑电路BFBC提供的信号的存储器容量。
如图1所示,例如,内部数据存储器2具有互相独立的输入端口TO、输出端口FM和允许端EN,并且具有互相独立的读地址总线和写地址总线。输入端口TO和允许端EN与逻辑电路BFBC的基本功能单元LFBC连接,输出端口FM与逻辑电路BFBC的输出选择器OSEL2连接,读地址总线和写地址总线与电路控制部分5连接。
将读地址和写地址分配给形成内部数据存储器2的存储器区域的每个存储器位置。当内部数据存储器2检测到将表明数据存储的信号提供给允许端EN的时候,内部数据存储器2一经检测到就将提供给输入端口TO的信号存储到写地址总线提供的写地址表明的存储器区域里。内部数据存储器2从读地址总线提供的读地址表明的存储器区域读取信号,从输出端口FM输出这一信号。内部数据存储器2可以并行执行存储信号的操作以及读取和输出信号的操作。
响应电路控制部分5的访问,模块存储器部分3和模块地址存储器部分4读取它们自己存储的数据(以后讨论),并且将这些数据提供给电路控制部分5。要指出,要存储在模块存储器部分3和模块地址存储器部分4的数据,已经在电路控制部分5进行后面要讨论的操作之前,从外部单元提供,并且存储在模块存储器部分3和模块地址存储器部分4中的存储器区域里。
如图1所示,模块存储器部分3存储定义可编程逻辑电路P的逻辑结构的数据(以后叫做“模块”)。单个模块指的是每次能够用单个可编程逻辑电路P表示的逻辑结构的全部或一部分。因此,这一模块可以表明输入逻辑电路BIBC、逻辑电路BFBC、输出逻辑电路BOBC和内部数据存储器2的全部的逻辑结构。这一模块可以是第2003-198362号未经审查的日本专利申请KOKAI出版物或者第2003-29969号未经审查的日本专利申请KOKAI出版物里公开的模块之一,它形成逻辑电路BFBC一部分或者内部数据存储器2一部分的逻辑结构,而不改变其它逻辑电路的逻辑结构。
将10比特地址分配给构成模块存储器部分3中一个存储器区域的存储器位置中的每一个。模块存储器部分3可以通过指定模块的地址,也就是指定储存模块的顶部存储器位置的地址(或者模块中的给定部分,例如结束位置)来指定模块。
如图7所示,模块地址存储器部分4中的每个存储器区域每32比特形成一页。将页地址分配给每一页,并且根据页地址,将模块地址存储器部分4的各页按照从上一层到下一层的顺序排序。构成每一页的这32比特同样地按照从最高位到最低位的顺序排序。
模块地址存储器部分4中的数据结构在图7中说明。存储在模块地址存储器部分4每一页中的是存储在模块存储器部分3中的每个模块的地址或者进行分支处理的时候表明跳转距离(偏移值)的值,6比特控制比特、8比特写地址和8比特读地址。在图7所示的实例中,模块地址或偏移值、控制比特、写地址和读地址按照从最低位开始的顺序,分别占据每一页的10比特、6比特、8比特和8比特。
例如,控制比特由表明是否允许电路控制部分5进行分支的2比特(以后叫做“分支控制比特”),以及表明什么时候分支的分支条件的4比特(以后叫做“分支条件定义比特”)组成。
当分支控制比特取预定值(例如二进制值“10”),并且与分支控制比特所在位置同一页里包括的分支条件比特表明的控制条件得到满足时,分支控制比特指令电路控制部分5以这一页的页地址作为起点,按照这一页里存储的偏移值跳转(也就是读出一页里存储的数据,这一页的页地址是同一页的页地址与这一页中存储的偏移值的和)。
当分支控制比特取不同于预定值的值时(例如二进制值“00”或“01”),分支控制比特指令电路控制部分5从模块存储器部分3读取一个模块,这个模块由分支控制比特所在页里包括的地址指定,重新配置读出的模块里表明的逻辑电路部分1,并且将存储在下一页里的数据读到同一页里(具体而言,是页地址等于这一页的页地址加1的那一页)。
例如,当分支条件比特取二进制值“0000”时,它表明执行跳转的条件是“信号Cond(0)取值0”。
例如,当分支条件比特取二进制值“0001”时,它表明执行跳转的条件是“信号Cond(1)取值0”。
例如,当分支条件比特取二进制值“0010”时,它表明执行跳转的条件是“信号Cond(2)取值0”。
例如,当分支条件比特取二进制值“0011”时,它表明执行跳转的条件是“信号Cond(3)取值0”。
例如,当分支条件比特取二进制值“0100”时,它表明执行跳转的条件是“信号Cond(4)取值0”。
例如,当分支条件比特取二进制值“1000”时,它表明执行跳转的条件是“信号Cond(0)取值1”。
例如,当分支条件比特取二进制值“1001”时,它表明执行跳转的条件是“信号Cond(1)取值1”。
例如,当分支条件比特取二进制值“1010”时,它表明执行跳转的条件是“信号Cond(2)取值1”。
例如,当分支条件比特取二进制值“1011”时,它表明执行跳转的条件是“信号Cond(3)取值1”。
例如,当分支条件比特取二进制值“1100”时,它表明执行跳转的条件是“信号Cond(4)取值1”。
例如,当分支条件比特取二进制值“0111”或“1111”时,它表明只要分支条件比特同一页里包括的分支控制比特具有预定值,就应该总是跳转的条件。
信号Cond(0)~Cond(4)是要由正在监视是否满足条件的逻辑电路BFBC、正在执行输出监视结果的过程的输出逻辑电路BOBC或者逻辑电路部分1里的一个预定节点,提供给电路控制部分5的总共5比特的信号。在这种情况下,例如在一个模块里事先描述逻辑电路BFBC、输出逻辑电路BOBC之类提供信号Cond(0)~Cond(4)。除了执行条件跳转的条件以外,监视是否满足条件的可能目标包括调用另一个过程的条件,以及返回进行调用的原来的过程的条件。
例如,电路控制部分5执行图8所示的一个过程序列。
当电路控制部分5包括处理器、非易失性存储器之类的时候,处理器应该载入存储在例如非易失性存储器里的程序,并且运行这一程序来执行图8所示的过程序列。
当电路控制部分5开始工作的时候,电路控制部分5首先读取模块地址存储器部分4里具有最顶部页面地址的一页里存储的数据(也就是控制比特和模块地址或偏移值)(步骤S1)。
下一步,电路控制部分5鉴别在步骤S7或者步骤S10里已经从模块地址存储器部分4读取了数据的页面是不是最后一页,也就是说,所关心的页面是不是被给予了最低页面地址的页面(步骤S2)。鉴别出来它是最后一页的时候,电路控制部分5终止这个过程序列。
鉴别出来不是最后一页的时候,电路控制部分5鉴别从模块地址存储器部分4读出的最后数据里包括的控制比特表明的是(a)模块的读取或者(b)分支(条件跳转或者无条件跳转),这两个过程中的哪一个过程(步骤S3)。
当控制比特表明是过程(a)的时候,电路控制部分5读取从模块地址存储器部分4读出的数据里包括的模块地址。接下来,电路控制部分5从模块存储器部分3读取这一地址指定的模块,并且按照一种方式来对可编程逻辑电路P的各个部分进行重新配置,从而使其具有这一模块所表示的逻辑结构(步骤S4)。除了构成逻辑电路部分1的那些部分以外,可编程逻辑电路P的各个部分包括构成内部数据存储器2的那些部分。具体而言,在步骤S4里,通过例如产生控制信号ConfigI、ConfigFi、ConfigFf、ConfigFo、ConfigO和ConfigL,并且将这些控制信号提供给逻辑电路部分1,电路控制部分5重新配置逻辑电路部分1。
在步骤S4里,电路控制部分5提供从模块地址存储器部分4读出的数据里包括的写地址和读地址给内部数据存储器2。
在步骤S4里给逻辑电路部分1提供控制信号的时候,逻辑电路部分1执行从内部数据存储器2读取信号XY的值的过程,或者取出信号QY的过程。当写入和读出完成的时候,针对电路控制部分5提供给内部数据存储器2的读地址或者写地址所指定的存储器位置,写入信号XY或者读出信号QY。
当步骤S4里的过程完成的时候,电路控制部分5从模块地址存储器部分4读出存储在下一页里的数据(步骤S5),并且返回步骤S2。
另一方面,当步骤S3里控制比特表明是过程(b)的时候,电路控制部分5鉴别控制比特里包括的分支条件比特表明是(c)无条件跳转还是(d)条件跳转(步骤S6)。具体而言,在步骤S6里,电路控制部分5鉴别分支条件比特的值是不是“0111”或者“1111”,当这个比特值是这些值之一的时候,指令无条件跳转。当这个比特值不是这些值的时候,电路控制部分5决定指令条件跳转。
在步骤S6里决定指令无条件跳转的时候,电路控制部分5引用控制比特同一页里包括偏移值,按照这个偏移值(也就是读取跳转页中存储的数据)跳转(步骤S7),并且返回步骤S2。
在步骤S6里决定指令条件跳转的时候,电路控制部分5获得例如逻辑电路部分1提供的信号Cond(0)~Cond(4)(步骤S8)。然后,基于获得的信号Cond(0)~Cond(4),电路控制部分5鉴别分支条件比特表明的分支条件是否满足(步骤S9)。决定不满足分支条件的时候,电路控制部分5从模块地址存储器部分4读取下一页里存储的数据(步骤S10),然后返回步骤S2。但是,决定满足分支条件的时候,电路控制部分5返回步骤S7。
从外界将一个信号之类提供给输入逻辑电路BIBC的时候,利用这个信号,逻辑电路部分1按照它的逻辑结构执行算术运算。然后,这个逻辑电路部分1从输出逻辑电路BOBC输出表明算术运算结果的信号。
通过执行步骤S1~S10,可编程逻辑电路控制装置能够一步一步地按照预定顺序重新配置可编程逻辑电路P。可编程逻辑电路控制装置还能够顺利地执行涉及复杂程序的重新配置,包括条件分支、从分至点返回和循环。
在逻辑电路部分1完成处理的过程中产生的数据保持在内部数据存储器2里。因此,即使每一个过程里数据的比特宽度和数据长度都不一样,也不必为逻辑电路部分1执行的每个处理准备存储器。因此,能够容易地实现这一可编程逻辑电路控制装置。
可编程逻辑电路控制装置的结构不限于上述结构。
例如,模块存储器部分3可以包括外部RAM或者另一个外部存储器器件。
内部数据存储器2和模块地址存储器部分4可以部分或全部包括外部RAM或者独立于可编程逻辑电路P里那一个的存储器器件。单个存储器器件可以实现内部数据存储器2、模块存储器部分3和模块地址存储器部分4的部分或全部功能。
电路控制部分5可以包括独立于可编程逻辑电路P的一个处理器,并且包括,例如,CPU(中央处理单元),以及在其中存储处理器运行的程序的外部存储器,例如ROM(只读存储器)。另外,电路控制部分5也可以包括独立于可编程逻辑电路P的专用电子电路。
可编程逻辑电路P要根据模块重新配置的那一部分不必限于形成逻辑电路部分1的那一部分,或者形成内部数据存储器2的那一部分,但是可以限于形成模块存储器部分3或者模块地址存储器部分4的那一部分。此外,可以重新配置形成电路控制部分5的那一部分。
逻辑电路部分1存储在内部数据存储器2里的信号不限于信号XY,而是可以存储逻辑电路部分1在任意节点产生的任意信号的值。
当逻辑电路部分1不需要将信号值写入内部数据存储器2,并且并行地从中读出信号值的时候,内部数据存储器2不必具有并行地执行数据读出和数据写入的结构。
存储在模块地址存储器部分4里的数据不必采用上述数据结构。例如,构成一页的比特数是任意的。此外,模块地址、页面地址、写地址、读地址、偏移值和分支控制比特或分支条件比特的比特数,以及这些比特在模块地址存储器部分4中的每一页占据的位置,都是任意的。
电路控制部分5基于其上执行跳转的条件不必限于上述条件。例如,执行跳转的条件不必依赖于信号Cond(0)~Cond(4)的值,信号Cond的比特数不必是5比特。条件可以涉及电路控制部分5能够获得的其它任意信息。
信号Cond可以表示作为针对逻辑电路部分1的单个节点处产生的信号的值,或者在一个时序或者多个时序处的多个节点处产生的信号的值,执行预定过程例如逻辑运算的结果而获得的信号值。在这种情况下,逻辑电路部分1应该包括执行这些逻辑运算的逻辑电路。
电路控制部分5可以进行绝对跳转,也可以进行前面描述的那种跳转(也就是相对跳转)。在这种情况下,要存储在模块地址存储器部分4里的分支控制比特必须只表示三种指令,例如相对跳转、绝对跳转和不执行跳转。当分支控制比特表明要进行绝对跳转的时候,电路控制部分5这样解释那就是要跳转的页面地址存储在包括分支控制比特而不是偏移值的那一页里(也就是说,要跳转过去的页面地址应该代替偏移值存储在这一页里)。
到此为止已经讨论了的本发明的实施例中的可编程逻辑电路控制装置,不限于一种专用系统,而是可以用普通计算机系统来实现。例如,执行上述过程的可编程逻辑电路控制装置可以这样来实现将用于执行内部数据存储器2、模块存储器部分3、模块地址存储器部分4和电路控制部分5的操作的程序,从存储程序的介质(CD-ROM、MO等等)安装进例如连接到逻辑电路部分1的计算机里去。
也可以将这样的程序载入例如通信电路的公告牌系统(BBS),并且可以通过这一通信电路进行分发。可以用表示这个程序的信号来调制载波,可以发射获得的调制后波形,收到这个调制后波形的装置可以对这个调制后的波形解调,恢复这个程序。此外,上面讨论的过程可以通过激活这一程序,按照运行另一应用程序的相同方式在OS的控制之下运行这一程序来执行。
当OS参与这些过程一部分的执行的时候,或者OS构成本发明的一个构成元素的一部分的时候,可以将除了这一部分以外的程序存储在记录介质里。在这种情况下,执行计算机执行的各个功能或者步骤的程序应该存储在这一记录介质里。
它有各种实施例并且可以对它进行各种修改而不会偏离本发明的实质和范围。上述实施例的目的是说明本发明,而不是限制本发明的范围。本发明的范围由后面的权利要求而不是上面的实施例说明。属于本发明权利要求等价方案意义上的各种修改都在本发明的范围之内。
这一申请是建立在2004年2月19日提交的第2004-42701号日本专利申请的基础之上的,包括说明书、权利要求书、附图和摘要。在这里将上述日本专利申请全部引入作为参考。
权利要求
1.一种用于控制可编程逻辑电路的逻辑结构的可编程逻辑电路控制系统,包括控制器(5),通过提供控制信号给所述可编程逻辑电路,控制所述可编程逻辑电路(1)的所述逻辑结构;模块存储器(3),存储多个模块,每个模块都包括定义所述可编程逻辑电路的所述逻辑结构的数据;模块指定存储器(4),具有多个顺序的存储器区域,并且在所述多个存储器区域的至少一个里存储指定模块地址的数据;节点值存储器(2),接收要控制的所述可编程逻辑电路的预定节点处产生的信号,并且存储所述信号表示的值,其中所述节点值存储器(2)具有多个存储器区域,将互不相同的读地址和互不相同的写地址分别分配给这些存储器区域,所述节点值存储器(2)还具有将所述可编程逻辑电路的所述预定节点处产生的所述信号表示的值,写入分配了所提供的写地址信号表明的写地址的那个存储器区域的写入功能,给要控制的所述可编程逻辑电路提供信号的读出功能,该信号表示分配了提供的读地址信号表明的读地址的那个存储器区域中存储的值,与模块有关的读地址和写地址被进一步存储在存储了指定那个模块地址的数据的所述模块指定存储器(4)中的那个存储器区域里,以及所述控制器(5)具有获取所述模块指定存储器(4)里一个存储器区域中存储的数据的功能,获取从所述模块指定存储器(4)获得的所述数据里包括的地址表明的模块,产生控制信号导致所述可编程逻辑电路(1)采用所述模块表明的逻辑结构,并且提供所述控制信号给所述可编程逻辑电路(1),从而改变所述可编程逻辑电路(1)的所述逻辑结构的功能,以及提供从所述模块指定存储器(4)获得的所述数据中包括的读地址和写地址给所述节点值存储器的功能。
2.如权利要求1所述的可编程逻辑电路控制系统,其中所述控制器(5)是通过改变所述可编程逻辑电路(1)的所述逻辑结构的一部分形成的。
3.如权利要求1所述的可编程逻辑电路控制系统,其中所述节点值存储器(2)是通过改变所述可编程逻辑电路的所述逻辑结构的一部分形成的。
4.如权利要求1所述的可编程逻辑电路控制系统,其中所述节点值存储器(2)是按照这样一种方式构建的,这种方式使得能够独立地执行所述写入功能和所述读出功能,以及所述控制器(5)具有一种结构,这种结构能够执行提供写地址给所述节点值存储器的功能,以及并行地提供读地址给所述节点值存储器(2)的功能。
5.如权利要求1所述的可编程逻辑电路控制系统,其中所述模块指定存储器(4)存储模块地址或者指定每一个存储器区域里另一个存储器区域的数据,并且所述控制器(5)鉴别从所述模块指定存储器(4)中一个存储器位置获得的数据是不是指定模块地址或者指定另一个存储器区域的数据,鉴别出所述数据指定所述模块的所述地址时,从所述模块存储器(3)获取所述地址表明的所述模块,并且产生控制信号,引起要控制的所述可编程逻辑电路(1)采用所述模块表明的逻辑结构,并且提供所述控制信号给所述可编程逻辑电路,从而改变所述可编程逻辑电路的所述逻辑结构,以及鉴别出从所述模块指定存储器获取的所述数据指定另一个存储器位置的时候,从所述模块指定存储器(4)获取存储在所述另一个存储器位置的数据。
6.如权利要求5所述的可编程逻辑电路控制系统,其中存储在所述模块指定存储器(4)中并且指定所述另一个存储器区域的所述数据,包括条件定义数据,这些条件定义数据指定转移到获取存储在所述另一个存储器区域里的数据的过程的条件,鉴别出所述数据指定所述另一个存储器区域的时候,所述控制器(5)鉴别所述获取的数据里包括的所述条件定义数据所指定的所述条件是否满足,鉴别出所述条件满足的时候,所述控制器(5)从所述模块指定存储器(4)获取所述另一个存储器区域里存储的数据,以及鉴别出所述条件不满足时,所述控制器(5)退出从所述另一个存储器区域的数据获取。
7.如权利要求6所述的可编程逻辑电路控制系统,其中包括的所述条件定义数据指定的所述条件涉及要控制的所述可编程逻辑电路的一个预定节点处产生的信号表示的值,鉴别出从所述模块指定存储器(4)获得的所述数据指定另一个存储器位置的时候,所述控制器(5)从要控制的所述可编程逻辑电路(1)的所述节点获取所述信号,并且基于所述获取的信号表示的所述值,鉴别从所述模块指定存储器(4)获取的所述数据中包括的所述条件定义数据指定的所述条件是否满足。
8.如权利要求5所述的可编程逻辑电路控制系统,其中在所述模块指定存储器(4)里一个存储器位置处存储的所述数据包括标识数据,用于标识所述数据指定的是模块地址和另一个存储器位置中的哪一个,基于从所述模块指定存储器(4)获取的所述数据中包括的所述标识数据,所述控制器(5)鉴别所述获取的数据是指定模块地址还是指定另一个存储器区域的数据。
9.一种可编程逻辑电路控制装置,具有获取部分,配置成从模块指定存储器获取在所述模块指定存储器中一个存储器位置处存储的数据,所述模块指定存储器具有多个顺序的存储器位置,并且在所述多个存储器位置的至少一个位置处存储指定模块地址的数据,其中分配给节点值存储器中一个存储器位置的读地址和写地址,被进一步存储在存储了指定所述模块地址的数据的所述模块指定存储器中所述多个存储器位置里的那个存储器位置处,所述节点值存储器,具有将要控制的所述可编程逻辑电路的预定节点处产生的信号表示的值,存储在分配了本地提供的写地址的存储器位置处的功能,以及将表示分配了本地提供的读地址的存储器位置处储存的值的信号,提供给要控制的所述可编程逻辑电路的功能;所述可编程逻辑电路控制装置还包括写地址提供部分,配置成提供所述获得的数据中包括的写地址给所述节点值存储器;改变部分,配置成从模块存储器获取所述获取的数据中包括的地址表明的模块,并且按照一种方式改变要控制的所述可编程逻辑电路的逻辑结构,这种方式引起所述可编程逻辑电路采用所述模块表明的逻辑结构;以及读地址提供部分,配置成提供所述获取的数据里包括的读地址给所述节点值存储器。
10.一种可编程逻辑电路控制方法,这种方法获取包括定义要控制的可编程逻辑电路的逻辑结构的数据的模块,并且基于所述获取的模块改变要控制的所述可编程逻辑电路的所述逻辑结构,并且包括以下步骤存储多个模块,每一个模块都包括定义要控制的所述可编程逻辑电路的所述逻辑结构的数据;获取指定模块地址和要控制的所述可编程逻辑电路的预定节点处产生的信号的数据,并且在用于模块使用顺序指定的多个顺序的存储器位置的至少一个存储器位置处,存储分配给存储所述信号表示的值的所述节点值存储器中那个存储器区域的读地址和写地址;获取在用于模块使用顺序指定的所述存储器位置处储存的数据;将所述获取的数据里包括的写地址提供给所述节点值存储器;从所述模块存储器获取所述获取的数据中包括的地址表示的模块,产生控制信号以引起要控制的所述可编程逻辑电路采用所述模块表明的逻辑结构,并且将所述控制信号提供给要控制的所述可编程逻辑电路,以改变要控制的所述可编程逻辑电路的所述逻辑结构;以及将所述获取的数据里包括地读地址提供给所述节点值存储器,其中所述节点值存储器具有在分配了本地提供的写地址的存储器位置处,存储要控制的所述可编程逻辑电路的预定节点处产生的信号表示的值的功能,以及将表示分配了本地提供的读地址的存储器位置处储存的值的信号,提供给要控制的所述可编程逻辑电路的功能。
11.一种可编程逻辑电路控制方法,这种方法从存储多个模块的模块存储器,获取包括定义要控制的可编程逻辑电路的逻辑结构的数据的模块,其中要控制的所述可编程逻辑电路具有根据提供的控制信号改变所述逻辑结构的功能,这种方法还产生控制信号,用于引起要控制的所述可编程逻辑电路采用所述获取的模块表明的逻辑结构,并且将所述控制信号提供给要控制的所述可编程逻辑电路,从而改变要控制的所述可编程逻辑电路的所述逻辑结构,并且包括以下步骤从所述模块指定存储器获取模块指定存储器中一个存储器位置处存储的数据,所述模块指定存储器有多个顺序的存储器位置,并且在所述多个存储器位置的至少一个位置处存储指定模块地址的数据,其中分配给节点值存储器中一个存储器位置的读地址和写地址,被进一步存储在所述模块指定存储器中所述多个存储器位置里的那个存储器位置处,在所述模块指定存储器里存储了指定所述模块地址的数据,并且所述节点值存储器具有在分配了本地提供的写地址的存储器位置处,存储要控制的所述可编程逻辑电路的一个预定节点处产生的信号表示的值的功能,以及将表示分配了本地提供的读地址的存储器位置处储存的值的信号,提供给要控制的所述可编程逻辑电路的功能;将所述获取的数据里包括的写地址提供给所述节点值存储器;从模块存储器获取所述获取的数据里包括的地址表明的模块,并且按照这样一种方式改变要控制的所述可编程逻辑电路的逻辑结构,即引起所述可编程逻辑电路采用所述模块表明的逻辑结构;以及将所述获取的数据里包括的读地址提供给所述节点值存储器。
12.一种用于允许计算机起以下作用的程序控制器,提供控制信号给具有根据所述提供的控制信号改变逻辑结构这一功能的要控制的可编程逻辑电路,从而改变要控制的所述可编程逻辑电路的所述逻辑结构;模块存储器,存储多个模块,每个模块都包括定义要控制的所述可编程逻辑电路的所述逻辑结构的数据;模块指定存储器,具有多个顺序的存储器位置,并且在所述多个存储器位置的至少一个位置处存储指定模块地址的数据;节点值存储器,获取要控制的所述可编程逻辑电路的预定节点处产生的信号,并且存储所述信号表示的值,其中所述节点值存储器具有分配了读地址和写地址的多个存储器位置,并且具有将要控制的所述可编程逻辑电路的所述预定节点处产生的所述信号表示的值,存储到分配了本地提供的写地址的存储器位置处的写入功能,为要控制的所述可编程逻辑电路提供信号的读出功能,该信号表示分配了本地提供的读地址的那个存储器位置处存储的值,读地址和写地址被进一步存储在存储了指定那个模块的地址的数据的所述模块指定存储器中那个存储器位置处,以及所述控制器获取所述模块指定存储器里一个存储器位置处存储的数据,将所述获取的数据里包括的写地址提供给所述节点值存储器,获取从所述模块指定存储器获得的所述数据里包括的地址表明的模块,产生控制信号用于导致要控制的所述可编程逻辑电路采用所述模块表明的逻辑结构,并且提供所述控制信号给要控制的所述可编程逻辑电路,从而改变要控制的所述可编程逻辑电路的所述逻辑结构,并且将所述获得的数据中包括的读地址提供给节点值存储器。
13.一种用于允许计算机起可编程逻辑电路控制装置作用的程序,所述可编程逻辑电路控制装置从存储多个模块的模块存储器获取包括数据的模块,这些数据定义要控制的可编程逻辑电路的逻辑结构,要控制的所述可编程逻辑电路具有根据提供的控制信号改变所述逻辑结构的功能,并且所述可编程逻辑电路产生控制信号,用于引起要控制的所述可编程逻辑电路采用所述获取的模块表明的逻辑结构,并且提供所述控制信号给要控制的所述可编程逻辑电路,从而改变要控制的所述可编程逻辑电路的所述逻辑结构,所述可编程逻辑电路控制装置包括从模块指定存储器获取所述模块指定存储器里一个存储器位置处存储的数据的部分,所述模块指定存储器有多个顺序的存储器位置,并且在所述多个存储器位置的至少一个位置处存储指定模块地址的数据,其中分配给节点值存储器里一个存储器位置的读地址和写地址被进一步存储在存储指定所述模块地址的数据的所述模块指定存储器里所述多个存储器位置中的那个存储器位置处,所述节点值存储器,该节点值存储器具有将要控制的所述可编程逻辑电路的一个预定节点处产生的信号表示的值,存储到分配了本地提供的写地址的一个存储器位置处的功能,以及将表示分配了本地提供的读地址的一个存储器位置处存储的值的信号,提供给要控制的所述可编程逻辑电路的功能;将所述获取的数据里包括的写地址提供给所述节点值存储器的部分;一个部分,该部分从模块存储器获取所述获取的数据中包括的地址表明的模块,并且按照一种方式改变要控制的所述可编程逻辑电路的逻辑结构,从而引起所述可编程逻辑电路采用所述模块表明的逻辑结构;以及将所述获取的数据里包括的读地址提供给所述节点值存储器的部分。
全文摘要
公开了一种可编程逻辑电路控制装置,这种可编程逻辑电路利用一种简单结构,能够管理具有各种比特宽度和数据长度的数据,这些数据由可编程逻辑电路执行的各种过程产生。模块地址存储器部分(4)存储表明模块地址或者过程分支条件的数据并且按照一页一页的距离跳转。内部数据存储器(2)的写地址和读地址也存储在存储了模块地址的一页里。电路控制部分(5)从模块地址存储器部分(4)读取每一页的数据,并且根据读出的数据,读出模块,重新配置可编程逻辑电路,并且读出下一页的数据,或者进行跳转。当可编程逻辑电路要重新配置的时候,电路控制部分(5)进行提供写地址和读地址给内部数据存储器(2)的操作。
文档编号H03K19/177GK1969458SQ200580005158
公开日2007年5月23日 申请日期2005年2月21日 优先权日2004年2月19日
发明者菊地修一 申请人:东京毅力科创株式会社