高速数据采集处理中的FPGA
通常DDRII或者SDRAM效率受限与其内部的自动刷新和换行操作,相比较而言,自动定时刷新占用较长时间。所以上述方案 对于SDRAM或者DDRII的控制器效率要求比较高。调用厂家自带的控制器软核,通常可配置性强,但经过小编亲测,效率比较低。以调用ALTERA DDRII IP CORE为例,经过仿真以及在逻辑分析仪下的对比,当BL=4时,写一个数据的时钟周期大概要5-8个时钟周期,读数据的时钟周期更长,需要8-10个时钟周期。在全速模式下,以150M的频率为例,效率大概按上述方案,效率大概只有十分之一,效率很低。
为了项目进度,小编亲自花时间写了一个SDRAM控制器,时钟频率为125M采用高效的流水线的方式,写数据指令只需一个时钟周期,读数据周期也只需要CL长度的时间,比调用厂家的IP效率高出很多。在上述方案下,完全可以胜任。只是限于内存大小问题,后期肯定要用DDRII,所以为了项目需求,高效的DDRIISDRAM控制器还得需要自己开发。当然,所有的前提必须满足FPGA时序要求。
对于ALTERA DDRII SDRAM IP CORE,在这里小编强调一下,在使用时一定要注意LOCAL_READY信号,此外,此控制器读写请求不能同时有效。在对不同地址进行读操作时,一定要注意输出数据有效时数据对应的位置。建议在使用之前一定要看官方文档资料(虽然有些地方不详细)。有能力的朋友最好自己写控制器,这样时序好把握,效率会提高很多。 高速数据采集处理中的FPGA
页:
[1]