数据总线宽度不相等的双口RAM读写与仲裁控制器制造技术

技术编号:11149148 阅读:135 留言:0更新日期:2015-03-15 04:42
一种数据总线宽度不相等的双口RAM读写与仲裁控制器,包括双口RAM、A读写端口控制模块、A读写端口低n位与B读写端口仲裁模块和A读写端口高n位与B读写端口仲裁模块;应用FPGA设计该控制器硬连接电路,分为n位A读写端口和2n位B读写端口;A读写端口控制模块分时两次完成2n位数据的访问,提高A读写端口的读写速度,减小了电路规模;A读写端口低n位与B读写端口读写仲裁模块和A读写端口高n位与B读写端口读写仲裁模块设置A读写端口为高优先级,两个读写端口地址值相等时,A读写端口低n位正在执行读或写操作,发送忙信号BusyB_1,A读写端口执行高n位的读或写操作,发送忙信号BusyB_2,提高了仲裁性能。

【技术实现步骤摘要】

本技术涉及一种数据总线宽度不相等的双口RAM读写与仲裁控制器,尤其涉及一种基于FPGA并行处理的特点,应用FPGA设计硬连接电路组成的数据总线宽度不相等的双口RAM读写与仲裁控制器。
技术介绍
双口RAM是一个具有仲裁功能的两个读写端口的存储器,两个端口具有完全独立的数据总线、地址总线和读写控制线,并允许两个端口同时对双口RAM进行随机性的访问,其特点是对数据的存储共享和两个端口同时对同一地址存储单元的读写访问的仲裁;目前双口RAM芯片的数据总线宽度通常为16或8位,两个端口的数据和地址的宽度都相等;对于数据总线宽度相差2倍的两个微处理器应用系统通过双口RAM实现数据交换,需要选用2片双口RAM芯片,仲裁是针对数据宽度相等的双口RAM的读写访问仲裁,数据总线宽度窄的微处理器应用系统与双口RAM芯片的一个读写端口连接需要增加相应的数据接口电路,其技术方案通常是增加4个锁存器,写入双口RAM的数据时,首先分时写入低位数据和高位数据到2个写入锁存器予以锁存组成2倍宽度的数据,然后再将2个写入锁存器的数据写入双口RAM,读出双口RAM的数据时,首先分时读入低位数据和高位数据到2个读入锁存器予以锁存,然后再按照低位数据和高位数据分时读入微处理器,这样访问一次双口RAM需要进行三次或四次分时操作;另一方面,双口RAM芯片的容量是固定的,而在实际应用中会出现存储容量资源浪费的情况;应用FPGA双口RAM的IP核,可以选用具有仲裁功能或无有仲裁功能的双口RAM的IP核,其数据宽度和存储容量可以根据需要重构确定,但两个端口的数据和地址的宽度也是相等的,对于数据总线宽度相差2倍的两个微处理器应用系统通过双口RAM实现数据交换,能够解决存储容量资源浪费的问题,但同样也会出现上述访问双口RAM需要进行三次或四次分时操作,数据总线宽度窄的微处理器与双口RAM芯片的一个读写端口连接也需要增加相应的数据接口电路的问题。
技术实现思路
本技术的目的在于应用FPGA设计硬连接电路,提供一种能够实现并行处理的“数据总线宽度不相等的双口RAM读写与仲裁控制器”;该控制器能够实现数据总线宽度不相等的双口RAM的两个读写端口同时对不同存储单元的随机读写访问,同时对同一存储单元的读操作;该控制器根据A读写端口连接的n位系统的地址总线的最低位ABA[0]的状态确定是对低n位双口RAM还是高n位双口RAM进行读或写操作,达到分时两次就完成读或写低n位和高n位存储单元的目的,B读写端口一次完成2n位存储单元的读写操作;以解决上述已有技术存在的问题:即:访问数据总线宽度不相等的双口RAM需要进行三次或四次分时操作,数据总线宽度窄的微处理器与双口RAM芯片的一个读写端口连接也需要增加相应的数据接口电路的问题。解决上述技术问题的技术方案是: 一种数据总线宽度不相等的双口RAM读写与仲裁控制器,包括双口RAM、A读写端口控制模块、A读写端口低n位与B读写端口仲裁模块和A读写端口高n位与B读写端口仲裁模块;所述数据总线宽度不相等的双口RAM读写与仲裁控制器具有n位A读写端口和2n位B读写端口,n位A读写端口以下称为A读写端口,2n位B读写端口称为B读写端口;A读写端口与n位系统的总线连接,B读写端口与2n位系统的总线连接;所述双口RAM分别与A读写端口控制模块、A读写端口低n位与B读写端口仲裁模块和A读写端口高n位与B读写端口仲裁模块连接;所述A读写端口控制模块还和A读写端口低n位与B读写端口仲裁模块和A读写端口高n位与B读写端口仲裁模块连接;所述A读写端口低n位与B读写端口仲裁模块还和A读写端口高n位与B读写端口仲裁模块连接;所述双口RAM包括低n位双口RAM和高n位双口RAM,双口RAM具有A端口和B端口;A读写端口分时两次完成所述双口RAM的A端口的1个存储单元的2n位数据的读或写,先低n位数据的读或写,后高n位数据的读或写;B读写端口一次完成所述双口RAM的B端口的1个存储单元的2n位数据的读或写;所述低n位双口RAM的A端口写信号WRA_1输入端和A读写端口低n位与B读写端口仲裁模块连接;A端口读信号RDA_1输入端和A读写端口低n位与B读写端口仲裁模块连接;低n位双口RAM的片选使能信号CA1输入端与A读写端口控制模块连接;低n位DBA数据端与A读写端口控制模块连接;ABA[m:1]地址输入端与n位系统地址总线ABA[m:0] 的第m根到第1根地址线连接;所述高n位双口RAM的A端口写信号WRA_1输入端和A读写端口低n位与B读写端口仲裁模块连接;A端口读信号RDA_1输入端和A读写端口低n位与B读写端口仲裁模块连接;高n位双口RAM的片选使能信号CA2输入端与A读写端口控制模块连接;高n位DBA数据端与A读写端口控制模块连接;ABA[m:1]地址输入端与n位系统地址总线ABA[m:0] 的第m根到第1根地址线连接;所述低n位双口RAM的B端口写信号WRB_1输入端和A读写端口高n位与B读写端口仲裁模块连接;B端口读信号RDB_1输入端和A读写端口高n位与B读写端口仲裁模块连接;低n位双口RAM的片选使能信号CB输入端与2n位系统总线片选使能信号CB线连接;低n位DBB[n-1:0]数据端与2n位系统数据总线DBB[2n-1:0]的第n-1根到第0根的DBB[n-1:0]数据线连接;ABB[m-1:0]地址输入端与2n位系统地址总线ABB[m-1:0]连接;所述高n位双口RAM的B端口写信号WRB_1输入端和A读写端口高n位与B读写端口仲裁模块连接;B端口读信号RDB_1输入端和A读写端口高n位与B读写端口仲裁模块连接;高n位双口RAM的片选使能信号CB输入端与2n位系统总线片选使能信号CB线连接;高n位DBB[2n-1:n]数据端与2n位系统数据总线DBB[2n-1:0]的第2n-1根到第n根的DBB[2n-1:n]数据线连接;ABB[m-1:0]地址输入端与2n位系统地址总线ABB[m-1:0]连接;所述A读写端口控制模块根据n位系统地址总线的最低位ABA[0]地址线的状态确定是对低n位双口RAM的A端口还是高n位双口RAM的A端口进行读或写操作控制;所述A读写端口低n位与B读写端口仲裁模块根据n位系统地址总线ABA[m:1]的地址值和2n位系统地址总线ABB[m-1:0]的地址值是否相等,如果相等,继续进行已在执行的读写操作,封锁待执行的读写操作,并发送忙信号;如果相等且A读写端口低n位与B读写端口的读或写信号同时发生或A读写端口低n位正在执行读或写操作,则A读写端口低n位执行读写操作,封锁B读写端口的读写操作,并发送B读写端口忙信号BusyB_11;如果相等且B读写端口正在执行读或写操作,则B读写端口低n位执行读写操作,封锁A读写端口的读写操作,并发送A读写端口忙信号BusyA;所述A读写端口高n位与B读写端口仲裁模块在n位系统地址总线ABA[m:1]的地址值和2n位系统地址总线ABB[m-1:0]的地址值相等时,A读写端口高n位读或写信号有效时,执行A读写端口高n位的读写操作,本文档来自技高网
...

