在FPGA中实现ZBT读写的时序稳定度的系统及方法技术方案

技术编号:11758963 阅读:294 留言:0更新日期:2015-07-22 12:30
本发明专利技术公开了在FPGA中实现ZBT读写的时序稳定度的系统及方法,所述系统包括ZBT SRAM读写控制器,ZBT SRAM读写控制器包括:时钟树、主控状态机、全局复位模块、伪随机数产生器、时钟相位调整模块、读写测试模块、ZBT读操作控制器、ZBT写操作控制器及输入输出延时控制器。本发明专利技术可以确保ZBT读写时序稳定,FPGA开发工程师可以将主要精力放在产品的功能调试上,而不必再通过费时费力的增量编译、手工布局布线、区域反标注、甚至盲目调整输出时钟相位的方式等技巧实现。

【技术实现步骤摘要】
在FPGA中实现ZBT读写的时序稳定度的系统及方法
本专利技术属于集成电路领域,具体涉及一种在FPGA中实现ZBT读写的时序稳定度的系统及方法。
技术介绍
FPGA是现场可编程门阵列的英文简称,它内部包含了大量的可编程资源,主要包括查找表LUT、寄存器、存储器、硬件乘法器、PLL等。FPGA芯片内部的可编程资源可以实现并行工作,因而具有极其强大的处理能力,其运算能力可达传统CPU的数百倍甚至更高。也正因此,在许多信号处理平台中,FPGA承担着运算与调度核心的功能,其主要开发手段则依赖于硬件描述语言(以下简称HDL)。在许多场合下,由于FPGA片内存储资源有限,必须为其配置大容量外存储器。这其中,静态存储器SRAM具有功耗低、速度快、无需动态刷新等优点,而ZBTSRAM则是高速SRAM的最典型产品。它消除了传统SRAM的总线等待周期,在读/写状态下总线利用率均可以达到100%。目前,单片ZBTSRAM的典型存储容量可达72Mbit,访问速度最高可达250MHz。当工作频率较低时,在FPGA中实现ZBT读写控制器难度较小,只需要控制数据总线比地址总线延迟2个时钟周期即可,然而。随着器件工作频率的不断提高,尤其是在频率突破100MHz以后,时钟周期已缩短至10ns以下,稳定的读写时间窗口大大减少,传统的设计手段已无法保证设计的稳定性。而FPGA设计中的布局布线延时信息事先根本无法预估,甚至设计过程中的代码微量更改都会引起时序特性的显著变化进而使ZBT读写操作失败,最终导致FPGA开发工作返工并严重影响产品开发进度。
技术实现思路
本专利技术的目的之一是为解决上述难题,提供一种提高ZBT读写的时序稳定度及工作频率的在FPGA中实现ZBT读写的时序稳定度的系统及方法。本专利技术提供一种在FPGA中实现ZBT读写的时序稳定度的系统,包括ZBTSRAM读写控制器:所述ZBTSRAM读写控制器外接ZBTSRAM芯片;所述ZBTSRAM读写控制器包括:时钟树、主控状态机、全局复位模块、伪随机数产生器、时钟相位调整模块、读写测试模块、ZBT读操作控制器、ZBT写操作控制器及输入输出延时控制器;所述ZBTSRAM芯片包括第一ZBTSRAM芯片及第二ZBTSRAM芯片;所述输入输出延时控制器包括第一输入输出延时控制器及第二输入输出延时控制器;所述时钟树连至所述主控状态机、全局复位模块、伪随机数产生器、时钟相位调整模块、ZBT读操作控制器及ZBT写操作控制器;所述主控状态机连接所述第一输入输出延时控制器、第二输入输出延时控制器、伪随机数产生器、读写测试模块及ZBT读操作控制器;所述伪随机数产生器与所述ZBT写操作控制器连接;所述读写测试模块连接所述ZBT读操作控制器及ZBT写操作控制器;所述第一输入输出延时控制器用于外接第一ZBTSRAM芯片,第二输入输出延时控制器用于外接第二ZBTSRAM芯片。进一步的:所述时钟树包括第一时钟管理器、第二时钟管理器及第三时钟管理器;所述第一时钟管理器、第二时钟管理器及第三时钟管理器内部均包括一个锁相环电路PLL;外部输入时钟经过缓冲单元后进入第一时钟管理器,并输出4路工作时钟,包括第一输出时钟、第二输出时钟、第三输出时钟及第四输出时钟;所述第二时钟管理器和第三时钟管理器的输出相位均可以通过控制端口使其输出时钟相对输入时钟的相位超前或滞后;所述第一输出时钟经缓冲后直接输出供FPGA内部逻辑使用,所述第四输出时钟用于实现PLL时钟反馈,所述第二输出时钟及第三输出时钟经过缓冲后分别进入独立的所述第二时钟管理器及第三时钟管理器;然后再次经过缓冲后输出至FPGA引脚,并经过PCB走线分别送至所述第一ZBTSRAM芯片及第二ZBTSRAM芯片的CLK端。进一步的,所述时钟相位调整模块用于调整第二时钟管理器及第三时钟管理器的输出时钟相位,对外接口信号分别是工作时钟PSCLK、时钟相位调整功能使能信号PSEN、用于代表是减少还是增加相位步进的PSINCDEC及相位步进调整完成指示信号PSDONE。进一步的,所述全局复位模块设有相互级联的第一寄存器、第二寄存器及第三寄存器;所述全局复位模块用于实现复位信号的同步化,然后经过全局走线资源成为所有寄存器的复位信号。进一步的,所述伪随机数产生器用于产生ZBT读写测试数据,所述伪随机数产生器包括基于M序列的伪随机数发生器。进一步的,所述读写测试模块用于进行读写错误统计,并将测试结果记录至6位宽的2进制向量err_array的最低位,同时err_array左移一位,然后由所述主控状态机控制所述时钟相位调整模块进行调整并置ZBT工作时钟至最佳相位;所述读写测试模块的对外输入接口可用于接收:所述时钟树的工作时钟、所述全局复位模块的复位信号和所述主控状态机的使能模块;所述读写测试模块可向所述ZBT写操作控制器输出21比特宽度的伪随机数的信号。进一步的,所述ZBT读操作控制器用于将外部模块输入的读使能及读地址进行多级寄存,同时将所述ZBTSRAM芯片输出的数据寄存至FPGA工作时钟域并向外部模块输出;所述ZBT写操作控制器用于将外部模块输入的写地址、写使能及写数据经所述第一寄存器寄存一级后再输出至所述ZBTSRAM芯片。进一步的,所述输入输出延时控制器的工作时钟为200MHz,最大延时量为32个单位步进,延时量大于4ns。进一步的,所述主控状态机用于对各个子模块的使能信号,同时接收各子模块的状态指示信号,并依此决定状态机的跳转。本专利技术还提供一种在FPGA中实现ZBT读写的时序稳定度的方法,包括如下步骤:S1、系统上电后,产生全局复位信号,复位所有寄存器和状态机;S2、禁用第一ZBTSRAM芯片及第二ZBTSRAM芯片输出使能,置第一ZBTSRAM芯片及第二ZBTSRAM芯片写使能有效,初始化所述伪随机数产生器的随机种子,并将伪随机数产生器输出数据连续写入第一ZBTSRAM芯片及第二ZBTSRAM芯片中的每一个地址;S3、禁用第一ZBTSRAM芯片及第二ZBTSRAM芯片写使能,并置第一ZBTSRAM芯片及第二ZBTSRAM芯片输出使能有效,开始回读ZBT数据,同时再次初始化伪随机数种子,将每一个地址回读得到的ZBT数据与伪随机数产生器输出数据比较;S4、如果所述步骤S3中二者比较数据不完全相同,证明读写ZBTSRAM中发生了时序违反情况进而导致读写错误,由时钟相位调整模块对ZBT工作时钟进行相位调整,每次相位调整步进约10~20度;S5、如果所属步骤S3中二者比较数据完全相同,证明上一轮ZBT读写时序正常,继续进行相位调整,并继续测试读写是否有误,在连续6次以上调整ZBT工作时钟相位均读写无误时,证实已经找出覆盖整个合法时序裕量窗口的位置,再将输出时钟相位反相调整3次,以获得最大的时序裕量;S6、在时钟相位调整完毕后,即可开始正常的ZBT读写操作。本专利技术的有益效果在于,本专利技术提供的在FPGA中实现ZBT读写的时序稳定度的系统及方法利用M序列发生器构建伪随机数发生器,并以此为测试数据源,为控制器增加了随机读写测试功能;使能了FPGA内部时钟管理模块的动态相位高速功能,通过遍历所有相位的方式,找出最佳的数据采样时刻,进而保证了ZBT读写时序的稳定性,而且不再受代码调试、修改、以及高低本文档来自技高网...
在FPGA中实现ZBT读写的时序稳定度的系统及方法

