Cpu与fpga间高速间接存取装置和方法

文档序号:6575528阅读:217来源:国知局
专利名称:Cpu与fpga间高速间接存取装置和方法
技术领域
本发明涉及CPU与FPGA间的数据存取方法及装置,尤其是CPU与FPGA间的
高速存取方法和装置。
背景技术
FPGA已应用于现代各种电路设计之中。在目前的FPGA中,CPU读写电路都 设计为直接读写,即用地址总线进行译码,然后用译码后的信号去控制寄存器的读写。 这种方法对于一般的小规模读写电路是比较合适的,在对CPU读写速率无特别要求时也 是比较合适的。但是,随着FPGA电路规模的扩大,FPGA所执行的功能越来越复杂, FPGA所涉及的控制信号和测试结果可能很多,如果使用直接读写法会导致读写效率很 低,从而过多地占用CPU资源。此外,当为了提高CPU的存取速度而提高CPU总线的 工作速率时,必须插入等待状态,否则可能由于电路延迟太大而使得CPU根本无法正确 完成存取操作。而插入等待状态又使存取速率下降。

发明内容
为了克服传统直接存取工作方式的慢速、低效问题,本发明的目的在于提供一 种新的存取装置来实现高速与高效的存取。 本发明通过提供一种存取装置而实现上述目的。所述存取装置用于实现CPU与 FPGA的寄存器组之间的存取,包括DPRAM组,其包括至少一个适于与所述FPGA的 寄存器组以及所述CPU相连并与所述FPGA的寄存器组以及所述CPU进行数据交换的 DPRAMCPU读写电路,其与所述DPRAM组及所述CPU相连接,用于控制所述DPRAM 组与所述CPU之间的数据交换;以及硬件读写电路,其与所述DPRAM组及所述寄存器 组相连接,用于控制所述DPRAM组与所述寄存器组之间的数据交换。
通过采用DPRAM作为CPU和FPGA寄存器组之间的存取缓冲,极大地减小了 CPU读写电路的复杂度和CPU总线的负载,从而可以提高CPU的工作速率。而且,CPU 有可能以突发的方式对DPRAM组进行存取。从而进一步提高CPU的工作效率。
优选地,所述存取装置可以通过对所述FPGA进行配置而在所述FPGA中实现。 通过利用FPGA内部丰富的DPRAM资源,只需对FPGA进行适当的配置就可以实现所述 存取装置。通过充分利用FPGA内部丰富的DPRAM(双端口 RAM)资源为高速复杂读写 电路提供一种高速、高效的解决方法。它不仅能够提高CPU总线的工作速率,而且能大 大提高CPU的存取效率,使CPU的工作效率得到提高。 优选地,所述DPRAM组包括第一 DPRAM和第二DPRAM,其中所述第一 DPRAM适于与所述FPGA的寄存器组中的控制寄存器组以及所述CPU相连并与所述控 制寄存器组以及所述CPU进行数据交换;所述第二 DPRAM适于与所述FPGA的寄存器 组中的数据寄存器组以及所述CPU相连并与所述数据寄存器组以及所述CPU进行数据交 换。采用两片DPRAM,将CPU读和CPU写(更具体而言,是CPU与寄存器组之间的存取)分成两个相对独立的部分,从而简化了 FPGA内部的CPU读写电路设计。 优选地,所述第一DPRAM用于向所述FPGA的控制寄存器组写入数据以及由所
述CPU读写数据;所述第二 DPRAM用于由所述CPU读写数据以及从所述FPGA的数据
寄存器组读取数据。采用两片DPRAM,且各片DRRAM与FPGA寄存器之间仅仅是单
向的数据传送关系,从而,简化了FPGA内部的硬件读写电路的设计。 优选地,所述CPU读写电路包括译码电路和CPU读写控制电路,其中所述译码
电路用于基于来自CPU地址总线的信号而产生所述第一 DPRAM和第二 DPRAM的片选
信号,所述CPU读写控制电路用于基于来自CPU地址总线的信号和CPU读写信号而产
生所述第一 DPRAM或第二 DPRAM的存取地址与DPRAM的读写使能信号。通过CPU
读写控制电路可以产生突发读写地址,提高存取效率。 优选地,所述硬件读写电路包括第一部分和第二部分,其中所述第一部分用于 控制所述第一 DPRAM(3)与所述寄存器组的控制寄存器组之间的数据交换,所述第二部 分用于控制所述第二 DPRAM(6)与所述寄存器组的数据寄存器组之间的数据交换。将所 述寄存器组细分为控制寄存器组和数据寄存器组,并将第一 DPRAM与控制寄存器组之 间的数据交换与第二 DPRAM与数据寄存器组之间的数据交换分隔开,从而简化了设计 的复杂性,有利于数据的有序交换。 优选地,所述硬件读写电路的所述第一部分包括写仲裁电路与第一顺序读写电 路,其中所述写仲裁电路与CPU时钟信号以及所述CPU读写电路相连,从而根据CPU时 钟信号和所述CPU读写电路对所述第一 DPRAM的写使能信号而产生写仲裁信号发送至 所述第一顺序读写电路,从而阻止在CPU写第一 DPRAM的同时第一顺序读写电路对所 述控制寄存器进行写操作。由此,可以阻止在CPU写第一 DPRAM的同时第一顺序读写 电路对控制寄存器进行写操作。增加系统的可靠性。 优选地,所述硬件读写电路的所述第二部分包括读仲裁电路与第二顺序读写电 路,所述读仲裁电路与FPGA时钟信号、所述CPU以及所述第二顺序读写电路相连接, 用于将所述第二 DPRAM的读写划分为读和写两个时间段,第一个时间段内通过第二顺 序读写电路将数据寄存器组中的数据按序写入第二 DPRAM中,在第二个时间段的开始 向CPU发出中断请求,然后由CPU在第二个时间段内读取第二 DPRAM中的内容。其 优点在于,以定时中断的方式实现CPU读取DPRAM中的数据,从而实现对数据寄存器 数据的定时读取。 本发明还提供一种其于实现CPU与FPGA的寄存器组之间存取的存取方法。 所述方法包括在所述CPU和所述FPGA的所述寄存器组之间提供DPRAM组,所述 DPRAM组包括至少一个适于与所述FPGA的寄存器组以及所述CPU相连并与所述FPGA 的寄存器组以及所述CPU进行数据交换的DPRAM ;在CPU向所述寄存器组写入数据 时,先将CPU的数据写入所述DPRAM,然后再将来自所述CPU的数据从所述DPRAM 组写入所述寄存器组;以及定时地将所述寄存器组的数据写入所述DPRAM组,然后向 所述CPU发出中断请求,由所述CPU从所述DPRAM读取来自所述寄存器组的数据。 其优点在于,采用DPRAM作为CPU和FPGA寄存器组之间的存取缓冲,极大地减小了 CPU读写电路的复杂度和CPU总线的负载,从而可以提高CPU的工作速率。而且,CPU 可以突发的方式对DPRAM组进行存取。从而进一步提高CPU的工作效率。
5
优选地,在所述方法中,所述DPRAM组包括第一 DPRAM和第二 DPRAM,在
CPU向所述寄存器组写入数据时,先将CPU的数据写入所述第一 DPRAM,然后再将所 述来自CPU的数据从所述DPRAM组写入所述寄存器组的控制寄存器组;以及定时地将 所述寄存器组的数据寄存器组的数据写入所述第二DPRAM,然后向所述CPU发出中断 请求,由所述CPU从所述DPRAM读取来自所述数据寄存器组的数据。其优点在于,以 定时中断的方式实现CPU读取DPRAM中的数据,从而实现对数据寄存器数据的定时读 取。并且将所述寄存器组细分为控制寄存器组和数据寄存器组,并将第一 DPRAM与控 制寄存器组之间的数据交换与第二 DPRAM与数据寄存器组之间的数据交换分隔开,从 而简化了设计的复杂性,有利于数据的有序交换。 优选地,CPU每向第一 DPRAM中写一次,顺序读写电路l就将第一 DPRAM中 的控制信息按序读出并写到控制寄存器组中,通过写仲裁电路阻止CPU写第一 DPRAM 的同时第一顺序读写电路对控制寄存器的写操作。通过读仲裁电路将第二 DPRAM的读 写划分为读和写两个时间段,第一个时间段内通过第二顺序读写电路将数据寄存器组中 的数据按序写入第二 DPRAM中,在第二个时间段的开始向CPU发出中断请求,然后由 CPU在第二个时间段内读取第二 DPRAM中的内容。 采用这种结构的电路后,CPU读写FPGA内部寄存器的电路被分割为CPU读写 和硬件读写两个部分,它不仅将电路延时一分为二,减小了电路延时,而且大大减轻了 CPU总线负载,简化了CPU译码电路,实现了CPU的高速读操作。同时,因为读数据 被合并到DPRAM中,使CPU读操作实现了突发,大大提高了CPU读数的效率,而且查 看控制信息容易,方便了对FPGA内部电路的调试。 本发明进一步的有益效果是提高了CPU总线的工作速率和存取效率,实现了 CPU与FPGA间的高速数据存取。同时,由于将CPU与FPGA的数据交互集中到CPU与 DPRAM之间,使得该电路移植到不同的CPU与FPGA系统以及电路调试都非常方便。


