一种适用于fpga的qdriv超高速存储控制器的制造方法

文档序号:9579007阅读:626来源:国知局
一种适用于fpga的qdr iv超高速存储控制器的制造方法
【技术领域】
[0001 ] 本发明涉及高速数据传输技术及FPGA应用开发,尤其涉及一种适用于FPGA的QDR IV超高速存储控制器。
【背景技术】
[0002] QDR IV是第4代四倍数据速率存储器的英文简称,它具有极高的随机传输速率, 可用于雷达信号处理、网络路由交换等许多场合中。FPGA则是现场可编程门阵列的英文简 称,在许多信号处理平台中承担着运算核心的功能。
[0003] 为了提升存储能力,FPGA设计中通常需要采用QDR IV作为片外大容量存储器,然 而由于复杂的内部结构和走线策略,FPGA内部逻辑的工作频率难以得到实质改善,这导致 许多FPGA系统与外围芯片的工作频率存在较大差异,难以充分发挥外围芯片的全部性能。 目前,虽然有一些设计实现了基于FPGA的QDR、QDR II读写控制器,但QDR、QDR II等均属 于QDR的早期产品,其工作频率普遍较低且读写时序简单,相应的FPGA设计难度较小。而 当QDR存储器工作速度超过200MHz后,基于现有技术的FPGA设计难度就大大增加,难以 保证设计的静态时序收敛及不同工作温度下采样时钟相位的准确性,进而导致读写出现错 误,许多设计采用人工测试多个时钟策略的方案来修正该问题,但不具有普适性,而且大量 的人工调试也极易出现各种问题。
[0004] 综上所述,目前针对最新的QDR IV存储器,由于其工作频率高、访问时序复杂,尚 未有相应的FPGA超高速读写控制器解决方案。

【发明内容】

