在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 10016|回复: 9

[求助] CycloneIII 器件实现DDR接口控制中,关于引脚锁定时显示芯片bank区报错的疑问。

[复制链接]
发表于 2010-7-27 16:04:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
请教:CycloneIII EP3C25F324C8器件上使用bank3和bank4的引脚锁定对DDR的接口信号线,电平为SSTL_2_class_I;其中有16位双向DQ和2位双向DQS,另外还有地址、控制线等,(具体是bank3包含低8位DQ、两位DQS、两位DM和部分地址线及控制线;bank4包含高8位DQ和余下的地址、控制线<和ATERAL公司的例子完全一致>)但锁定后编译出错,说一个bank里只能有最多9个输出和双向口。错误提示如下:Error: Too many output and bidirectional pins in I/O bank 3 assigned near VREF pin T6 (VREFGROUP_B3_N0) on device EP3C25F324C8 -- no more than 9 output and bidirectional pins allowed
near the VREF pin when voltage referenced pins are driving in...
但是ATERAL公司提供的现成开发板原理图上分明也是这么分配引脚的,也就是说我现在的DDR连接电路完全与ATERAL公司的例子接线一致,但为啥出现这个错误呢?望不吝赐教!感激万分!
 楼主| 发表于 2010-7-29 08:59:00 | 显示全部楼层
问题找到了。。。DQS不能全部在bank3里设置双向端口,硬件引脚不变,把DQS设置成OUTPUT就可以了,读DDR时序通过FPGA内部产生,不用DQS。
发表于 2010-8-25 22:15:47 | 显示全部楼层
2# Akill
楼主好,我是个新手,准备用Cyclone II系列芯片做个DDR接口,不过刚刚开始,对DDR的标准还不清楚,希望楼主能提供一些这方面的资料,可以吗?顺便请教个问题DDR在FPGA引脚配置时对FPGA的管脚有什么要求?
 楼主| 发表于 2010-11-30 15:11:33 | 显示全部楼层
回复 3# HIT2FEI


    呀!实在抱歉,最近一直没来看这个帖子,这么晚才回复,真是不好意思。。。
    你用飓风II的FPGA,可以直接调用模块库里的DDR接口使用,不过引脚锁定的时候要注意每个bank所能允许的双向IO口的数量有限制(芯片手册上有管脚功能表查询),所以至少应该把DQ和DQS两组信号锁定到3个bank上才能编译通过,但是这样一来,你就至少有4个bank 要设置成SSTL_2电平,可能会影响到你整个系统的资源占用率,就是说可能你实现不了较复杂的系统了,因为引脚数量限制太大。有一种方法,就是将DQS信号只设置成输出信号,(这样就要自己编写对DDR的接口模块)伴随对DDR写数据时的双向数据线DQ作为时钟同步源,而读DDR时放弃DDR芯片发出的同步时钟源DQS信号,而在FPGA内部通过相位调整后的时钟双沿采DQ的数据。这样你就只需设置两个bank为SSTL_2电平,每个bank分配8个双向引脚信号DQ即可。
 楼主| 发表于 2010-11-30 15:14:14 | 显示全部楼层
回复 3# HIT2FEI


    PSC_A2s56D40CTP_控制器设计要求.pdf (624.52 KB, 下载次数: 91 )
 楼主| 发表于 2010-11-30 15:18:15 | 显示全部楼层
回复 3# HIT2FEI


    A2S56D40CTP-G5.pdf (571.19 KB, 下载次数: 82 )
这个是一款DDR的芯片手册,里面介绍相对完整,细节缺少不少
不过实在也找不到更多细节的说明,只能慢慢摸索了。目前我也还在
摸索中。
发表于 2011-4-21 22:26:48 | 显示全部楼层
回复 3# HIT2FEI


    这个可以参考quatus II  I/O mangmet 那章里面有个例子,不需要向楼主说的占用那么多的bank,我这几天正在设计3c55F780和ddr的接口,要使用output enable groups这个功能就解决问题了,具体可以参照quartus II章节。或者你也可以到altera的论坛上看看,有高人解释。其实说来说去,就是不要在12个连续的pad上有9个输出就可以了。这个东西折腾了我四天,最后分配管脚quartus 终于通过了。