图1为根据本发明一个实施例的存取装置的示意性原理框图,图中包括FPGA的 控制寄存器和数据寄存器; 图2为根据本发明一个实施例的CPU读写控制电路的示意性框图;
图3为根据本发明一个实施例的顺序读写电路的示意性框图;
图4为根据本发明一个实施例的顺序读写电路的示意性框图。
具体实施例方式
下面结合附图和实施例对本发明作进一步说明。 根据本发明的一个实施例,用于实现CPU与FPGA的寄存器组之间存取的存取 装置包括DPRAM组,其包括至少一个适于与所述FPGA的寄存器组以及所述CPU相 连并与所述FPGA的寄存器组以及所述CPU进行数据交换的DPRAM ; CPU读写电路, 其与所述DPRAM组及所述CPU相连接,用于控制所述DPRAM组与所述CPU之间的数 据交换;以及硬件读写电路,其与所述DPRAM组及所述寄存器组相连接,用于控制所 述DPRAM组与所述寄存器组之间的数据交换。通过采用DPRAM作为CPU和FPGA寄
6存器组之间的存取缓冲,极大地减小了CPU读写电路的复杂度和CPU总线的负载,从而 可以提高CPU的工作速率。而且,CPU有可能以突发的方式对DPRAM组进行存取。 从而进一步提高CPU的工作效率。 所述存取装置可以通过对所述FPGA进行配置而在所述FPGA中实现。通过利 用FPGA内部丰富的DPRAM资源,只需对FPGA进行适当的配置就可以实现所述存取装 置。通过充分利用FPGA内部丰富的DPRAM(双端口 RAM)资源为高速复杂读写电路提 供一种高速、高效的解决方法。它不仅能够提高CPU总线的工作速率,而且能大大提高 CPU的存取效率,使CPU的工作效率得到提高。 如图1中所示,所述DPRAM组包括第一 DPRAM 3和第二 DPRAM 6,其中所 述第一 DPRAM适于与所述FPGA的寄存器组中的控制寄存器组9以及所述CPU相连并 与所述控制寄存器组以及所述CPU进行数据交换;所述第二 DPRAM适于与所述FPGA 的寄存器组中的数据寄存器组10以及所述CPU相连并与所述数据寄存器组以及所述CPU 进行数据交换。采用两片DPRAM,将CPU读和CPU写(更具体而言,是CPU与寄存器 组之间的存取)分成两个相对独立的部分,从而简化了FPGA内部的CPU读写电路设计。 如本领域中的技术人员可以理解的,所述DPRAM组也可以仅仅包括一个DPRAM,同样 可以实现本发明的功能。之所以在此实施例中采用两个DPRAM,其原因在于(l)FPGA 中的DPRAM目前主要是按18kbit(或说2k字节)组织的,这种两个DPRAM的设计比较 符合实际使用(容纳适当数量的数据);(2)本发明的主要目的是提高存取速度,分片设计 利于减小顺序读写电路的复杂度和DPRAM的总线负载,从而支持更高工作速率。
如图1中所示,所述第一 DPRAM 3用于向所述FPGA的控制寄存器组9写入数 据以及由所述CPU读写数据;所述第二DPRAM6用于由所述CPU读写数据以及从所述 FPGA的数据寄存器组10读取数据。采用两片DPRAM,且各片DRRAM与FPGA寄存 器之间仅仅是单向的数据传送关系,从而,简化了FPGA内部的硬件读写电路的设计。
所述CPU读写电路包括图1中所示的译码电路1和CPU读写控制电路2,其中 所述译码电路用于基于来自CPU地址总线的信号而产生所述第一DPRAM和第二DPRAM 的片选信号,所述CPU读写控制电路用于基于来自CPU地址总线的信号和CPU读写信 号而产生所述第一 DPRAM或第二 DPRAM的存取地址与DPRAM的读写使能信号。通 过CPU读写控制电路可以产生突发读写地址,提高存取效率。 如图1中所示,所述硬件读写电路包括第一部分和第二部分,其中所述第一部 分用于控制所述第一 DPRAM 3与所述寄存器组的控制寄存器组之间的数据交换,所述第 二部分用于控制所述第二DPRAM 6与所述寄存器组的数据寄存器组之间的数据交换。将 所述寄存器组细分为控制寄存器组和数据寄存器组,并将第一 DPRAM与控制寄存器组 之间的数据交换与第二 DPRAM与数据寄存器组之间的数据交换分隔开,从而简化了设 计的复杂性,有利于数据的有序交换。所述硬件读写电路的所述第一部分包括写仲裁电 路5与第一顺序读写电路4,其中所述写仲裁电路5与CPU时钟信号以及所述CPU读写 电路相连,从而根据CPU时钟信号和所述CPU读写电路对所述第一 DPRAM的写使能信 号而产生写仲裁信号发送至所述第一顺序读写电路,从而阻止在CPU写第一 DPRAM的 同时第一顺序读写电路对所述控制寄存器进行写操作。由此,可以阻止在CPU写第一 DPRAM的同时第一顺序读写电路对控制寄存器进行写操作。增加系统的可靠性。所述硬
7件读写电路的所述第二部分包括读仲裁电路8与第二顺序读写电路7,所述读仲裁电路与 FPGA时钟信号、所述CPU以及所述第二顺序读写电路相连接,用于将所述第二DPRAM 的读写划分为读和写两个时间段,第一个时间段内通过第二顺序读写电路将数据寄存器 组中的数据按序写入第二 DPRAM中,在第二个时间段的开始向CPU发出中断请求,然 后由CPU在第二个时间段内读取第二 DPRAM中的内容。其优点在于,以定时中断的方 式实现CPU读取DPRAM中的数据,从而实现对数据寄存器数据的定时读取。
本发明还提供一种用于实现CPU与FPGA的寄存器组之间存取的存取方法。 所述方法包括在所述CPU和所述FPGA的所述寄存器组之间提供DPRAM组,所述 DPRAM组包括至少一个适于与所述FPGA的寄存器组以及所述CPU相连并与所述FPGA 的寄存器组以及所述CPU进行数据交换的DPRAM ;在CPU向所述寄存器组写入数据 时,先将CPU的数据写入所述DPRAM,然后再将来自所述CPU的数据从所述DPRAM 组写入所述寄存器组;以及定时地将所述寄存器组的数据写入所述DPRAM组,然后向 所述CPU发出中断请求,由所述CPU从所述DPRAM读取来自所述寄存器组的数据。 其优点在于,采用DPRAM作为CPU和FPGA寄存器组之间的存取缓冲,极大地减小了 CPU读写电路的复杂度和CPU总线的负载,从而可以提高CPU的工作速率。而且,CPU 可以突发的方式对DPRAM组进行存取。从而进一步提高CPU的工作效率。
在一优选实施例中,所述DPRAM组包括第一 DPRAM和第二DPRAM,在CPU 向所述寄存器组写入数据时,先将CPU的数据写入所述第一DPRAM,然后再将所述来 自CPU的数据从所述DPRAM组写入所述寄存器组的控制寄存器组;以及定时地将所 述寄存器组的数据寄存器组的数据写入所述第二 DPRAM,然后向所述CPU发出中断请 求,由所述CPU从所述DPRAM读取来自所述数据寄存器组的数据。其优点在于,以 定时中断的方式实现CPU读取DPRAM中的数据,从而实现对数据寄存器数据的定时读 取。并且将所述寄存器组细分为控制寄存器组和数据寄存器组,并将第一 DPRAM与控 制寄存器组之间的数据交换与第二 DPRAM与数据寄存器组之间的数据交换分隔开,从 而简化了设计的复杂性,有利于数据的有序交换。 在图l所示的实施例中,CPU每向第一DPRAM 3中写一次,顺序读写电路1 就将第一DPRAM3中的控制信息按序读出并写到控制寄存器组中,通过写仲裁电路阻止 CPU写第一 DPRAM的同时第一顺序读写电路对控制寄存器的写操作。通过读仲裁电路 将第二 DPRAM的读写划分为读和写两个时间段,第一个时间段内通过第二顺序读写电 路将数据寄存器组中的数据按序写入第二 DPRAM中,在第二个时间段的开始向CPU发 出中断请求,然后由CPU在第二个时间段内读取第二 DPRAM中的内容。假设CPU需 向第一DPRAM3写入三个数据(分别对应于控制寄存器1、控制寄存器3、控制寄存器7 这三个寄存器),且第一 DPRAM3再将这三个数据写入相应控制寄存器(这属于三个单次 写,不属于突发写)。则图l所示的存取装置依次执行下面的步骤l)片选第一 DPRAM 3 ; 2)产生DPRAM写使能信号;3)向第一 DPRAM 3写入数据1 ;(步骤1 3实际上是 同时进行的);4)更新全部控制寄存器组中的数据,即将第一 DPRAM 3中的全部数据写 入每一个相应控制寄存器中(需要指出的是,也可以设置成只更新部分控制寄存器,这可 以根据下一次写数据与本次写数据的时间间隔而设置。例如设置成当两次写数据的时 间间隔小于30秒时,则只更新部分控制寄存器);6)执行第二次写数据,即写入数据3;7)执行第三次写数据,即写入数据7。 采用这种结构的电路后,CPU读写FPGA内部寄存器的电路被分割为CPU读写 和硬件读写两个部分,它不仅将电路延时一分为二,减小了电路延时,而且大大减轻了 CPU总线负载,简化了CPU译码电路,实现了CPU的高速读操作。同时,因为读数据 被合并到DPRAM中,使CPU读操作实现了突发,大大提高了CPU读数的效率,而且查 看控制信息容易,方便了对FPGA内部电路的调试。 根据本发明一个实施例的CPU与FPGA间的高速存取装置包括三个部分,即 CPU读写电路、DPRAM组和硬件读写电路。所述DPRAM组在CPU读写电路的控制之 下与CPU实现数据交换,在所述硬件读写电路的控制之下与FPGA的寄存器(包括控制 寄存器组和数据寄存器组)实现数据交换。其中DPRAM组包括第一 DPRAM 3和第二 DPRAM 6,第一DPRAM3与控制寄存器组相连接,而第二 DPRAM 6与数据寄存器组相 连接。此外,本领域普通技术人员容易理解的是,第一 DPRAM 3和第二 DPRAM 6都可 以与CPU数据总线连接,以实现与CPU的数据交换。 CPU读写电路包括译码电路1和CPU读写控制电路2 。译码电路1对来自CPU 地址总线的信号(例如,高位地址)进行译码,以得到第一 DPRAM3和第二 DPRAM 6的 片选信号,该片选信号可直接传送至第一DPRAM3或第二DPRAM6的片选信号。在该 实施例中,该片选信号被送到CPU读写控制电路(2)。如图2所示,CPU读写控制电路 2包括写使能信号发生电路11、首地址装入脉冲产生电路12、读使能信号发生电路13以 及突发地址发生器14。片选信号与CPU读写信号中的写使能信号组合而在CPU读写控 制电路2的写使能信号发生电路11中产生DPRAM的写使能信号以确定将被执行写操作 的DPRAM,如果是单次写则其产生一个写脉冲,如果是突发写则产生连续写脉冲。当 CPU读时,首地址装入脉冲产生电路12产生一个锁存首地址的单脉冲,该脉冲使CPU读 写控制电路2的突发地址发生器14装入当前的CPU地址,然后突发地址发生器14根据 读写信号自动产生DPRAM地址,读使能信号发生电路13根据CPU读使能信号和片选信 号产生DPRAM读使能信号以及突发地址发生器使能信号。 在图l所示实施例中,第一DPRAM3用于中转所有的控制信号。第二 DPRAM 6用于中转所有的读数据。如图1中所示,第一DPRAM3可以与CPU数据总线和控制 寄存器组9连接,以从CPU接收数据,并将所述数据写至控制寄存器组9中的相应寄存 器。类似地,第二DPRAM6适于与CPU数据总线和数据寄存器组9连接,以从数据寄 存器10中的相应寄存器读取数据,并被CPU读取数据。 在图1中,控制寄存器组9用于存储FPGA内部的控制信号,其数量根据FPGA 内部所需的控制信号数量确定;数据寄存器组10是FPGA中存储各种测试结果的存储 器,其数量根据FPGA内部电路所进行的测试的参数数量确定。 根据本发明的一实施例,硬件读写电路包括控制寄存器组读写控制电路和数据 寄存器组读写控制电路。控制寄存器组读写控制电路包括第一顺序读写电路4和写仲裁 电路5。控制寄存器组读写控制电路包括第二顺序读写电路7和写仲裁电路8。
第一顺序读写电路4用于将写仲裁电路5产生的仲裁信号进行同步转换。如图3 所示,第一顺序读写电路4包括同步转换电路15、地址发生器16和译码器17。同步转 换电路15将写仲裁信号从同步于CPU时钟转换为同步到本地时钟,地址发生器16在仲裁信号的控制下清'0',使控制寄存器写禁止, 一旦清'0'结束,地址发生器16就自 动递增产生DPRAM读地址,该地址同时进入译码器17进行译码,产生控制寄存器写使 能信号,写完后地址保持在一个未用的状态上,等待下一次写操作启动。CPU每向第一 DPRAM中写一次,第一顺序读写电路4就将第一 DPRAM中的控制信息按序读出并写到 控制寄存器组中,通过写仲裁电路阻止在CPU写第一DPRAM的同时第一顺序读写电路 对控制寄存器进行写操作。 如图4所示,第二顺序读写电路7包括写使能信号发生电路18、地址发生器 16以及译码器20。在读仲裁电路8产生的信号控制下,写使能信号发生电路18产生 DPRAM写使能信号,同时产生地址发生器19的使能信号和同步清'0'信号,地址发生 器19产生DPRAM写地址,同时将该地址送到译码器20进行译码,产生数据寄存器读使 能信号。通过读仲裁电路将第二DPRAM的读写划分为读和写两个时间段,第一个时间 段内通过第二顺序读写电路将数据寄存器组中的数据按序写入第二DPRAM中,在第二 个时间段的开始向CPU发出中断请求,然后由CPU在第二个时间段内读取第二DPRAM 中的内容。FPGA是英文Field-Programmable Gate Array的縮写,也称为现场可编程门阵 列,它是在PAL、 GAL、 CPLD等可编程器件的基础上进一步发展的产物。FPGA是作 为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足, 又克服了原有可编程器件门电路数有限的缺点。 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,其内部包括 可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和 内部连线(Interconnect)三个部分。FPGA的基本特点主要有1)采用FPGA设计ASIC
电路,用户不需要投片生产,就能得到合用的芯片。2)FPGA可做其它全定制或半定制 ASIC电路的中试样片。3)FPGA内部有丰富的触发器和I/O引脚。4)FPGA是ASIC电 路中设计周期最短、开发费用最低、风险最小的器件之一。5)FPGA采用高速CHMOS工 艺,功耗低,可以与CMOS、 TTL电平兼容。从而,FPGA芯片是小批量系统提高系统 集成度、可靠性的最佳选择之一。 因此,根据本发明一个实施例,所述存取装置中的所有电路都在一片FPGA中 实现,且该存取装置用于实现该片FPGA与外部CPU之间的数据存取。如本领域的普通 技术人员所容易理解的,FPGA是由存放在片内RAM中的程序来设置其工作状态的,加 电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作 状态。掉电后,FPGA恢复成白片,内部逻辑关系消失(因此,FPGA能够反复使用)。 FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、 PROM编程器即可。当 需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程 数据,可以产生不同的电路功能。在一个优选实施例中,对FPGA配置一片EPROM,以 实现FPGA中实现上述的存取装置。当然,也可以采取其它方式对FPGA实行配置。例 如可以将FPGA作为微处理器的外设,由微处理器对其编程或配置来实现上述的存取装 置。
10
权利要求
一种存取装置,其用于实现CPU与FPGA的寄存器组之间的存取,其特征在于,包括DPRAM组,其包括至少一个适于与所述FPGA的寄存器组以及所述CPU相连并与所述FPGA的寄存器组以及所述CPU进行数据交换的DPRAM;CPU读写电路,其与所述DPRAM组及所述CPU相连接,用于控制所述DPRAM组与所述CPU之间的数据交换;以及硬件读写电路,其与所述DPRAM组及所述寄存器组相连接,用于控制所述DPRAM组与所述寄存器组之间的数据交换。
2. 如权利要求1所述的存取装置,其特征在于,所述存取装置通过对所述FPGA进行 配置而在所述FPGA中实现。
3. 如权利要求2所述的存取装置,其特征在于,所述DPRAM组包括第一 DPRAM(3) 和第二 DPRAM(6),其中所述第一 DPRAM(3)适于与所述FPGA的寄存器组中的控制寄 存器组以及所述CPU相连并与所述控制寄存器组以及所述CPU进行数据交换;所述第二 DPRAM(6)适于与所述FPGA的寄存器组中的数据寄存器组以及所述CPU相连并与所述 数据寄存器组以及所述CPU进行数据交换。
4. 如权利要求3所述的存取装置,其特征在于,所述第一DPRAM(3)用于向所述 FPGA的控制寄存器组写入数据以及由所述CPU读写数据;所述第二 DPRAM(6)用于由 所述CPU读写数据以及从所述FPGA的数据寄存器组读取数据。
5. 如权利要求3所述的存取装置,其特征在于,所述CPU读写电路包括译码电路(l) 和CPU读写控制电路(2),其中所述译码电路用于基于来自CPU地址总线的信号而产生所 述第一 DPRAM(3)和第二 DPRAM(6)的片选信号,所述CPU读写控制电路(2)用于基于 来自CPU地址总线的信号和CPU读写信号而产生所述第一 DPRAM(3)或第二 DPRAM(6) 的存取地址与DPRAM的读写使能信号。
6. 如权利要求3所述的存取装置,其特征在于,所述硬件读写电路包括第一部分和第 二部分,其中所述第一部分用于控制所述第一 DPRAM(3)与所述寄存器组的控制寄存器 组之间的数据交换,所述第二部分用于控制所述第二 DPRAM(6)与所述寄存器组的数据 寄存器组之间的数据交换。
7. 如权利要求6所述的存取装置,其特征在于,所述硬件读写电路的所述第一部分 包括写仲裁电路与第一顺序读写电路,其中所述写仲裁电路与CPU时钟信号以及所述 CPU读写电路相连,从而根据CPU时钟信号和所述CPU读写电路对所述第一 DPRAM 的写使能信号而产生写仲裁信号发送至所述第一顺序读写电路,从而阻止在CPU写第一 DPRAM的同时第一顺序读写电路对所述控制寄存器进行写操作。
8. 如权利要求6所述的存取装置,其特征在于,所述硬件读写电路的所述第二部分 包括读仲裁电路与第二顺序读写电路,所述读仲裁电路与FPGA时钟信号、所述CPU 以及所述第二顺序读写电路相连接,用于将所述第二 DPRAM的读写划分为读和写两个 时间段,第一个时间段内通过第二顺序读写电路将数据寄存器组中的数据按序写入第二 DPRAM中,在第二个时间段的开始向CPU发出中断请求,然后由CPU在第二个时间段 内读取第二 DPRAM中的内容。
9. 一种其用于实现CPU与FPGA的寄存器组之间存取的存取方法,其特征在于,包括在所述CPU和所述FPGA的所述寄存器组之间提供DPRAM组,所述DPRAM组包 括至少一个适于与所述FPGA的寄存器组以及所述CPU相连并与所述FPGA的寄存器组 以及所述CPU进行数据交换的DPRAM ;在CPU向所述寄存器组写入数据时,先将CPU的数据写入所述DPRAM,然后再将 来自所述CPU的数据从所述DPRAM组写入所述寄存器组;以及定时地将所述寄存器组的数据写入所述DPRAM组,然后向所述CPU发出中断请 求,由所述CPU从所述DPRAM读取来自所述寄存器组的数据。
10.如权利要求9所述的存取方法,其特征在于,所述DPRAM组包括第一 DPRAM 和第二DPRAM,在CPU向所述寄存器组写入数据时,先将CPU的数据写入所述第一 DPRAM,然后再将所述来自CPU的数据从所述DPRAM组写入所述寄存器组的控制寄存 器组;以及定时地将所述寄存器组的数据寄存器组的数据写入所述第二DPRAM,然后 向所述CPU发出中断请求,由所述CPU从所述DPRAM读取来自所述数据寄存器组的数 据。
全文摘要
本发明提供一种CPU与FPGA间高速间接存取装置和方法。所述存取装置包括DPRAM组,其包括至少一个适于与所述FPGA的寄存器组以及所述CPU相连并与所述FPGA的寄存器组以及所述CPU进行数据交换的DPRAMCPU读写电路,其与所述DPRAM组及所述CPU相连接,用于控制所述DPRAM组与所述CPU之间的数据交换;以及硬件读写电路,其与所述DPRAM组及所述寄存器组相连接,用于控制所述DPRAM组与所述寄存器组之间的数据交换。由此,提供了一种新的存取装置来实现高速与高效的存取。
文档编号G06F13/24GK101692214SQ200910092520
公开日2010年4月7日 申请日期2009年9月17日 优先权日2009年9月17日
发明者孙昊, 胡亚平, 黄文南 申请人:中国电子科技集团公司第四十一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1