【技术保护点】
一种数据总线宽度不相等的双口RAM读写与仲裁控制器,其特征在于:该控制器包括双口RAM(Ⅰ)、A读写端口控制模块(Ⅱ)、A读写端口低n位与B读写端口仲裁模块(Ⅲ)和A读写端口高n位与B读写端口仲裁模块(Ⅳ); 所述数据总线宽度不相等的双口RAM读写与仲裁控制器具有n位A读写端口和2n位B读写端口,n位A读写端口以下称为A读写端口,2n位B读写端口称为B读写端口;A读写端口与n位系统的总线连接,B读写端口与2n位系统的总线连接;所述双口RAM(Ⅰ)分别与A读写端口控制模块(Ⅱ)、A读写端口低n位与B读写端口仲裁模块(Ⅲ)和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;所述A读写端口控制模块(Ⅱ)还和A读写端口低n位与B读写端口仲裁模块(Ⅲ)和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;所述A读写端口低n位与B读写端口仲裁模块(Ⅲ)还和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;所述双口RAM(Ⅰ)包括低n位双口RAM(1)和高n位双口RAM(2),双口RAM(Ⅰ)具有A端口和B端口;A读写端口分时两次完成所述双口RAM(Ⅰ)的A端口的1个存储单元的2n位数据的读或写,先低n位数据的读或写,后高n位数据的读或写;B读写端口一次完成所述双口RAM(Ⅰ)的B端口的1个存储单元的2n位数据的读或写;所述低n位双口RAM(1)的A端口写信号WRA_1输入端和A读写端口低n位与B读写端口仲裁模块(Ⅲ)连接;A端口读信号RDA_1输入端和A读写端口低n位与B读写端口仲裁模块(Ⅲ)连接;低n位双口RAM(1)的片选使能信号CA1输入端与A读写端口控制模块(Ⅱ)连接;低n位DBA数据端与A读写端口控制模块(Ⅱ)连接;ABA[m:1]地址输入端与n位系统地址总线ABA[m:0]的第m根到第1根地址线连接;所述高n位双口RAM(2)的A端口写信号WRA_1输入端和A读写端口低n位与B读写端口仲裁模块(Ⅲ)连接;A端口读信号RDA_1输入端和A读写端口低n位与B读写端口仲裁模块(Ⅲ)连接;高n位双口RAM(2)的片选使能信号CA2输入端与A读写端口控制模块(Ⅱ)连接;高n位DBA数据端与A读写端口控制模块(Ⅱ)连接;ABA[m:1]地址输入端与n位系统地址总线ABA[m:0]的第m根到第1根地址线连接;所述低n位双口RAM(1)的B端口写信号WRB_1输入端和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;B端口读信号RDB_1输入端和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;低n位双口RAM(1)的片选使能信号CB输入端与2n位系统总线片选使能信号CB线连接;低n位DBB[n‑1:0]数据端与2n位系统数据总线DBB[2n‑1:0]的第n‑1根到第0根的DBB[n‑1:0]数据线连接;ABB[m‑1:0]地址输入端与2n位系统地址总线ABB[m‑1:0]连接;所述高n位双口RAM(2)的B端口写信号WRB_1输入端和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;B端口读信号RDB_1输入端和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;高n位双口RAM(2)的片选使能信号CB输入端与2n位系统总线片选使能信号CB线连接;高n位DBB[2n‑1:n]数据端与2n位系统数据总线DBB[2n‑1:0]的第2n‑1根到第n根的DBB[2n‑1:n]数据线连接;ABB[m‑1:0]地址输入端与2n位系统地址总线ABB[m‑1:0]连接;所述A读写端口控制模块(Ⅱ)根据n位系统地址总线的最低位ABA[0]地址线的状态确定是对低n位双口RAM(1)的A端口还是高n位双口RAM(2)的A端口进行读或写操作控制;所述A读写端口低n位与B读写端口仲裁模块(Ⅲ)根据n位系统地址总线ABA[m:1]的地址值和2n位系统地址总线ABB[m‑1:0]的地址值是否相等,如果相等,继续进行已在执行的读写操作,封锁待执行的读写操作,并发送忙信号;如果相等且A读写端口低n位与B读写端口的读或写信号同时发生或A读写端口低n位正在执行读或写操作,则A读写端口低n位执行读写操作,封锁B读写端口的读写操作,并发送B读写端口忙信号BusyB_11;如果相等且B读写端口正在执行读或写操作,则B读写端口低n位执行读写操作,封锁A读写端口的读写操作,并发送A读写端口忙信号BusyA;所述A读写端口高n位与B读写端口仲裁模块(Ⅳ)在n位系统地址总线ABA[m:1]的地址值和2n位系统地址总线ABB[m‑1:0]的地址值相等时,A读写端口高n位读或写信号有效时,执行A读写端口高n位的读写操作,封锁B读写端口的读写操作,发送B读写端口忙信号BusyB_1和B读写端口忙信号BusyB_2;所述A读写端口低n位与B读写端口仲裁模块(Ⅲ)和A读写端口高n位与B读写端口仲裁模块(Ⅳ)对A读写端口...