发表于 2012-7-4 19:56:30 | 显示全部楼层
我现在也遇到这样的问题!!!
Error (169015): Cannot place pin memory_mem_dq[9] to location AG9
        Error (169223): Can't place VREF pin AG11 (VREFGROUP_B3_N1) for pin memory_mem_dq[9] of type bi-directional with SSTL-18 Class I I/O standard at location AG9
                Error (169224): Too many output and bidirectional pins per VCCIO and ground pair in I/O bank 3 when the VREF pin AG11 (VREFGROUP_B3_N1) is used on device EP4CGX150DF31C7 -- no more than 9 output/bidirectional pins within 12 consecutive pads are allowed when the voltage reference pins are driving in, but there are potentially 10 pins driving out
                        Info (169220): Location AG8 (pad PAD_93): Pin memory_mem_addr[7] of type output uses SSTL-18 Class I I/O standard
                        Info (169220): Location AH8 (pad PAD_94): Pin memory_mem_addr[10] of type output uses SSTL-18 Class I I/O standard
                        Info (169220): Location AA13 (pad PAD_95): Pin memory_mem_cke[0] of type output uses SSTL-18 Class I I/O standard
                        Info (169220): Location AB13 (pad PAD_96): Pin memory_mem_dm[2] of type output uses SSTL-18 Class I I/O standard
                        Info (169220): Location AG7 (pad PAD_97): Pin memory_mem_addr[9] of type output uses SSTL-18 Class I I/O standard
                        Info (169220): Location AH7 (pad PAD_98): Pin memory_mem_addr[3] of type output uses SSTL-18 Class I I/O standard
                        Info (169220): Location AA16 (pad PAD_99): Pin memory_mem_addr[8] of type output uses SSTL-18 Class I I/O standard
                        Info (169220): Location AG14 (pad PAD_101): Pin memory_mem_addr[0] of type output uses SSTL-18 Class I I/O standard
                        Info (169220): Location AH14 (pad PAD_102): Pin memory_mem_addr[6] of type output uses SSTL-18 Class I I/O standard
                        Info (169220): Location AK7 (pad PAD_104): Pin memory_mem_addr[5] of type output uses SSTL-18 Class I I/O standard
                        Info (169222): Following 12 location(s) shared the same VCCIO and ground pair, and 10 pin(s) are placed
                                Info (169220): Location AG8 (pad PAD_93): Pin memory_mem_addr[7] of type output uses SSTL-18 Class I I/O standard
                                Info (169220): Location AH8 (pad PAD_94): Pin memory_mem_addr[10] of type output uses SSTL-18 Class I I/O standard
                                Info (169220): Location AA13 (pad PAD_95): Pin memory_mem_cke[0] of type output uses SSTL-18 Class I I/O standard
                                Info (169220): Location AB13 (pad PAD_96): Pin memory_mem_dm[2] of type output uses SSTL-18 Class I I/O standard
                                Info (169220): Location AG7 (pad PAD_97): Pin memory_mem_addr[9] of type output uses SSTL-18 Class I I/O standard
                                Info (169220): Location AH7 (pad PAD_98): Pin memory_mem_addr[3] of type output uses SSTL-18 Class I I/O standard
                                Info (169220): Location AA16 (pad PAD_99): Pin memory_mem_addr[8] of type output uses SSTL-18 Class I I/O standard
                                Info (169221): Location AB16 (pad PAD_100): unused (but has pin assignment of memory_mem_dq[23])
                                Info (169220): Location AG14 (pad PAD_101): Pin memory_mem_addr[0] of type output uses SSTL-18 Class I I/O standard
                                Info (169220): Location AH14 (pad PAD_102): Pin memory_mem_addr[6] of type output uses SSTL-18 Class I I/O standard
                                Info (169221): Location AJ7 (pad PAD_103): unused (but has pin assignment of memory_mem_dq[22])
                                Info (169220): Location AK7 (pad PAD_104): Pin memory_mem_addr[5] of type output uses SSTL-18 Class I I/O standard

郁闷死我了!
不知道如何解决啊!
发表于 2018-3-20 14:28:49 | 显示全部楼层
How to Solve this!!!!
发表于 2018-3-20 18:46:00 | 显示全部楼层
在Top和Bottom Bank每12个连续的管脚最多只支持9个输出;
在Right和Left Bank每14个连续的管脚最多只支持9个输出;
在VREF和输出管脚(除了DQ和DQS)之间必须用两个输入或空脚进行隔离。
我也遇到过这个问题,如7楼所说,使用output enable groups这个功能就解决问题了,但是我不知道原理是什么。格式如下
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[0]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[1]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[2]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[3]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[4]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[5]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[6]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[7]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[8]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[9]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[10]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[11]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[12]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[13]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[14]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dq[15]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dqs[0]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dqs[1]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dm[0]
set_instance_assignment -name OUTPUT_ENABLE_GROUP 1527130218 -to mem_dm[1]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-26 14:12 , Processed in 0.025775 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表