【技术保护点】
在FPGA中实现ZBT读写的时序稳定度的系统,包括ZBT SRAM读写控制器,其特征在于:所述ZBT SRAM读写控制器外接ZBT SRAM芯片;所述ZBT SRAM读写控制器包括:时钟树、主控状态机、全局复位模块、伪随机数产生器、时钟相位调整模块、读写测试模块、ZBT读操作控制器、ZBT写操作控制器及输入输出延时控制器;所述ZBT SRAM芯片包括第一ZBT SRAM芯片及第二ZBT SRAM芯片;所述输入输出延时控制器包括第一输入输出延时控制器及第二输入输出延时控制器;所述时钟树连至所述主控状态机、全局复位模块、伪随机数产生器、时钟相位调整模块、ZBT读操作控制器及ZBT写操作控制器;所述主控状态机连接所述第一输入输出延时控制器、第二输入输出延时控制器、伪随机数产生器、读写测试模块及ZBT读操作控制器;所述伪随机数产生器与所述ZBT写操作控制器连接;所述读写测试模块连接所述ZBT读操作控制器及ZBT写操作控制器;所述第一输入输出延时控制器用于外接所述第一ZBT SRAM芯片,所述第二输入输出延时控制器用于外接所述第二ZBT SRAM芯片。

【技术特征摘要】
1.在FPGA中实现ZBT读写的时序稳定度的系统,包括ZBTSRAM读写控制器,其特征在于:所述ZBTSRAM读写控制器外接ZBTSRAM芯片;所述ZBTSRAM读写控制器包括:时钟树、主控状态机、全局复位模块、伪随机数产生器、时钟相位调整模块、读写测试模块、ZBT读操作控制器、ZBT写操作控制器及输入输出延时控制器;所述ZBTSRAM芯片包括第一ZBTSRAM芯片及第二ZBTSRAM芯片;所述输入输出延时控制器包括第一输入输出延时控制器及第二输入输出延时控制器;所述时钟树连至所述主控状态机、全局复位模块、伪随机数产生器、时钟相位调整模块、ZBT读操作控制器及ZBT写操作控制器;所述主控状态机连接所述第一输入输出延时控制器、第二输入输出延时控制器、伪随机数产生器、读写测试模块及ZBT读操作控制器;所述伪随机数产生器与所述ZBT写操作控制器连接;所述读写测试模块连接所述ZBT读操作控制器及ZBT写操作控制器;所述第一输入输出延时控制器用于外接所述第一ZBTSRAM芯片,所述第二输入输出延时控制器用于外接所述第二ZBTSRAM芯片。2.如权利要求1所述的在FPGA中实现ZBT读写的时序稳定度的系统,其特征在于:所述时钟树包括第一时钟管理器、第二时钟管理器及第三时钟管理器;所述第一时钟管理器、第二时钟管理器及第三时钟管理器内部均包括一个锁相环电路PLL;外部输入时钟经过缓冲单元后进入第一时钟管理器,并输出4路工作时钟,包括第一输出时钟、第二输出时钟、第三输出时钟及第四输出时钟;所述第二时钟管理器和第三时钟管理器的输出相位均通过控制端口使其输出时钟相对输入时钟的相位超前或滞后;所述第一输出时钟经缓冲后直接输出供FPGA内部逻辑使用,所述第四输出时钟用于实现PLL时钟反馈,所述第二输出时钟及第三输出时钟经过缓冲后分别进入独立的所述第二时钟管理器及第三时钟管理器;然后再次经过缓冲后输出至FPGA引脚,并经过PCB走线分别送至所述第一ZBTSRAM芯片及第二ZBTSRAM芯片的CLK端。3.如权利要求2所述的在FPGA中实现ZBT读写的时序稳定度的系统,其特征在于,所述时钟相位调整模块用于调整所述第二时钟管理器及第三时钟管理器的输出时钟相位,对外接口信号分别是工作时钟PSCLK、时钟相位调整功能使能信号PSEN、用于代表是减少还是增加相位步进的PSINCDEC及相位步进调整完成指示信号PSDONE。4.如权利要求1所述的在FPGA中实现ZBT读写的时序稳定度的系统,其特征在于,所述全局复位模块设有相互级联的第一寄存器、第二寄存器及第三寄存器;所述全局复位模块用于实现复位信号的同步化,然后经过全局走线资源成为所有寄存器的复位信号。5.如权利要求1所述的在FPGA中实现ZBT读写的时序稳定度的系统,其特征在于,所述伪随机数产生器用于产生ZBT读写测试数据,所述伪随机数产生器包...

【专利技术属性】
技术研发人员:王鹏涂友超陈新武张晓丽孙秋菊钟莉娟黄文霞
申请(专利权)人:信阳师范学院王鹏
类型:发明
国别省市:河南;41

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

1