【技术特征摘要】
1.一种数据总线宽度不相等的双口RAM读写与仲裁控制器,其特征在于:该控制器包括双口RAM(Ⅰ)、A读写端口控制模块(Ⅱ)、A读写端口低n位与B读写端口仲裁模块(Ⅲ)和A读写端口高n位与B读写端口仲裁模块(Ⅳ);
 所述数据总线宽度不相等的双口RAM读写与仲裁控制器具有n位A读写端口和2n位B读写端口,n位A读写端口以下称为A读写端口,2n位B读写端口称为B读写端口;A读写端口与n位系统的总线连接,B读写端口与2n位系统的总线连接;
所述双口RAM(Ⅰ)分别与A读写端口控制模块(Ⅱ)、A读写端口低n位与B读写端口仲裁模块(Ⅲ)和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;
所述A读写端口控制模块(Ⅱ)还和A读写端口低n位与B读写端口仲裁模块(Ⅲ)和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;
所述A读写端口低n位与B读写端口仲裁模块(Ⅲ)还和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;
所述双口RAM(Ⅰ)包括低n位双口RAM(1)和高n位双口RAM(2),双口RAM(Ⅰ)具有A端口和B端口;A读写端口分时两次完成所述双口RAM(Ⅰ)的A端口的1个存储单元的2n位数据的读或写,先低n位数据的读或写,后高n位数据的读或写;B读写端口一次完成所述双口RAM(Ⅰ)的B端口的1个存储单元的2n位数据的读或写;
所述低n位双口RAM(1)的A端口写信号WRA_1输入端和A读写端口低n位与B读写端口仲裁模块(Ⅲ)连接;A端口读信号RDA_1输入端和A读写端口低n位与B读写端口仲裁模块(Ⅲ)连接;低n位双口RAM(1)的片选使能信号CA1输入端与A读写端口控制模块(Ⅱ)连接;低n位DBA数据端与A读写端口控制模块(Ⅱ)连接;ABA[m:1]地址输入端与n位系统地址总线ABA[m:0]的第m根到第1根地址线连接;
所述高n位双口RAM(2)的A端口写信号WRA_1输入端和A读写端口低n位与B读写端口仲裁模块(Ⅲ)连接;A端口读信号RDA_1输入端和A读写端口低n位与B读写端口仲裁模块(Ⅲ)连接;高n位双口RAM(2)的片选使能信号CA2输入端与A读写端口控制模块(Ⅱ)连接;高n位DBA数据端与A读写端口控制模块(Ⅱ)连接;ABA[m:1]地址输入端与n位系统地址总线ABA[m:0]的第m根到第1根地址线连接;
所述低n位双口RAM(1)的B端口写信号WRB_1输入端和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;B端口读信号RDB_1输入端和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;低n位双口RAM(1)的片选使能信号CB输入端与2n位系统总线片选使能信号CB线连接;低n位DBB[n-1:0]数据端与2n位系统数据总线DBB[2n-1:0]的第n-1根到第0根的DBB[n-1:0]数据线连接;ABB[m-1:0]地址输入端与2n位系统地址总线ABB[m-1:0]连接;
所述高n位双口RAM(2)的B端口写信号WRB_1输入端和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;B端口读信号RDB_1输入端和A读写端口高n位与B读写端口仲裁模块(Ⅳ)连接;高n位双口RAM(2)的片选使能信号CB输入端与2n位系统总线片选使能信号CB线连接;高n位DBB[2n-1:n]数据端与2n位系统数据总线DBB[2n-1:0]的第2n-1根到第n根的DBB[2n-1:n]数据线连接;ABB[m-1:0]地址输入端与2n位系统地址总线ABB[m-1:0]连接;
所述A读写端口控制模块(Ⅱ)根据n位系统地址总线的最低位ABA[0]地址线的状态确定是对低n位双口RAM(1)的A端口还是高n位双口RAM(2)的A端口进行读或写操作控制;
所述A读写端口低n位与B读写端口仲裁模块(Ⅲ)根据n位系统地址总线ABA[m:1]的地址值和2n位系统地址总线ABB[m-1:0]的地址值是否相等,如果相等,继续进行已在执行的读写操作,封锁待执行的读写操作,并发送忙信号;如果相等且A读写端口低n位与B读写端口的读或写信号同时发生或A读写端口低n位正在执行读或写操作,则A读写端口低n位执行读写操作,封锁B读写端口的读写操作,并发送B读写端口忙信号BusyB_11;如果相等且B读写端口正在执行读或写操作,则B读写端口低n位执行读写操作,封锁A读写端口的读写操作,并发送A读写端口忙信号BusyA;
所述A读写端口高n位与B读写端口仲裁模块(Ⅳ)在n位系统地址总线ABA[m:1]的地址值和2n位系统地址总线ABB[m-1:0]的地址值相等时,A读写端口高n位读或写信号有效时,执行A读写端口高n位的读写操作,封锁B读写端口的读写操作,发送B读写端口忙信号BusyB_1和B读写端口忙信号BusyB_2;
所述A读写端口低n位与B读写端口仲裁模块(Ⅲ)和A读写端口高n位与B读写端口仲裁模块(Ⅳ)对A读写端口和B读写端口对同一存储单元的读操作不进行仲裁;
上述m、n的取值范围是:n为8、16、32或64,m为2的任意整数的幂次方。
2.如权利要求1所述的数据总线宽度不相等的双口RAM读写与仲裁控制器,其特征在于:所述A读写端口控制模块(Ⅱ)包括非门Ⅰ(3)、或门Ⅰ(4)、或门Ⅱ(5)、或门Ⅲ(6)、n位双向三态门组Ⅰ(7)、或门Ⅳ(8)、或门Ⅴ(9)、或门Ⅵ(10)、n位双向三态门组Ⅱ(11);非门Ⅰ(3)的输入端与n位系统地址总线的最低位ABA[0]地址线连接,输出端和或门Ⅰ(4)的输入端连接;
或门Ⅰ(4)的另一个输入端与n位系统总线的A读写端口片选使能信号CA线连接,输出端分别和或门Ⅱ(5)的一个输入端、或门Ⅲ(6)的一个输入端、高n位双口RAM(2)的片选使能信号CA2输入端连接;
或门Ⅱ(5)的另一个输入端与n位系统总线的A读写端口写信号WRA线连接,输出端分别与n位双向三态门组Ⅰ(7)的一个输入端、A读写端口高n位与B读写端口仲裁模块(Ⅳ)的A端口高n位写信号WRA_21输入端连接;
或门Ⅲ(6)的另一个输入端与n位系统总线的A读写端口读信号RDA线连接,输出端分别与n位双向三态门组Ⅰ(7)的另一个输入端、A读写端口高n位与B读写端口仲裁模块(Ⅳ)的A端口高n位读信号RDA_21输入端连接;
n位双向三态门组Ⅰ(7)的第三个输入端与n位系统数据总线DBA[n-1:0]连接,输出端与高n位双口RAM(2)的高n位DBA数据端连接;
或门Ⅳ(8)的两个输入端分别与n位系统地址总线的最低位ABA[0]地址线、A读写端口片选使能信号CA线连接,输出端分别和或门Ⅴ(9)的一个输入端、或门Ⅵ(10)的一个输入端、低n位双口RAM(1)的片选使能信号CA1输入端连接;
或门Ⅴ(9)的另一个输入端与n位系统总线的A读写端口写信号WRA线连接,输出端分别与n位双向三态门组Ⅱ(11)的一个输入端、A读写端口低n位与B读写端口仲裁模块(Ⅲ)的A端口低n位写信号WRA_11输入端连接;
或门Ⅵ(10)的另一个输入端与n位系统总线的A读写端口读信号RDA线连接,输出端分别与n位双向三态门组Ⅱ(11)的另一个输入端、A读写端口低n位与B读写端口仲裁模块(Ⅲ)的A端口低n位读信号RDA_11输入端连接;
n位双向三态门组Ⅱ(11)的第三个输入端与n位系统数据总线DBA[n-1:0]连接,输出端与低n位双口RAM(1)的低n位DBA数据端连接;
上述n的取值范围是:n为8、16、32或64。
3.如权利要求1所述的数据总线宽度不相等的双口RAM读写与仲裁控制器,其特征在于:所述A读写端口低n位与B读写端口仲裁模块(Ⅲ)包括或门Ⅶ(12)、地址比较器(13)、与门Ⅰ(14)、判优与仲裁电路Ⅰ(15)、判优与仲裁电路Ⅱ(16)、或门Ⅷ(17)、或门Ⅸ(18)、与门Ⅱ(19)、与门Ⅲ(20)、或门Ⅹ(21)、或门Ⅺ(22)、与非门Ⅰ(23)、或门Ⅻ(24)、非门Ⅱ(25)、或门ⅩⅢ(26);或门Ⅶ(12)的两个输入端分别与n位系统总线的A读写端口片选使能信号CA线、B读写端口片选使能信号CB线连接,输出端与地址比较器(13)的一个输入端连接;
地址比较器(13)的另两个输入端分别与n位系统地址总线ABA[m:1]、2n位系统地址总线ABB[m-1:0]连接;地址值相等AE输出端分别与判优与仲裁电路Ⅰ(15)的设置与控制信号SC1输入端、或门Ⅷ(17)的一个输入端、或门Ⅸ(18)的一输入端、判优与仲裁电路Ⅱ(16)的设置与控制信号SC2输入端连接;
与门Ⅰ(14)的两个输入端分别与2n位系统总线的B读写端口读信号RDB线和B读写端口写信号WRB线连接,输出端与判优与仲裁电路Ⅰ(15)的低优先权位信息L1输入端连接;
...

【专利技术属性】
技术研发人员:余玲蔡启仲李克俭谢友慧梁锡铅姚江云梁喜幸
申请(专利权)人:广西科技大学鹿山学院广西科技大学
类型:新型
国别省市:广西;45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1