[0005] 针对现有相关技术在利用FPGA完成QDR IV存储控制器设计时难以达到高的工 作频率及保证采样时钟相位的稳定性等缺陷,本发明要解决的技术问题在于提供一种完整 的QDR IV超高速存储控制器实现策略,通过合理的时钟树设计和精确的路径延时控制策 略,使整个控制器与QDR IV芯片的最高工作频率达到500MHz,等效随机传输速率达到2GT/ s,支持与目前市面上所有QDR IV芯片的无缝连接,而且在FPGA全工作温度范围下均有足 够的时序裕量,无需人工搜索最佳相位即可保证数据采样的正确性。本发明适用于各种以 FPGA为处理核心且需要极高吞吐量的数字信号处理系统中。
[0006] 为解决上述技术问题,本发明采用以下技术方案: 一种适用于FPGA的QDR IV超高速存储控制器,其特征在于:由时钟树、全局复位模块、 高速输入输出接口模块、用户低速读写访问模块和主控模块组成,其中: 时钟树,接收外部输入的基准频率时钟及QDR IV芯片输出的数据随路时钟,并完成时 钟再生及倍频处理,再生时钟与输入时钟具有确知的相位关系,时钟树输出的时钟信号供 全局复位模块、高速输入输出接口模块、用户低速读写访问模块和主控模块使用。
[0007] 全局复位模块,接收外部输入的异步复位信号,经过同步处理后输出,作为复位主 控模块和高速输入输出接口模块内部必要寄存器的全局复位信号。
[0008] 高速输入输出接口模块,接收QDR IV芯片高速信号并转换为低速并行信号,并送 至主控模块和用户低速读写访问模块;输出QDR IV芯片的工作时钟;接收用户低速读写访 问模块低速并行信号并转换为高速信号输出至QDR IV芯片。
[0009] 用户低速读写访问模块,将主控模块产生的测试数据或控制器外部端口数据送至 高速输入输出接口模块;将由高速输入输出接口模块输出的QDR IV回读低速并行数据经 寄存后送至主控模块和控制器的外部端口。
[0010] 主控模块,实现QDR IV芯片复位模式、读写测试模式以及正常工作模式的切换; 产生测试信号,并经用户低速读写访问模块和高速输入输出接口模块完成对QDR IV芯片的 写测试操作;在读写测试模式下验证QDR IV芯片写入数据和回读数据是否一致,在完全一 致时切换至正常工作模式,通过用户低速读写访问模块接收控制器外部读写端口信号,完 成对QDR IV芯片高速读写操作。
[0011] 所述全局复位模块,包括相互级联的第一寄存器、第二寄存器和第三寄存器,用于 将外部输入的异步复位信号转换为FPGA本地时钟域下的同步复位信号,复位主控模块和 高速输入输出接口模块内部必要的寄存器和可编程资源。
[0012] 所述高速输入输出接口模块,包括输入路径延时器阵列、串并转换器阵列、滑动移 位器阵列I、滑动移位器阵列II、并串转换器阵列I~并串转换器阵列V、输出路径延时器 阵列I~输出路径延时器阵列III;其中: 输入路径延时器阵列,用于对从QDR IV芯片读取得到的数据施加额外延时,将边沿对 齐式样修正为中心对齐式样,符合FPGA高速串并转换器阵列的输入时序要求,然后输出至 串并转换器阵列。
[0013] 串并转换器阵列,用于接收经输入路径延时器阵列转换输出的QDR IV芯片高速信 号,串并转换为低速信号后输出至滑动移动器阵列I。
[0014]滑动移位器阵列I,接收主控模块的移位控制信号,对串并转换器阵列的输出数 据进行重排序,以实现数据的正确对齐。
[0015]并串转换器阵列I,用于输出QDR IV芯片工作时钟及数据输入时钟信号。
[0016] 并串转换器阵列II,用于输出QDR IV芯片工作时钟及数据输入时钟信号的互补反 相信号。
[0017] 并串转换器阵列III,用于将来自用户低速读写访问模块的读写控制信号转换为高 速信号,经输出路径延时器阵列I延时后输出至QDR IV芯片。
[0018] 滑动移位器阵列II,用于将来自用户低速读写访问模块的写数据进行重排序,并 依次经并串转换器阵列IV转换为高速信号、经输出路径延时器阵列II延时后输出至QDR IV 芯片,最终实现高速时钟域下的写数据比写地址及控制信号延迟5个时钟周期。
[0019] 并串转换器阵列IV,用于将滑动移位器阵列II输出的写数据转换为高速信号,并 经输出路径延时器阵列II延时后输出至QDRIV芯片。
[0020] 输出路径延时器阵列II,用于对并串转换器阵列IV输出的高速信号进行延时,以 符合QDR IV芯片的时序要求。
[0021] 并串转换器阵列V,用于将来自用户低速读写访问模块的读写地址转换为高速信 号,经输出路径延时器阵列III延时后输出至QDR IV芯片。
[0022] 输出路径延时器阵列III,用于对并串转换器阵列V输出的高速信号进行延时,以 符合QDR IV芯片的时序要求。
[0023] 所述滑动移位器阵列I和滑动移位器阵列II中滑动移位器输入信号包括8位比 特数据DIN,工作时钟信号CLK,以及3位比特数据选择端口 SEL信号;DIN经过D寄存器寄 存后输出得到DIN_dl,DIN_dl相对DIN有一个CLK时钟周期的延时,然后将信号DIN和 DIN_dl经过位拼接得到新的16位比特宽度变量,然后由8个重排器分别从中顺序挑出8比 特数据,这8个重排器的输出同时送到8选1数据选择器,由数据选择器数据选择端口 SEL 信号的值决定将哪一组重排器的数据输出;滑动移位器阵列I中数据选择器的数据选择端 口 SEL信号由主控模块产生且可变,滑动移位器阵列II中数据选择器的数据选择端口 SEL 信号则固定接3位二进制数101,使低速写数据比写地址及控制信号错位5个比特,经并串 转换后达到高速时钟域下输出相比输入延迟5个时钟周期的目的。
[0024] 所述用户低速读写访问模块,包括数据选择器阵列I ~数据选择器阵列III,以及 寄存器阵列I ~寄存器阵列IV ;其中: 数据选择器阵列I,接收主控模块的数据选择信号,将控制器外部的写数据或者主控 模块的测试读写数据输出至寄存器阵列I。
[0025] 数据选择器阵列II,接收主控模块的数据选择信号,将控制器外部的写地址阵列、 读地址阵列,或者主控模块的测试读地址阵列输出至寄存器阵列II。
[0026] 数据选择器阵列III,接收主控模块的数据选择信号,将控制器外部的写使能信号、 读使能信号,或者主控模块的测试写使能信号、读使能信号输出至寄存器阵列III。
[0027] 寄存器阵列I ~寄存器阵列III,用于寄存数据选择器阵列I ~数据选择器阵列III 输出的信号,并经高速输入输出接口模块发送至QDR IV芯片的读写端口。
[0028] 寄存器阵列IV,用于将高速输入输出接口模块输出的QDR IV芯片回读数据寄存后 送至主控模块和控制器外部端口。
[0029] 当主控模块在读写测试模式下时,将主控模块产生的测试数据利用数据选择器阵 列I ~数据选择器阵列III,寄存器阵列I ~寄存器阵列III送至高速输入输出接口模块并最 终到达QDR IV芯片的读写端口;当主控模块在正常工作模式下时,则将控制器外部读写端 口信号利用数据选择器阵列I ~数据选择器阵列III,寄存器阵列I ~寄存器阵列III送至高 速输入输出接口模块并最终到达QDR IV芯片的读写端口,同时还将由高速输入输出接口模 块输出的QDR IV芯片回读数据经寄存器阵列IV寄存后送至主控模块和控制器外部端口。
[0030] 所述主控模块包括复位时序产生器、伪随机数产生器、读写测试模块、滑动移位数 据记录器、主控状态机;其中: 复位时序产生器,由主控状态机使能并产生QDR IV芯片所需的复位时序。
[0031] 伪随机数产生器,用于产生伪随机数据,经读写测试模块输出测试读写数据。
[0032] 滑动移位数据记录器,记录高速输入输出接口模块的滑动移位器的移位索引值, 输出移位控制信号至高速输入输出接口模块的滑动移位器阵列I中数据选择器的数据选 择立而口。
[0033] 读写测试模块,接收伪随机数产生器输出的伪随机数据并输出测试读写数据,产 生相应的测试写地址、测试写使能信号,并经用户低速读写访问模块和高速输入输出接口 模块最终完成对QDR IV芯片的写测试操作;利用伪随机数产生器输出的数据进行写数据 与回读数据的比对,查看是否有错误,调节滑动移位数据记录器以更新高速输入输出接口 模块的滑动移位器阵列I中数据选择器的数据选择端口。
[0034] 主控状态机,控制复位时序产生器、伪随机数产生器、读写测试模块、滑动移位数 据记录器有序工作,通过状态机实现QDR IV芯片复位模式、读写测试模式以及正常工作模 式的切换,在读写测试模式下,由主控模块占用QDR IV芯片的读写端口,通过伪随机数产生 器写入QDR IV芯片并回读,然后逐步调节滑动移位数据记录器以更新高速输入输出接口模 块的滑动移位器阵列I中数据选择器的数据选择端口,最终当写入数据与回读数据完全相 同时即
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1