数据总线宽度不相等的双口ram读写与仲裁控制器的制造方法
【专利摘要】一种数据总线宽度不相等的双口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读写与仲裁控制器
【技术领域】
[0001] 本实用新型涉及一种数据总线宽度不相等的双口RAM读写与仲裁控制器,尤其涉 及一种基于FPGA并行处理的特点,应用FPGA设计硬连接电路组成的数据总线宽度不相等 的双口RAM读写与仲裁控制器。
【背景技术】
[0002] 双口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芯片的一 个读写端口连接也需要增加相应的数据接口电路的问题。
【发明内容】
[0003] 本实用新型的目的在于应用FPGA设计硬连接电路,提供一种能够实现并行处理 的"数据总线宽度不相等的双口RAM读写与仲裁控制器";该控制器能够实现数据总线宽度 不相等的双口RAM的两个读写端口同时对不同存储单元的随机读写访问,同时对同一存储 单元的读操作;该控制器根据A读写端口连接的n位系统的地址总线的最低位ABA[0]的状 态确定是对低n位双口RAM还是高n位双口RAM进行读或写操作,达到分时两次就完成读 或写低n位和高n位存储单元的目的,B读写端口一次完成2n位存储单元的读写操作;以 解决上述已有技术存在的问题:即:访问数据总线宽度不相等的双口RAM需要进行三次或 四次分时操作,数据总线宽度窄的微处理器与双口RAM芯片的一个读写端口连接也需要增 加相应的数据接口电路的问题。
[0004] 解决上述技术问题的技术方案是:一种数据总线宽度不相等的双口RAM读写与 仲裁控制器,包括双口 RAM、A读写端口控制模块、A读写端口低n位与B读写端口仲裁模块 和A读写端口高n位与B读写端口仲裁模块;
[0005] 所述数据总线宽度不相等的双口 RAM读写与仲裁控制器具有n位A读写端口和2n 位B读写端口,n位A读写端口以下称为A读写端口,2n位B读写端口称为B读写端口;A 读写端口与n位系统的总线连接,B读写端口与2n位系统的总线连接;
[0006] 所述双口 RAM分别与A读写端口控制模块、A读写端口低n位与B读写端口仲裁 模块和A读写端口高n位与B读写端口仲裁模块连接;
[0007] 所述A读写端口控制模块还和A读写端口低n位与B读写端口仲裁模块和A读写 端口高n位与B读写端口仲裁模块连接;
[0008] 所述A读写端口低n位与B读写端口仲裁模块还和A读写端口高n位与B读写端 口仲裁模块连接;
[0009] 所述双口 RAM包括低n位双口 RAM和高n位双口 RAM,双口 RAM具有A端口和B端 口;A读写端口分时两次完成所述双口 RAM的A端口的1个存储单元的2n位数据的读或写, 先低n位数据的读或写,后高n位数据的读或写;B读写端口一次完成所述双口 RAM的B端 口的1个存储单元的2n位数据的读或写;
[0010] 所述低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根地址线连接;
[0011] 所述高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根地址线连接;
[0012] 所述低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-l: 0]的第n-1根到第0根的 DBB[n-l:0]数据线连接;ABB[m-l:0]地址输入端与2n位系统地址总线ABB[m-l:0]连接;
[0013] 所述高n位双口 RAM的B端口写信号WRB_1输入端和A读写端口高n位与B读写 端口仲裁模块连接;B端口读信号RDB_1输入端和A读写端口高n位与B读写端口仲裁模 块连接;高n位双口 RAM的片选使能信号CB输入端与2n位系统总线片选使能信号CB线连 接;高n位DBB [2n-l: n]数据端与2n位系统数据总线DBB [2n-l: 0]的第2n-l根到第n根 的DBB [2n-l: n]数据线连接;ABB [m-1:0]地址输入端与2n位系统地址总线ABB [m-1:0]连 接;
[0014] 所述A读写端口控制模块根据n位系统地址总线的最低位ABA[0]地址线的状态 确定是对低n位双口 RAM的A端口还是高n位双口 RAM的A端口进行读或写操作控制;
[0015] 所述A读写端口低n位与B读写端口仲裁模块根据n位系统地址总线ABA[m: 1] 的地址值和2n位系统地址总线ABB[m-1:0]的地址值是否相等,如果相等,继续进行已在执 行的读写操作,封锁待执行的读写操作,并发送忙信号;如果相等且A读写端口低n位与B 读写端口的读或写信号同时发生或A读写端口低n位正在执行读或写操作,则A读写端口 低n位执行读写操作,封锁B读写端口的读写操作,并发送B读写端口忙信号BusyB_ll;如 果相等且B读写端口正在执行读或写操作,则B读写端口低n位执行读写操作,封锁A读写 端口的读写操作,并发送A读写端口忙信号BusyA;
[0016] 所述A读写端口高n位与B读写端口仲裁模块在n位系统地址总线ABA [m: 1]的 地址值和2n位系统地址总线ABB [m-1:0]的地址值相等时,A读写端口高n位读或写信号 有效时,执行A读写端口高n位的读写操作,封锁B读写端口的读写操作,发送B读写端口 忙信号BusyB_l和B读写端口忙信号BusyB_2 ;
[0017] 所述A读写端口低n位与B读写端口仲裁模块和A读写端口高n位与B读写端口 仲裁模块对A读写端口和B读写端口对同一存储单元的读操作不进行仲裁;
[0018] 上述m、n的取值范围是:n为8、16、32或64,m为2的任意整数的幂次方。
[0019] 其进一步技术方案是:所述A读写端口控制模块包括非门I、或门I、或门II、或 门III、n位双向三态门组I、或门IV、或门V、或门VI、n位双向三态门组II;非门I的输入 端与n位系统地址总线的最低位ABA[0]地址线连接,输出端和或门I的输入端连接;
[0020] 或门I的另一个输入端与n位系统总线的A读写端口片选使能信号CA线连接,输 出端分别和或门II的一个输入端、或门III的一个输入端、高n位双口 RAM的片选使能信号 CA2输入端连接;
[0021] 或门II的另一个输入端与n位系统总线的A读写端口写信号WRA线连接,输出端 分别与n位双向三态门组I的一个输入端、A读写端口高n位与B读写端口仲裁模块的A端 口高n位写信号WRA_21输入端连接;
[0022] 或门III的另一个输入端与n位系统总线的A读写端口读信号RDA线连接,输出端 分别与n位双向三态门组I的另一个输入端、A读写端口高n位与B读写端口仲裁模块的A 端口高n位读信号RDA_21输入端连接;
[0023] n位双向三态门组I的第三个输入端与n位系统数据总线DBA[n-l:0]连接,输出 端与高n位双口 RAM的高n位DBA数据端连接;
[0024] 或门IV的两个输入端分别与n位系统地址总线的最低位ABA[0]地址线、A读写端 口片选使能信号CA线连接,输出端分别和或门V的一个输入端、或门VI的一个输入端、低n 位双口 RAM的片选使能信号CA1输入端连接;
[0025] 或门V的另一个输入端与n位系统总线的A读写端口写信号WRA线连接,输出端 分别与n位双向三态门组II的一个输入端、A读写端口低n位与B读写端口仲裁模块的A端 口低n位写信号WRA_11输入端连接;
[0026] 或门VI的另一个输入端与n位系统总线的A读写端口读信号RDA线连接,输出端 分别与n位双向三态门组II的另一个输入端、A读写端口低n位与B读写端口仲裁模块的A 端口低n位读信号RDA_11输入端连接;
[0027] n位双向三态门组II的第三个输入端与n位系统数据总线DBA[n-l:0]连接,输出 端与低n位双口 RAM的低n位DBA数据端连接;
[0028] 上述n的取值范围是:n为8、16、32或64。
[0029] 其更进一步技术方案是:所述A读写端口低n位与B读写端口仲裁模块包括或门 W、地址比较器、与门I、判优与仲裁电路I、判优与仲裁电路II、或门W、或门IX、与门II、 与门III、或门X、或门XI、与非门I、或门XII、非门II、或门XIII;或门W的两个输入端分别与 n位系统总线的A读写端口片选使能信号CA线、B读写端口片选使能信号CB线连接,输出 端与地址比较器的一个输入端连接;
[0030] 地址比较器的另两个输入端分别与n位系统地址总线ABA[m: 1]、2n位系统地址 总线ABB[m-l:0]连接;地址值相等AE输出端分别与判优与仲裁电路I的设置与控制信号 SCI输入端、或门W的一个输入端、或门IX的一输入端、判优与仲裁电路II的设置与控制信 号SC2输入端连接;
[0031] 与门I的两个输入端分别与2n位系统总线的B读写端口读信号RDB线和B读写 端口写信号WRB线连接,输出端与判优与仲裁电路I的低优先权位信息L1输入端连接;
[0032] 所述判优与仲裁电路I包括非门IV、与非门IV、非门V、或非门I、或非门II、或门 XW、非门VI、非门W;所述判优与仲裁电路I的高优先权位信息H1输入端与A读写端口 控制模块的或门V的A端口低n位写信号WRA_11输出端连接,Q1输出端和或门W的一个 输入端连接,iT输出端分别和与门II的一个输入端、或门XI的一个输入端连接;
[0033] 非门IV的输入端与判优与仲裁电路I的设置与控制信号SCI输入端连接,输出端 和与非门IV的一个输入端连接;
[0034] 与非门IV另两个输入端分别与判优与仲裁电路I的高优先权位信息H1输入端、 低优先权位信息L1输入端连接,输出端和非门V输入端连接;
[0035] 非门V的输出端和或门XW的一个输入端连接;
[0036] 或非门I的三个输入端分别与判优与仲裁电路I的高优先权位信息H1输入端、 设置与控制信号SCI输入端和或非门II的输出端连接,输出端和或门XW的另一个输入端 连接;
[0037] 或非门II的三个输入端分别与判优与仲裁电路I的设置与控制信号SCI输入端、 低优先权位信息L1输入端和或门XW的输出端连接,输出端还和非门W的输入端连接;
[0038] 或门XW的第三个输入端与判优与仲裁电路I的设置与控制信号SCI输入端连 接,输出端还和非门VI的输入端连接;
[0039] 非门VI的输出端与判优与仲裁电路I的Q1输出端连接;
[0040] 非门W的输出端与判优与仲裁电路I的占输出端连接;
[0041] 所述判优与仲裁电路II与判优与仲裁电路I的电路结构相同,包括非门W、与非 门V、非门IX、或非门III、或非门IV、或门XIX、非门X、非门XI;所述判优与仲裁电路II的高 优先权位信息H2输入端与A读写端口控制模块的或门VI的A端口低n位读信号RDA_11输 出端连接,低优先权位信息L2输入端与2n位系统总线的B读写端口写信号WRB线连接;Q2 输出端和或门IX的另一个输入端连接,运输出端和与门II的一个输入端连接;
[0042] 非门W的输入端与判优与仲裁电路II的设置与控制信号SC2输入端连接,输出端 和与非门V的一个输入端连接;
[0043] 与非门V另两个输入端分别与判优与仲裁电路II的高优先权位信息H2输入端、 低优先权位信息L2输入端连接,输出端和非门IX输入端连接;
[0044] 非门IX的输出端和或门XIX的一个输入端连接;
[0045] 或非门III的三个输入端分别与判优与仲裁电路II的高优先权位信息H2输入端、 设置与控制信号SC2输入端和或非门IV的输出端连接,输出端和或门XIX的另一个输入端 连接;
[0046] 或非门IV的三个输入端分别与判优与仲裁电路II的设置与控制信号SC2输入端、 低优先权位信息L2输入端和或门XIX的输出端连接,输出端还和非门XI的输入端连接;
[0047] 或门XIX的第三个输入端与判优与仲裁电路II的设置与控制信号SC2输入端连 接,输出端还和非门X的输入端连接;
[0048] 非门X的输出端与判优与仲裁电路II的Q2输出端连接;
[0049] 非门XI的输出端与判优与仲裁电路II的运输出端连接;
[0050] 或门W的第三个输入端与A读写端口控制模块的或门VI的A端口低n位写信号 WRA_11输出端连接,输出端分别和与门III的一个输入端、A读写端口高n位与B读写端口仲 裁模块的封锁B端口读写信号BlockBWR_1输入端连接;
[0051] 或门IX的第三个输入端与A读写端口控制模块的或门VI的A端口低n位读信号 RDA_11输出端连接,输出端和与门III的另一个输入端、A读写端口高n位与B读写端口仲裁 模块的封锁B端口写信号BlockBW_1输入端连接;
[0052] 与门II的输出端分别和或门X的一个输入端、n位系统总线的A读写端口忙信号 BusyA线连接;
[0053] 与门III的输出端与A读写端口高n位与B读写端口仲裁模块的B读写端口忙信号 BusyB_ll输入端连接;
[0054] 或门X的另一个输入端与2n位系统总线的B读写端口写信号WRB线连接,输出端 分别和与非门I的一个输入端、非门II的输入端连接;
[0055] 或门XI的另一个输入端与2n位系统总线的B读写端口读信号RDB线连接,输出端 和与非门I的另一个输入端连接;
[0056] 与非门I的输出端和或门XII的一个输入端连接;
[0057] 或门XII的另一输入端与n位系统总线的A读写端口读信号RDA线连接,输出端与 低n位双口RAM的A端口读信号RDA_1输入端连接;
[0058] 非门II的输出端和或门XIII的一个输入端连接;
[0059] 或门XIII的另一个输入端与n位系统总线的A读写端口写信号WRA线连接,输出 端与低n位双口RAM的A端口写信号WRA_1输入端连接;
[0060] 上述m、n的取值范围是:n为8、16、32或64,m为2的任意整数的幂次方。
[0061] 其又更进一步技术方案是:所述A读写端口高n位与B读写端口仲裁模块包括或 门XIV、或门XV、与门IV、非门III、与门V、D触发器、与门VI、与非门II、或门XVI、与非门 III、或门XW;或门XIV的两个输入端分别与A读写端口低n位与B读写端口仲裁模块的地 址比较器的地址值相等AE输出端和A读写端口控制模块的或门II的A端口高n位写信号 WRA_21输出端连接,输出端和与门IV的一个输入端、与非门II的一个输入端连接;
[0062] 或门XV两个输入端分别与A读写端口低n位与B读写端口仲裁模块的地址比较 器的地址值相等AE输出端和A读写端口控制模块的或门III的A端口高n位读信号RDA_21 输出端连接,输出端和与门IV的另一个输入端、与非门III的一个输入端连接;
[0063] 与门IV的输出端分别和非门III的输入端和2n位系统总线的B读写端口忙信号 BusyB_2信号线连接;
[0064] 非门III的输出端和与门V的一个输入端连接;
[0065] 与门V的另一个输入端与A读写端口低n位和B读写端口仲裁模块的与门III的B 读写端口忙信号BusyB_ll输出端连接,输出端与D触发器的CP信号输入端连接;
[0066]D触发器的D输入端与A读写端口低n位和B读写端口仲裁模块的与门III的B读 写端口忙信号BusyB_ll输出端连接,Q输出端和与门VI的一个输入端连接;
[0067] 与门VI的另一个输入端与A读写端口低n位与B读写端口仲裁模块的与门III的 B读写端口忙信号BusyB_l 1输出端连接,输出端与2n位系统总线的B读写端口忙信号 BusyB_l线连接;
[0068] 与非门II的另一个输入端与A读写端口低n位与B读写端口仲裁模块的或门W的 封锁B端口读写信号BlockB WR_1输出端连接,输出端和或门XVI的一个输入端连接;
[0069] 或门XVI的另一个输入端与2n位系统总线的B读写端口读信号RDB线连接,输出 端与双口 RAM的B端口读信号RDB_1输入端连接;
[0070] 与非门III的另外两个输入端分别与A读写端口低n位与B读写端口仲裁模块的或 门W的封锁B端口读写信号BlockB WR_1输出端和或门IX的封锁B端口写信号BlockB W_1 输出端连接,输出端和或门XW的一个输入端连接;
[0071] 或门XW的另一个输入端与2n位系统总线的B读写端口写信号WRB线连接,输出 端与双口 RAM的B端口写信号WRB_1输入端连接;
[0072] 上述m、n的取值范围是:n为8、16、32或64, m为2的任意整数的幂次方;
[0073] 上述n位系统可以是n位微处理器应用系统或FPGA的n位应用系统;
[0074] 上述2n位系统可以是2n位微处理器应用系统或FPGA的2n位应用系统。
[0075] 由于采用以上结构,本实用新型之"数据总线宽度不相等的双口 RAM读写与仲裁 控制器"具有以下有益效果:
[0076] 一、设置忙信号BusyB_l和BusyB_2,提高了仲裁的性能
[0077] 本实用新型中,针对数据总线宽度不相等的双口 RAM,设计了 A读写端口低n位与 B读写端口仲裁模块和A读写端口高n位与B读写端口仲裁模块,两个读写端口对同一个 存储单元同时进行读写访问时,n位系统的地址总线的ABA[m+l: 1]地址值和2n位系统的 地址总线ABB [m: 0]的地址值相等,如果A读写端口低n位与B读写端口的读或写信号同时 发生,则A读写端口低n位执行读或写操作,封锁B读写端口的读或写操作,并发送忙信号 BusyB_l ;如果A读写端口高n位执行读写访问,封锁B读写端口的读或写操作,并发送忙信 号BusyB_2,A读写端口高n位的读写访问结束,撤销忙信号BusyB_l和忙信号BusyB_2 ;忙 信号BusyB_l有效时,表明2n位系统至少需要经过2个读写周期才能够对该存储单元进行 访问,忙信号BusyB_l和忙信号BusyB_2都有效时,表明2n位系统只需要经过1个读写周 期即可对该存储单元进行访问,提高了仲裁的性能;
[0078] 二、提高了数据总线宽度不相等的双口 RAM读写访问速度
[0079] 本实用新型中,控制器根据双口 RAM数据总线宽度窄的A读写端口输入的ABA[0] 的状态确定是对低n位双口 RAM还是高n位双口 RAM进行读或写访问,达到分时两次就完 成读或写低n位和高n位的存储单元的目的;
[0080] 三、减小了硬件电路的规模
[0081] 本实用新型中,应用FPGA设计硬连接控制电路,在FPGA的片内设计A读写端口控 制模块,不需要在数据总线宽度窄的n位系统的总线与双口 RAM芯片的一个读写端口侧连 接搭建数据接口电路,减小了硬件电路的规模;
[0082] 四、系统性价比高
[0083] 本实用新型应用FPGA的硬连接控制电路设计数据总线宽度不相等的双口 RAM读 写与仲裁控制器,不需要另外增加A读写端口的数据接口电路,又达到A读写端口需要分时 三次或四次才能够完成对双口 RAM读写的访问,减少到只需要分时二次即可完成读写的访 问;针对A读写端口需要分时二次完成读写的访问,设置仲裁优先级别,根据数据总线宽度 不相等的双口 RAM读写访问的特点,设置A读写端口为高优先级别,忙信号BusyB_l和忙信 号BusyB_2,提高了仲裁的性能,使得数据总线宽度不相等的双口 RAM读写与仲裁控制器的 性能增强,具备较高的性价比。
[0084] 下面结合附图和实施例对本实用新型之数据总线宽度不相等的双口 RAM读写与 仲裁控制器之技术特征作进一步的说明。
【专利附图】
【附图说明】
[0085] 图1 :本实用新型之数据总线宽度不相等的双口 RAM读写与仲裁控制器的系统结 构框图;
[0086] 图2 :本实用新型之数据总线宽度不相等的双口 RAM读写与仲裁控制器的A读写 端口控制模块结构及其连接关系图;
[0087] 图3:本实用新型之数据总线宽度不相等的双口 RAM读写与仲裁控制器的A读写 端口低n位与B读写端口仲裁模块结构及其连接关系图;
[0088] 图4 :本实用新型之数据总线宽度不相等的双口 RAM读写与仲裁控制器的判优与 仲裁电路I结构及其连接关系图;
[0089] 图5 :本实用新型之数据总线宽度不相等的双口 RAM读写与仲裁控制器的判优与 仲裁电路II结构及其连接关系连接图;
[0090] 图6 :本实用新型之数据总线宽度不相等的双口 RAM读写与仲裁控制器的A读写 端口高n位与B读写端口仲裁模块结构及其连接关系图。
[0091] 图中:
[0092] I一双口 RAM,II-A读写端口控制模块,III-A读写端口低n位与B读写端口 仲裁模块,IV-A读写端口高n位与B读写端口仲裁模块;
[0093]1-低n位双口RAM,2-高n位双口RAM,3-非门I,4一或门I,5-或门II,6- 或门III,7-n位双向三态门组I,8-或门IV,9一或门V,10-或门VI,11一n位双向三态 门组11,12-或门VL13-地址比较器,14一与门I,15-判优与仲裁电路I,16-判优与 仲裁电路II,17-或门VIII,18-或门IX,19一与门II,20-与门III,21-或门X,22-或门XI, 23-与非门I,24-或门XL25-非门II,26-或门XIII,27-或门XIV,28-或门XV, 29-与门IV,30-非门III,31-与门V,32-D触发器,33-与门VI,34-与非门II,35-或门 XVI,36-与非门III,37-或门XW;
[0094] 15a-非门IV,15b -与非门IV,15c-非门V,15d -或非门I,15e -或非门II, 15f-或门 XW,15g-非门 VI,15h-非门 vn。
[0095] 16a-非门 W,16b-与非门 V,16c-非门 IX,16d -或非门 III,16e-或非门 IV, 16f-或门 XIX,16g-非门 X,16h-非门XI。
[0096] 文中缩略语说明:
[0097] (一)FPGA - Field Programmable Gate Array,现场可编程门阵列。
[0098] (二)与n位系统的总线(n位A读写端口)相关的:
[0099] ABA - Address Bus of A read and write ports,A 读写端口输入的地址总线, 是n位系统地址总线;
[0100] ABA[m: 1] - n位系统地址总线,从第1根到第m根地址线;
[0101] ABA[0] - n位系统地址总线的最低位地址线,第0根地址线;
[0102] DBA - Data Bus of A read and write ports,A 读写端口数据总线,是 n 位系统 的数据总线,是n位系统与A读写端口双向传输的数据总线;
[0103] DBA[n-l:0] - n位系统数据总线,从第0根到第n-1根数据线;
[0104] CA - Chip select enable signal of A read and write ports,A 读写端口片 选使能输入信号线;是n位系统总线的A读写端口片选使能信号线;
[0105] WRA - WRite signal of A read and write ports,A 读写端口写信号输入线;是 n位系统总线的A读写端口写信号线;
[0106] RDA - ReaD signal of A read and write ports,A 读写端口读信号输入线;是 n位系统总线的A读写端口读信号线;
[0107] BusyA - Busy signal of A read and write ports,A 读写端口忙信号输出线; 是n位系统总线的A读写端口忙信号线。
[0108] (三)与2n位系统总线(2n位B读写端口)相关的:
[0109] ABB - Address Bus of B read and write ports,B 读写端口输入的地址总线信 号,是2n位系统地址总线;
[0110] ABB [m-1:0] - 2n位系统地址总线,从第0根到第m-1根地址线;
[0111] DBB - Data Bus of B read and write ports,B 读写端口数据总线,是 2n 位系 统数据总线,2n位系统与B读写端口双向传输的数据线;
[0112] DBB[2n-l:0] -2n位系统数据总线,从第0根到第2n -1根数据线;
[0113] CB - Chip select enable signal of B read and write ports,B 读写端口片 选使能输入信号线;是2n位系统总线的B读写端口片选使能信号线,;
[0114] WRB - Write signal of B read and write ports,B 读写端口写信号输入线;是 2n位系统总线的B读写端口写信号线;
[0115] RDB - ReaD signal of B read and write ports,B 读写端口读信号输入线;是 2n位系统总线的B读写端口读信号线;也是B端口读信号输入线
[0116] BusyB_l - Busy signal_l of B read and write ports,B读写端口忙信号_1 输 出线;是2n位系统总线的B读写端口忙信号_1线;
[0117] BusyB_2 - Busy signal_2 of B read and write ports,B读写端口忙信号_2输 出线;是2n位系统总线的B读写端口忙信号_2线。
[0118](四)与双口 RAMI相关的:
[0119] A 端口:
[0120] 1^^_1一1^3〇818仙1(^4?〇1^4端口读信号输入线,是低11位双口狀11和高11 位双口 RAM的A端口读信号输入线;
[0121] WRA_1 - WRite signal of A Port,A端口写信号输入线,是低n位双口 RAM和高 n位双口 RAM的A端口写信号输入线;
[0122] CA1 - Chip select enable signal 1 of A port,A 端口片选使能信号输入线, 是低n位双口 RAM的A端口片选使能信号输入线;
[0123] 低n位DBA - N_bit Data Bus lines of A port of low n_bit dual-port RAM, 低n位双口 RAM的A端口的n位数据线;
[0124] CA2 - Chip select enable signal 2 of A port,A 端口片选使能信号输入线, 是高n位双口 RAM的A端口片选使能信号输入线;
[0125] 高n位DBA -N_bit data Bus lines of A port of high n_bit dual-port RAM, 高n位双口 RAM的A端口的n位数据线;
[0126] B 端口:
[0127] RDB_1 - ReaD signal_l of B Port,B 端口读信号 _1,是低 n 位双口 RAM 和高 n 位双口 RAM的B端口读信号输入线;
[0128] WRB_1 - write signal_l of B Port,B 端口 写信号 _1,是低 n 位双口 RAM 和高 n 位双口 RAM的B端口写信号输入线;
[0129] DBB [2n_l :n] - data bus [2n_l :n] of B port,B 端口数据总线[2n_l :n],是高 n 位双口 RAM的B端口数据总线,从第2n-l根到第n根数据线;
[0130] DBB[n_l :0] - data bus [n_l :0] of B port,B 端口数据总线[n_l :0],是低 n 位 双口 RAM的B端口数据总线,从第n-1根到第0根数据线。
[0131](五)与A读写端口控制模块II、A读写端口低n位与B读写端口仲裁模块III、A 读与端口 _n位与B读与端口仲裁|旲块IV相关的:
[0132] WRA_11 - WRite signal_ll of A port low n_bit,A 端口低 n 位写信号线;
[0133] RDA_11 - ReaD signal_ll of A port low n_bit,A 端口低 n 位读信号线;
[0134] WRA_21 - WRite signal_21 of A port high n_bit,A 端口高 n 位写信号线;
[0135] RDA_21 - ReaD signal_21 of A port high n_bit,A 端口高 n 位读信号线;
[0136] AE - Address values are Equal,地址值相等,是 ABA[m: 1]的地址值与 ABB[m-l:0]的地址值相等;
[0137] BlockB WR_1-Block B port Write signal WRB_1 and Read signal RDB_1,封 锁B端口读信号RDB_1和写信号WRB_1 ;
[0138] BlockB W_1 - Block B port Write signal WRB_1,封锁 B 端口写信号 WRB_1 ;
[0139] BusyB_ll - Busy signal_ll of B read and write port,B读写端口忙信号_11 ;
[0140] 判优与仲裁电路I 15
[0141] HI - High priority bit information 1 input terminal,高优先权位信息 1 输 入端;
[0142] SCI - Set and Control signal 1 input terminal,设置与控制信号 1 输入端;
[0143] LI - Low priority bit information 1 input terminal,低优先权位信息 1 输 入端;
[0144] Q1 - Result of arbitration and arbitration 1 output terminal,判优与仲 裁结果1输出端;
[0145]Qi- Arbitration and arbitration result negated 1 output terminal ;判优 与仲裁结果取反1输出端;
[0146] 判优与仲裁电路II 16
[0147] H2 - High priority bit information 2 input terminal,高优先权位信息 2 输 入端;
[0148] SC2 - Set and control signal 2 input terminal,设置与控制信号 2 输入端;
[0149] L2 - Low priority bit information 2 input terminal,低优先权位信息 2 输 入端;
[0150] Q2 - Result of arbitration and arbitration 2 output terminal,判优与仲 裁结果2输出端;
[0151]Q2- Arbitration and arbitration result negated 2 output terminal,判优 与仲裁结果取反2输出端;
[0152] D触发器:
[0153] D 触发器一Data flip-flop ;
[0154] D - Data input,数据输入端;
[0155] Q - Data output,数据输出端;
[0156]Q2-Data negated output ;
[0157] CP - Clock Pulse input,时钟信号输入端。
[0158] 图中:
[0159] m、n的取值范围是:n为8、16、32或64,m为2的任意整数的幂次方。
[0160] n位系统的总线是n位微处理器应用系统的总线或FPGA的n位应用系统的总线;
[0161] 2n位系统的总线是2n位微处理器应用系统的总线或FPGA的2n位应用系统的总 线。
【具体实施方式】
[0162] 实施例:
[0163] -种数据总线宽度不相等的双口 RAM读写与仲裁控制器,如图1所示,该数据总线 宽度不相等的双口 RAM读写与仲裁控制器包括双口 RAM I、A读写端口控制模块II、A读写 端口低n位与B读写端口仲裁模块III和A读写端口高n位与B读写端口仲裁模块IV ;
[0164] 所述数据总线宽度不相等的双口 RAM读写与仲裁控制器具有n位A读写端口和2n 位B读写端口,n位A读写端口以下称为A读写端口,2n位B读写端口称为B读写端口;A 读写端口与n位系统的总线连接,B读写端口与2n位系统的总线连接;
[0165]所述双口 RAM I分别与A读写端口控制模块II、A读写端口低n位与B读写端口 仲裁模块III和A读写端口高n位与B读写端口仲裁模块IV连接;
[0166] 所述A读写端口控制模块II还和A读写端口低n位与B读写端口仲裁模块III和A 读写端口高n位与B读写端口仲裁模块IV连接;
[0167] 所述A读写端口低n位与B读写端口仲裁模块III还和A读写端口高n位与B读写 端口仲裁模块IV连接;
[0168] 所述双口RAM I包括低n位双口RAM1和高n位双口RAM2,双口RAM I具有A端口 和B端口;A读写端口分时两次完成所述双口RAM I的A端口的1个存储单元的2n位数据 的读或写,先低n位数据的读或写,后高n位数据的读或写;B读写端口一次完成所述双口 RAM I的B端口的1个存储单元的2n位数据的读或写;
[0169] 所述低n位双口RAM1的A端口写信号WRA_1输入端和A读写端口低n位与B读 写端口仲裁模块III连接;A端口读信号RDA_1输入端和A读写端口低n位与B读写端口仲裁 模块III连接;低n位双口RAM1的片选使能信号CA1输入端与A读写端口控制模块II连接; 低n位DBA数据端与A读写端口控制模块II连接;ABA[m: 1]地址输入端与n位系统地址总 线ABA[m:0]的第m根到第1根地址线连接;
[0170] 所述高n位双口RAM2的A端口写信号WRA_1输入端和A读写端口低n位与B读 写端口仲裁模块III连接;A端口读信号RDA_1输入端和A读写端口低n位与B读写端口仲裁 模块III连接;高n位双口RAM2的片选使能信号CA2输入端与A读写端口控制模块II连接; 高n位DBA数据端与A读写端口控制模块II连接;ABA[m: 1]地址输入端与n位系统地址总 线ABA[m:0]的第m根到第1根地址线连接;
[0171] 所述低n位双口RAM1的B端口写信号WRB_1输入端和A读写端口高n位与B读 写端口仲裁模块IV连接;B端口读信号RDB_1输入端和A读写端口高n位与B读写端口仲 裁模块IV连接;低n位双口RAM1的片选使能信号CB输入端与2n位系统总线片选使能信号 CB线连接;低n位DBB [n-1:0]数据端与2n位系统数据总线DBB [2n-l:0]的第n-1根到第 0根的DBB [n-1:0]数据线连接;ABB [m-1:0]地址输入端与2n位系统地址总线ABB [m-1:0] 连接;
[0172] 所述高n位双口RAM2的B端口写信号WRB_1输入端和A读写端口高n位与B读 写端口仲裁模块IV连接;B端口读信号RDB_1输入端和A读写端口高n位与B读写端口仲裁 模块IV连接;高n位双口RAM2的片选使能信号CB输入端与2n位系统总线片选使能信号CB 线连接;高n位DBB [2n-l:n]数据端与2n位系统数据总线DBB [2n-l:0]的第2n-l根到第n 根的DBB [2n-l:n]数据线连接;ABB [m-1:0]地址输入端与2n位系统地址总线ABB [m-1:0] 连接;
[0173] 所述A读写端口控制模块II根据n位系统地址总线的最低位ABA[0]地址线的状 态确定是对低n位双口RAM1的A端口还是高n位双口RAM2的A端口进行读或写操作控 制;
[0174] 所述A读写端口低n位与B读写端口仲裁模块III根据n位系统地址总线ABA[m: 1] 的地址值和2n位系统地址总线ABB [m-1:0]的地址值是否相等,如果相等,继续进行已在执 行的读写操作,封锁待执行的读写操作,并发送忙信号;如果相等且A读写端口低n位与B 读写端口的读或写信号同时发生或A读写端口低n位正在执行读或写操作,则A读写端口 低n位执行读写操作,封锁B读写端口的读写操作,并发送B读写端口忙信号BusyB_ll ;如 果相等且B读写端口正在执行读或写操作,则B读写端口低n位执行读写操作,封锁A读写 端口的读写操作,并发送A读写端口忙信号BusyA;
[0175] 所述A读写端口高n位与B读写端口仲裁模块IV在n位系统地址总线ABA[m: 1] 的地址值和2n位系统地址总线ABB [m-1:0]的地址值相等时,A读写端口高n位读或写信 号有效时,执行A读写端口高n位的读写操作,封锁B读写端口的读写操作,发送B读写端 口忙信号BusyB_l和B读写端口忙信号BusyB_2 ;
[0176] 所述A读写端口低n位与B读写端口仲裁模块III和A读写端口高n位与B读写端 口仲裁模块IV对A读写端口和B读写端口对同一存储单元的读操作不进行仲裁;
[0177] 上述m、n的取值范围是:n为8、16、32或64,m为2的任意整数的幂次方。
[0178] 如图2所示,所述A读写端口控制模块II包括非门I3、或门I4、或门II5、或门 III6、n位双向三态门组I7、或门IV8、或门V9、或门VI10和n位双向三态门组II11 ;
[0179] 非门I3的输入端与n位系统地址总线的最低位ABA[0]地址线连接,输出端和或 门I4的输入端连接;
[0180] 或门I4的另一个输入端与n位系统总线的A读写端口片选使能信号CA线连接, 输出端分别和或门II5的一个输入端、或门III6的一个输入端、高n位双口RAM2的片选使 能信号CA2输入端连接;
[0181] 或门II5的另一个输入端与n位系统总线的A读写端口写信号WRA线连接,输出 端分别与n位双向三态门组I7的一个输入端、A读写端口高n位与B读写端口仲裁模块 IV的A端口高n位写信号WRA_21输入端连接;
[0182] 或门III 6的另一个输入端与n位系统总线的A读写端口读信号RDA线连接,输出 端分别与n位双向三态门组I7的另一个输入端、A读写端口高n位与B读写端口仲裁模 块IV的A端口高n位读信号RDA_21输入端连接;
[0183] n位双向三态门组I7的第三个输入端与n位系统数据总线DBA[n-l:0]连接,输 出端与高n位双口RAM2的高n位DBA数据端连接;
[0184] 或门IV 8的两个输入端分别与n位系统地址总线的最低位ABA[0]地址线、A读写 端口片选使能信号CA线连接,输出端分别和或门V 9的一个输入端、或门VI10的一个输入 端、低n位双口RAM1的片选使能信号CA1输入端连接;
[0185] 或门V9的另一个输入端与n位系统总线的A读写端口写信号WRA线连接,输出 端分别与n位双向三态门组II11的一个输入端、A读写端口低n位与B读写端口仲裁模块 III的A端口低n位写信号WRA_11输入端连接;
[0186] 或门VI10的另一个输入端与n位系统总线的A读写端口读信号RDA线连接,输出 端分别与n位双向三态门组II11的另一个输入端、A读写端口低n位与B读写端口仲裁模 块III的A端口低n位读信号RDA_11输入端连接;
[0187]n位双向三态门组II11的第三个输入端与n位系统数据总线DBA[n-l:0]连接, 输出端与低n位双口RAM1的低n位DBA数据端连接;上述n的取值范围是:n为8、16、32 或64。
[0188] 如图3所示,所述A读写端口低n位与B读写端口仲裁模块III包括或门W12、 地址比较器13、与门I14、判优与仲裁电路I15、判优与仲裁电路II16、或门W17、或门 IX18、与门II19、与门III20、或门X21、或门XI22、与非门I23、或门XU24、非门II25和或 门XIII26 ;
[0189] 或门W12的两个输入端分别与n位系统总线的A读写端口片选使能信号CA线、 B读写端口片选使能信号CB线连接,输出端与地址比较器13的一个输入端连接;
[0190] 地址比较器13的另两个输入端分别与n位系统地址总线ABA[m: 1]、2n位系统地 址总线ABB[m-l:0]连接;地址值相等AE输出端分别与判优与仲裁电路I15的设置与控制 信号SCI输入端、或门W17的一个输入端、或门IX18的一输入端、判优与仲裁电路II16的 设置与控制信号SC2输入端连接;
[0191] 与门I14的两个输入端分别与2n位系统总线的B读写端口读信号RDB线和B读 写端口写信号WRB线连接,输出端与判优与仲裁电路I15的低优先权位信息L1输入端连 接;
[0192] 如图4所示,所述判优与仲裁电路I15包括非门IV15a、与非门IV15b、非门 V15c、或非门I15d、或非门II15e、或门XW15f、非门VI15g和非门W15h;所述判优与 仲裁电路I15的高优先权位信息H1输入端与A读写端口控制模块II的或门V9的A端口 低n位写信号WRA_11输出端连接,Q1输出端和或门W17的一个输入端连接,瓦输出端分 别和与门II19的一个输入端、或门XI22的一个输入端连接;
[0193] 非门IV15a的输入端与判优与仲裁电路I15的设置与控制信号SCI输入端连接, 输出端和与非门IV15b的一个输入端连接;
[0194] 与非门IV15b另两个输入端分别与判优与仲裁电路I15的高优先权位信息H1输 入端、低优先权位信息L1输入端连接,输出端和非门V15c输入端连接;
[0195] 非门V15c的输出端和或门XW15f的一个输入端连接;
[0196] 或非门I15d的三个输入端分别与判优与仲裁电路I15的高优先权位信息H1输 入端、设置与控制信号SCI输入端和或非门II15e的输出端连接,输出端和或门XW15f?的 另一个输入端连接;
[0197] 或非门II15e的三个输入端分别与判优与仲裁电路I15的设置与控制信号SCI 输入端、低优先权位信息L1输入端和或门XW15f的输出端连接,输出端还和非门W15h 的输入端连接;
[0198] 或门XW15f的第三个输入端与判优与仲裁电路I15的设置与控制信号SCI输 入端连接,输出端还和非门VI15g的输入端连接;
[0199] 非门VI15g的输出端与判优与仲裁电路I15的Q1输出端连接;
[0200] 非门W15h的输出端与判优与仲裁电路I15的石输出端连接;
[0201] 本实用新型之数据总线宽度不相等的双口RAM读写与仲裁控制器的判优与仲裁 电路I的真值表参见附表一。
[0202] 如图5所示,所述判优与仲裁电路II16与判优与仲裁电路I15的电路结构相同, 包括非门W16a、与非门V16b、非门IX16c、或非门III16d、或非门IV16e、或门XIX16f、非 门X16g和非门XI16h;所述判优与仲裁电路II16的高优先权位信息H2输入端与A读写端 口控制模块II的或门VI10的A端口低n位读信号RDA_11输出端连接,低优先权位信息L2 输入端与2n位系统总线的B读写端口写信号WRB线连接;Q2输出端和或门IX18的另一个 输入端连接,运输出端和与门II19的一个输入端连接;
[0203] 非门W16a的输入端与判优与仲裁电路II16的设置与控制信号SC2输入端连接, 输出端和与非门V16b的一个输入端连接;
[0204] 与非门V16b另两个输入端分别与判优与仲裁电路II16的高优先权位信息H2输 入端、低优先权位信息L2输入端连接,输出端和非门IX16c输入端连接;
[0205] 非门IX16c的输出端和或门XIX16f的一个输入端连接;
[0206] 或非门III16d的三个输入端分别与判优与仲裁电路II16的高优先权位信息H2输 入端、设置与控制信号SC2输入端和或非门IV16e的输出端连接,输出端和或门XIX16f?的 另一个输入端连接;
[0207] 或非门IV16e的三个输入端分别与判优与仲裁电路II16的设置与控制信号SC2 输入端、低优先权位信息L2输入端和或门XIX16f的输出端连接,输出端还和非门XI16h 的输入端连接;
[0208] 或门XIX16f的第三个输入端与判优与仲裁电路II16的设置与控制信号SC2输 入端连接,输出端还和非门X16g的输入端连接;
[0209] 非门X16g的输出端与判优与仲裁电路II16的Q2输出端连接;
[0210] 非门XI16h的输出端与判优与仲裁电路II16的运输出端连接;
[0211] 或门W17的第三个输入端与A读写端口控制模块II的或门VI9的A端口低n位 写信号WRA_11输出端连接,输出端分别和与门III20的一个输入端、A读写端口高n位与B 读写端口仲裁模块IV的封锁B端口读写信号BlockBWR_1输入端连接;
[0212] 或门IX18的第三个输入端与A读写端口控制模块II的或门VI10的A端口低n位 读信号RDA_11输出端连接,输出端和与门III20的另一个输入端、A读写端口高n位与B读 写端口仲裁模块IV的封锁B端口写信号BlockBW_1输入端连接;
[0213] 与门II19的输出端分别和或门X21的一个输入端、n位系统总线的A读写端口 忙信号BusyA线连接;
[0214] 与门III20的输出端与A读写端口高n位与B读写端口仲裁模块IV的B读写端口 忙信号BusyB_ll输入端连接;
[0215] 或门X21的另一个输入端与2n位系统总线的B读写端口写信号WRB线连接,输 出端分别和与非门I23的一个输入端、非门II25的输入端连接;
[0216] 或门XI22的另一个输入端与2n位系统总线的B读写端口读信号RDB线连接,输 出端和与非门I23的另一个输入端连接;
[0217] 与非门I23的输出端和或门XU24的一个输入端连接;
[0218] 或门XU24的另一输入端与n位系统总线的A读写端口读信号RDA线连接,输出端 与低n位双口RAM1的A端口读信号RDA_1输入端连接;
[0219] 非门II25的输出端和或门XIII26的一个输入端连接;
[0220] 或门XIII26的另一个输入端与n位系统总线的A读写端口写信号WRA线连接,输 出端与低n位双口RAM1的A端口写信号WRA_1输入端连接;
[0221] 上述m、n的取值范围是:n为8、16、32或64,m为2的任意整数的幂次方。
[0222] 本实用新型之数据总线宽度不相等的双口RAM读写与仲裁控制器的判优与仲裁 电路II的真值表参见附表二。
[0223] 如图6所示,所述A读写端口高n位与B读写端口仲裁模块IV包括或门XIV27、 或门XV28、与门IV29、非门III30、与门V31、D触发器32、与门VI33、与非门II34、或门 XVI35、与非门III36和或门XW37 ;
[0224] 或门XIV27的两个输入端分别与A读写端口低n位与B读写端口仲裁模块III的 地址比较器13的地址值相等AE输出端和A读写端口控制模块II的或门II5的A端口高n 位写信号WRA_21输出端连接,输出端和与门IV29的一个输入端、与非门II34的一个输入 端连接;
[0225] 或门XV28两个输入端分别与A读写端口低n位与B读写端口仲裁模块III的地 址比较器13的地址值相等AE输出端和A读写端口控制模块II的或门III6的A端口高n位 读信号RDA_21输出端连接,输出端和与门IV29的另一个输入端、与非门III36的一个输入 端连接;
[0226] 与门IV29的输出端分别和非门III30的输入端和2n位系统总线的B读写端口忙 信号BusyB_2信号线连接;
[0227] 非门III30的输出端和与门V31的一个输入端连接;
[0228] 与门V31的另一个输入端与A读写端口低n位和B读写端口仲裁模块III的与门 III20的B读写端口忙信号BusyB_ll输出端连接,输出端与D触发器32的CP信号输入端 连接;
[0229]D触发器32的D输入端与A读写端口低n位和B读写端口仲裁模块III的与门III20 的B读写端口忙信号BusyB_ll输出端连接,Q输出端和与门VI33的一个输入端连接;
[0230] 与门VI33的另一个输入端与A读写端口低n位与B读写端口仲裁模块III的与门 III20的B读写端口忙信号BusyB_ll输出端连接,输出端与2n位系统总线的B读写端口忙 信号BusyB_l线连接;
[0231] 与非门II34的另一个输入端与A读写端口低n位与B读写端口仲裁模块III的或 门W17的封锁B端口读写信号BlockBWR_1输出端连接,输出端和或门XVI35的一个输 入端连接;
[0232] 或门XVI35的另一个输入端与2n位系统总线的B读写端口读信号RDB线连接, 输出端与双口RAMI的B端口读信号RDB_1输入端连接;
[0233] 与非门III36的另外两个输入端分别与A读写端口低n位与B读写端口仲裁模块 III的或门W17的封锁B端口读写信号BlockBWR_1输出端和或门IX18的封锁B端口写信 号BlockBW_1输出端连接,输出端和或门XW37的一个输入端连接;
[0234] 或门XW37的另一个输入端与2n位系统总线的B读写端口写信号WRB线连接, 输出端与双口RAMI的B端口写信号WRB_1输入端连接;
[0235] 上述m、n的取值范围是:n为8、16、32或64,m为2的任意整数的幂次方;
[0236] 上述n位系统可以是n位微处理器应用系统或FPGA的n位应用系统;
[0237] 上述2n位系统可以是2n位微处理器应用系统或FPGA的2n位应用系统。
[0238] 附表一:数据总线宽度不相等的双口RAM读写与仲裁控制器的判优与仲裁电路I 的真值表
【权利要求】
1. 一种数据总线宽度不相等的双口RAM读写与仲裁控制器,其特征在于:该控制器包 括双口RAM(I)、A读写端口控制模块(II)、A读写端口低n位与B读写端口仲裁模块(III) 和A读与端口 _n位与B读与端口仲裁|旲块(IV); 所述数据总线宽度不相等的双口RAM读写与仲裁控制器具有n位A读写端口和2n位B读写端口,n位A读写端口以下称为A读写端口,2n位B读写端口称为B读写端口;A读写 端口与n位系统的总线连接,B读写端口与2n位系统的总线连接; 所述双口RAM(I)分别与A读写端口控制模块(II)、A读写端口低n位与B读写端口 仲裁模块(III)和A读写端口高n位与B读写端口仲裁模块(IV)连接; 所述A读写端口控制模块(II)还和A读写端口低n位与B读写端口仲裁模块(III)和A读写端口高n位与B读写端口仲裁模块(IV)连接; 所述A读写端口低n位与B读写端口仲裁模块(III)还和A读写端口高n位与B读写端 口仲裁模块(IV)连接; 所述双口RAM(I)包括低n位双口RAM(1)和高n位双口RAM(2),双口RAM(I)具 有A端口和B端口;A读写端口分时两次完成所述双口RAM(I)的A端口的1个存储单元 的2n位数据的读或写,先低n位数据的读或写,后高n位数据的读或写;B读写端口一次完 成所述双口RAM(I)的B端口的1个存储单元的2n位数据的读或写; 所述低n位双口RAM(1)的A端口写信号WRA_1输入端和A读写端口低n位与B读写 端口仲裁模块(III)连接;A端口读信号RDA_1输入端和A读写端口低n位与B读写端口仲 裁模块(III)连接;低n位双口RAM(1)的片选使能信号CA1输入端与A读写端口控制模块 (II)连接;低n位DBA数据端与A读写端口控制模块(II)连接;ABA[m: 1]地址输入端与n 位系统地址总线ABA[m:0]的第m根到第1根地址线连接; 所述高n位双口RAM(2)的A端口写信号WRA_1输入端和A读写端口低n位与B读写 端口仲裁模块(III)连接;A端口读信号RDA_1输入端和A读写端口低n位与B读写端口仲 裁模块(III)连接;高n位双口RAM(2)的片选使能信号CA2输入端与A读写端口控制模块 (II)连接;高n位DBA数据端与A读写端口控制模块(II)连接;ABA[m: 1]地址输入端与n 位系统地址总线ABA[m:0]的第m根到第1根地址线连接; 所述低n位双口RAM(1)的B端口写信号WRB_1输入端和A读写端口高n位与B读 写端口仲裁模块(IV)连接;B端口读信号RDB_1输入端和A读写端口高n位与B读写端口 仲裁模块(IV)连接;低n位双口RAM(1)的片选使能信号CB输入端与2n位系统总线片选 使能信号CB线连接;低n位DBB[n-l:0]数据端与2n位系统数据总线DBB[2n-l:0]的第 n_l根到第0根的DBB[n-1:0]数据线连接;ABB[m-1:0]地址输入端与2n位系统地址总线 ABB[m-l:0]连接; 所述高n位双口RAM(2)的B端口写信号WRB_1输入端和A读写端口高n位与B读 写端口仲裁模块(IV)连接;B端口读信号RDB_1输入端和A读写端口高n位与B读写端口 仲裁模块(IV)连接;高n位双口RAM(2)的片选使能信号CB输入端与2n位系统总线片选 使能信号CB线连接;高n位DBB[2n-l:n]数据端与2n位系统数据总线DBB[2n-l:0]的第 211-1根到第11根的088[211-1:11]数据线连接488[ 111-1:0]地址输入端与211位系统地址总 线ABB[m-1:0]连接; 所述A读写端口控制模块(II)根据n位系统地址总线的最低位ABA[0]地址线的状态 确定是对低n位双口RAM (1)的A端口还是高n位双口RAM (2)的A端口进行读或写操作 控制; 所述A读写端口低n位与B读写端口仲裁模块(HI)根据n位系统地址总线ABA[m: 1] 的地址值和2n位系统地址总线ABB[m-1:0]的地址值是否相等,如果相等,继续进行已在执 行的读写操作,封锁待执行的读写操作,并发送忙信号;如果相等且A读写端口低n位与B 读写端口的读或写信号同时发生或A读写端口低n位正在执行读或写操作,则A读写端口 低n位执行读写操作,封锁B读写端口的读写操作,并发送B读写端口忙信号BusyB_ll;如 果相等且B读写端口正在执行读或写操作,则B读写端口低n位执行读写操作,封锁A读写 端口的读写操作,并发送A读写端口忙信号BusyA; 所述A读写端口高n位与B读写端口仲裁模块(IV)在n位系统地址总线ABA [m: 1]的 地址值和2n位系统地址总线ABB [m-1:0]的地址值相等时,A读写端口高n位读或写信号 有效时,执行A读写端口高n位的读写操作,封锁B读写端口的读写操作,发送B读写端口 忙信号BusyB_l和B读写端口忙信号BusyB_2 ; 所述A读写端口低n位与B读写端口仲裁模块(HI)和A读写端口高n位与B读写端口 仲裁模块(IV)对A读写端口和B读写端口对同一存储单元的读操作不进行仲裁; 上述m、n的取值范围是:n为8、16、32或64,m为2的任意整数的幂次方。
2.如权利要求1所述的数据总线宽度不相等的双口RAM读写与仲裁控制器,其特征在 于:所述A读写端口控制模块(II)包括非门I (3)、或门I (4)、或门II (5)、或门111(6)、n 位双向三态门组I (7)、或门IV(8)、或门V (9)、或门VI( 10)、n位双向三态门组II (11);非 门I (3)的输入端与n位系统地址总线的最低位ABA[0]地址线连接,输出端和或门I (4) 的输入端连接; 或门I (4)的另一个输入端与n位系统总线的A读写端口片选使能信号CA线连接,输 出端分别和或门II (5)的一个输入端、或门111(6)的一个输入端、高n位双口RAM (2)的片 选使能信号CA2输入端连接; 或门II (5)的另一个输入端与n位系统总线的A读写端口写信号WRA线连接,输出端 分别与n位双向三态门组I (7)的一个输入端、A读写端口高n位与B读写端口仲裁模块 (IV)的A端口高n位写信号WRA_21输入端连接; 或门III (6)的另一个输入端与n位系统总线的A读写端口读信号RDA线连接,输出端 分别与n位双向三态门组I (7)的另一个输入端、A读写端口高n位与B读写端口仲裁模块 (IV)的A端口高n位读信号RDA_21输入端连接; n位双向三态门组I (7)的第三个输入端与n位系统数据总线DBA[n-l:0]连接,输出 端与高n位双口RAM (2)的高n位DBA数据端连接; 或门IV (8)的两个输入端分别与n位系统地址总线的最低位ABA[0]地址线、A读写端 口片选使能信号CA线连接,输出端分别和或门V (9)的一个输入端、或门VI(10)的一个输 入端、低n位双口RAM (1)的片选使能信号CA1输入端连接; 或门V (9)的另一个输入端与n位系统总线的A读写端口写信号WRA线连接,输出端 分别与n位双向三态门组II (11)的一个输入端、A读写端口低n位与B读写端口仲裁模块 (HI)的A端口低n位写信号WRA_11输入端连接; 或门VI (10)的另一个输入端与n位系统总线的A读写端口读信号RDA线连接,输出端 分别与n位双向三态门组II(11)的另一个输入端、A读写端口低n位与B读写端口仲裁模 块(III)的A端口低n位读信号RDA_11输入端连接; n位双向三态门组II(11)的第三个输入端与n位系统数据总线DBA[n-l:0]连接,输 出端与低n位双口RAM(1)的低n位DBA数据端连接; 上述n的取值范围是:n为8、16、32或64。
3.如权利要求1所述的数据总线宽度不相等的双口RAM读写与仲裁控制器,其特征在 于:所述A读写端口低n位与B读写端口仲裁模块(III)包括或门W( 12)、地址比较器(13)、 与门I(14)、判优与仲裁电路I(15)、判优与仲裁电路II(16)、或门VDK17)、或门IX(18)、 与门II(19)、与门111(20)、或门X(21)、或门XK22)、与非门I(23)、或门XIK24)、非门II (25)、或门XIIK26);或门W(12)的两个输入端分别与n位系统总线的A读写端口片选使 能信号CA线、B读写端口片选使能信号CB线连接,输出端与地址比较器(13)的一个输入端 连接; 地址比较器(13)的另两个输入端分别与n位系统地址总线ABA[m: 1]、2n位系统地址 总线ABB[m-l:0]连接;地址值相等AE输出端分别与判优与仲裁电路I(15)的设置与控制 信号SCI输入端、或门VDK17)的一个输入端、或门IX(18)的一输入端、判优与仲裁电路II (16)的设置与控制信号SC2输入端连接; 与门I(14)的两个输入端分别与2n位系统总线的B读写端口读信号RDB线和B读写 端口写信号WRB线连接,输出端与判优与仲裁电路I(15)的低优先权位信息L1输入端连 接; 所述判优与仲裁电路I(15)包括非门IV(15a)、与非门IV(15b)、非门V( 15c)、或非 门I(15d)、或非门II(15e)、或门XW(15f)、非门VI(15g)、非门W(15h);所述判优与仲 裁电路I(15)的高优先权位信息H1输入端与A读写端口控制模块(II)的或门V(9)的 A端口低n位写信号WRA_11输出端连接,Q1输出端和或门VDK17)的一个输入端连接, 瓦输出端分别和与门II(19)的一个输入端、或门XK22)的一个输入端连接; 非门IV(15a)的输入端与判优与仲裁电路I(15)的设置与控制信号SCI输入端连接, 输出端和与非门IV(15b)的一个输入端连接; 与非门IV(15b)另两个输入端分别与判优与仲裁电路I(15)的高优先权位信息H1输 入端、低优先权位信息L1输入端连接,输出端和非门V(15c)输入端连接; 非门V(15c)的输出端和或门XW(15f)的一个输入端连接; 或非门I(15d)的三个输入端分别与判优与仲裁电路I(15)的高优先权位信息H1 输入端、设置与控制信号SCI输入端和或非门II(15e)的输出端连接,输出端和或门XW (15f)的另一个输入端连接; 或非门II(15e)的三个输入端分别与判优与仲裁电路I(15)的设置与控制信号SCI输入端、低优先权位信息L1输入端和或门XW(15f)的输出端连接,输出端还和非门W (15h)的输入端连接; 或门XVDI(15f)的第三个输入端与判优与仲裁电路I(15)的设置与控制信号SCI输入 端连接,输出端还和非门VI(15g)的输入端连接; 非门VI(15g)的输出端与判优与仲裁电路I(15)的Q1输出端连接; 非门W(15h)的输出端与判优与仲裁电路I(15)的占输出端连接; 所述判优与仲裁电路II(16)与判优与仲裁电路I(15)的电路结构相同,包括非门W(16&)、与非门乂(1613)、非门:0((16(3)、或非门111(16(1)、或非门1¥(16 6)、或门父:0((16〇、非 门父(168)、非门)(1(1611) ;所述判优与仲裁电路11(16)的高优先权位信息112输入端与八 读写端口控制模块(II)的或门VI(10 )的A端口低n位读信号RDA_11输出端连接,低优先 权位信息L2输入端与2n位系统总线的B读写端口写信号WRB线连接;Q2输出端和或门IX (18)的另一个输入端连接,运输出端和与门II(19)的一个输入端连接; 非门W(16a)的输入端与判优与仲裁电路II(16)的设置与控制信号SC2输入端连接, 输出端和与非门V( 16b)的一个输入端连接; 与非门V(16b)另两个输入端分别与判优与仲裁电路II(16)的高优先权位信息H2输 入端、低优先权位信息L2输入端连接,输出端和非门IX(16c)输入端连接; 非门IX(16c)的输出端和或门XIX(16f)的一个输入端连接; 或非门III(16d)的三个输入端分别与判优与仲裁电路II(16)的高优先权位信息H2 输入端、设置与控制信号SC2输入端和或非门IV(16e)的输出端连接,输出端和或门XIX (16f)的另一个输入端连接; 或非门IV(16e)的三个输入端分别与判优与仲裁电路II(16)的设置与控制信号SC2 输入端、低优先权位信息L2输入端和或门XIX(16f)的输出端连接,输出端还和非门XI (16h)的输入端连接; 或门XIX(16f)的第三个输入端与判优与仲裁电路II(16)的设置与控制信号SC2输入 端连接,输出端还和非门X(16g)的输入端连接; 非门X(16g)的输出端与判优与仲裁电路II(16)的Q2输出端连接; 非门XI(16h)的输出端与判优与仲裁电路II(16)的运输出端连接; 或门VDK17)的第三个输入端与A读写端口控制模块(II)的或门VK9)的A端口低n位写信号WRA_11输出端连接,输出端分别和与门111(20)的一个输入端、A读写端口高n位 与B读写端口仲裁模块(IV)的封锁B端口读写信号BlockBWR_1输入端连接; 或门IX(18)的第三个输入端与A读写端口控制模块(II)的或门VK10)的A端口低n位读信号RDA_11输出端连接,输出端和与门111(20)的另一个输入端、A读写端口高n位与 B读写端口仲裁模块(IV)的封锁B端口写信号BlockBW_1输入端连接; 与门II(19)的输出端分别和或门X(21)的一个输入端、n位系统总线的A读写端口忙 信号BusyA线连接; 与门III(20)的输出端与A读写端口高n位与B读写端口仲裁模块(IV)的B读写端口 忙信号BusyB_ll输入端连接; 或门X(21)的另一个输入端与2n位系统总线的B读写端口写信号WRB线连接,输出 端分别和与非门I(23)的一个输入端、非门II(25)的输入端连接; 或门XI(22)的另一个输入端与2n位系统总线的B读写端口读信号RDB线连接,输出 端和与非门I(23)的另一个输入端连接; 与非门I(23)的输出端和或门XIK24)的一个输入端连接; 或门XIK24)的另一输入端与n位系统总线的A读写端口读信号RDA线连接,输出端与 低n位双口RAM(1)的A端口读信号RDA_1输入端连接; 非门II(25)的输出端和或门XIIK26)的一个输入端连接; 或门XIIK26)的另一个输入端与n位系统总线的A读写端口写信号WRA线连接,输出 端与低n位双口RAM(1)的A端口写信号WRA_1输入端连接; 上述m、n的取值范围是:n为8、16、32或64,m为2的任意整数的幂次方。
4.如权利要求1所述的数据总线宽度不相等的双口RAM读写与仲裁控制器,其特征在 于:所述A读写端口高n位与B读写端口仲裁模块(IV)包括或门XIV(27)、或门XV(28)、 与门IV(29)、非门111(30)、与门V(31)、D触发器(32)、与门VK33)、与非门II(34)、或门 XVI(35)、与非门III(36)、或门XW(37);或门XIV(27)的两个输入端分别与A读写端口 低n位与B读写端口仲裁模块(III)的地址比较器(13)的地址值相等AE输出端和A读写端 口控制模块(II)的或门II(5 )的A端口高n位写信号WRA_21输出端连接,输出端和与门IV (29)的一个输入端、与非门II(34)的一个输入端连接; 或门XV(28)两个输入端分别与A读写端口低n位与B读写端口仲裁模块(III)的地 址比较器(13)的地址值相等AE输出端和A读写端口控制模块(II)的或门III(6)的A端口 高n位读信号RDA_21输出端连接,输出端和与门IV(29 )的另一个输入端、与非门III(36 )的 一个输入端连接; 与门IV(29)的输出端分别和非门111(30)的输入端和2n位系统总线的B读写端口忙信 号BusyB_2信号线连接; 非门111(30)的输出端和与门V(31)的一个输入端连接; 与门V(31)的另一个输入端与A读写端口低n位和B读写端口仲裁模块(HI)的与门 111(20)的8读写端口忙信号仙^8_11输出端连接,输出端与0触发器(32)的0?信号输入 端连接; D触发器(32)的D输入端与A读写端口低n位和B读写端口仲裁模块(HI)的与门III(20)的B读写端口忙信号BusyB_ll输出端连接,Q输出端和与门VK33)的一个输入端连 接; 与门VK33)的另一个输入端与A读写端口低n位与B读写端口仲裁模块(HI)的与门 111(20)的B读写端口忙信号BusyB_ll输出端连接,输出端与2n位系统总线的B读写端口 忙信号BusyB_l线连接; 与非门II(34)的另一个输入端与A读写端口低n位与B读写端口仲裁模块(III)的或 门VDK17)的封锁B端口读写信号BlockBWR_1输出端连接,输出端和或门XVI(35)的一个 输入端连接; 或门XVI(35)的另一个输入端与2n位系统总线的B读写端口读信号RDB线连接,输 出端与双口RAM(I)的B端口读信号RDB_1输入端连接; 与非门III(36)的另外两个输入端分别与A读写端口低n位与B读写端口仲裁模块(III) 的或门VDK17)的封锁B端口读写信号BlockBWR_1输出端和或门IX(18)的封锁B端口写 信号BlockBW_1输出端连接,输出端和或门XW(37)的一个输入端连接; 或门XW(37)的另一个输入端与2n位系统总线的B读写端口写信号WRB线连接,输 出端与双口RAM(I)的B端口写信号WRB_1输入端连接; 上述m、n的取值范围是:n为8、16、32或64,m为2的任意整数的幂次方; 上述n位系统可以是n位微处理器应用系统或FPGA的n位应用系统; 上述2n位系统可以是2n位微处理器应用系统或FPGA的2n位应用系统。
【文档编号】G06F13/18GK204203956SQ201420655650
【公开日】2015年3月11日 申请日期:2014年11月5日 优先权日:2014年11月5日
【发明者】余玲, 蔡启仲, 李克俭, 谢友慧, 梁锡铅, 姚江云, 梁喜幸 申请人:广西科技大学鹿山学院, 广西科技大学