对于熟悉Intel FPGA的老(gong)司(cheng)机(shi)来说,外部存储器的控制早已是轻车熟路,但是对于新手,DDR3/DDR2 的IP使用也许并没有那么简单,不过没关系,骏龙的培训网站(www.fpgadesign.cn)上有免费的视频教程可以帮助大家快速的熟悉DDR3/DDR2 IP核的使用。今天我来分享下在使用DDR3/DDR2的IP时常有新手遇到的两个错误的解决办法。

1、Error (165050): The assigned location PIN B13 for DQ pin "DDR2A_DQ2" is not a legal location。

上面的错误提示是”DDR2A_DQ2”放在了一个非法的地方,也就是放错了地方。对于DDR3/DDR2 IP的DQ,DQS,DM信号在FPGA上对应的pin不是想当然的随便放置,他们有固定的位置,一般要遵循下面的几个规则:DQ信号必须连接到FPGA的引脚名带有DQS的pin(如图一);DM信号必须连接到FPGA的引脚名带DM的pin(如图二);DQS、DM、DQ必须在同一个Mode中,且DQS、DM的高地位要和DQ的高地位对应,如DQS[0],DM[0]对应DQ[7:0], DQS[1],DM[1]对应DQ[15:8]。在一个Mode中会有一个DQS pin,一个DM pin和多个DQ pin(如图三)。

图一  FPGA中引脚名带有DQS的pin

图二  FPGA中引脚名带有DM的pin

图三 Mode(图中有红线和蓝线分别标出了一个完整的Mod)

提示:查看同一个Mode的方法为:在Pin Planner的菜单栏选择ViewàshowàShow DQ/DQS pinà In x8/x9 Mode。

只要按照上面的规则来绑定DDR2/DDR3的pin 就可以解决Error 1.

2、Error (169224): Too many output and bidirectional pins per VCCIO and ground pair in I/O bank 8 when the VREF pin D12 (VREFGROUP_B8_N0) is used on device EP4CGX30CF23C7 -- 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。

上面的错误提示是: 但使用VREF pin作为输入时,每12个连续的Pads不能有超过9个输出或双端口。这是因为DDR2采用的是SSTL-18的电平标准,需要将输入和VREF电压进行比较之后输出才被认为是实际输入(保证数据准备,抑制噪声),所以FPGA中DDR2所在的Bank中的VREF pin 需要接1.8V的电压。而在TOP 和Bottom Bank的VREF pin被使用时,每12个连续的Pads最多只支持9个输出,在Right和Left Bank每14个连续的Pads最多只支持9个输出。

但是对于一些IO数目比较紧张的项目,想把DDR2的地址线或控制线放在数据线周围的pin上,但是Fitter的时候 Quartus 会报出上面的错误,这该怎么办呢?只要在Quartus II 中按照下面的步骤使用Output Enable Group选项,将DDR2的CLK ,DQS,DM,DQ信号设置到到同一个Group中,就可以解决上面的错误了。使用Output Enable Group选项可以指导Fitter当作一个输出使能组来查看指定的Nodes,以免违反使用VREF时的最大连续输出Pads数目的规定。

在菜单栏中选择AssignmentsàAssignment Editor,打开Assignment Editor窗口,在TO列最下面<<new>>处依次填入DDR2 IP 的所有CLK ,DQS,DM,DQ信号,并在Assignment Name处选择Output Enable Group, 在Value处都填入一个相同的值(如图五中的111222),然后在最左边你可以看到Status处都打上了绿色的对号,这样设置就完成了,保存,重新编译,Fitter就可以通过了。

图四

图五

上面的操作完成之后,如果你打开工程目录下的.qsf文件,你可以找到图六中的约束语句,就是刚才你设置的约束条件。当然,你也可以直接的打开.qsf文件,参照图六中的语句直接设置CLK ,DQS,DM,DQ的约束条件,并保存,也可以达到相同的效果。

图六

Error 2 就这样被解决了!

在使用FPGA来控制DDR3/DDR2 IP 的时候两个错误的解决办法的更多相关文章

  1. Windows无法自动将IP协议堆栈绑定到网络适配器 的解决办法

    实验室的台式机在升级驱动后上不了网了,有线网卡驱动卸载后重装了,还是不行,通过Windows诊断发现“Windows 无法自动将 IP 协议堆栈绑定到网络适配器的解决办法”. 解决办法: 打开“控制面 ...

  2. 修改计算机名或IP后Oracle10g无法启动服务的解决办法

    修改计算机名或IP后Oracle10g无法启动服务的解决办法 遇到的问题,问题产生原因不详.症状为,windows服务中有一项oracle服务启动不了,报出如下错误. Windows 不能在 本地计算 ...

  3. Xshell 连接虚拟机OS Linux 设置静态ip ,网络配置中无VmWare8 的解决办法

    前序:最近开始研究Hadoop平台的搭建,故在本机上安装了VMware workstation pro,并创建了Linux虚拟机(centos系统),为了方便本机和虚拟机间的切换,准备使用Xshell ...

  4. centos使用denyhosts的问题,会将自己的IP自动加到hosts.deny的解决办法。

    先吐槽, 很多网站\博客,技术文章也玩伪原创, 害人不浅. 全TMD是COPY, COPY, COPY过来. 拷过来就算了, 你TMD还改了其中的内容... 改成错的.然后众多网站转载, 将错进行到底 ...

  5. 服务器变更IP地址后SSH链接失败的解决办法

    客户端未变,服务器端变更IP地址,导致客户端链接失败,这种情况提示如下: 原因是服务器端更改IP地址后,秘钥也需更新 在客户端输入以下格式的命令: ssh-keygen-f"/home/用户 ...

  6. 使用IP访问Mantis显示空白页的解决办法

    使用http://localhost/mantis/ 可成功访问Mantis,但使用IP地址:http://172.16.20.111/Mantis却访不了,显示“无法显示网页”. 在aphache中 ...

  7. 在VMware中就显示lo回环IP:127.0.0.1的解决办法。

    在VMware时由于某些原因导致,在使用ifconfig只会显示lo,不显示其他的东西 步骤:1.sudo lshw -numeric -class network 2.sudo route -nv ...

  8. "网络适配器本地连接没有有效ip地址配置"错误的解决办法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 win server2008通过一台win xp的共享网络来上网,采用ipv4,网址设置如下: win xp是可以上网 ...

  9. 如何把php项目部署到阿里云服务器window server2012__含公网ip访问时jquery/ajax失效解决办法

    记一次蛋疼的折腾. 弄了一晚上最后发觉是360浏览器的问题,换个浏览器就好了.垃圾360用什么IE7文档模式.导致界面和功能失效. 建议大家测试的时候用firefox或者chrome. 项目部署到服务 ...

随机推荐

  1. mysql udf提权

    参考文章:https://blog.csdn.net/q1352483315/article/details/98483668

  2. Java中多态

    多态:把子类看成是父类,把实现类看成是接口,这样类就具有多种形态,称为多态. 在多态中访问成员变量,访问的是父类中的成员变量. 在多态中访问成员方法,先访问的是子类,看看子类有没有覆盖重写要访问的父类 ...

  3. RESTful API Design: 13 Best Practices to Make Your Users Happy

    RESTful API Design: 13 Best Practices to Make Your Users Happy First step to the RESTful way: make s ...

  4. S1_搭建分布式OpenStack集群_05 glance安装配置

    一.基本简介         镜像服务(glance)使用户能够发现,注册和检索虚拟机镜像. 它提供了一个REST API,使您可以查询虚拟机镜像元数据并检索实际镜像. 您可以将通过镜像服务提供的虚拟 ...

  5. nginx syslog 配置

    以下是一个简单的实践,主要是打算测试nginx 与graylog 的集成,为了简单都是使用容器运行的,同时也测试了 nginx 对于配置多个access_log 的处理 环境准备 docker-com ...

  6. ssh:no matching host key type found. Their offer: ssh-dss

    最近突然ssh 服务连接出现 no matching host key type found. Their offer: ssh-dss 以前一直没有问题 可能的原因 openssh 服务升级,加密算 ...

  7. shell test条件检查

    Shell test 命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt ...

  8. 2、kafka集群搭建

    以三台为例,先安装一台,然后分发: 一.准备 1.下载 http://kafka.apache.org kafka_2.11-2.0.1.tgz 前面的数字2.11是scala的版本,2.0.1是ka ...

  9. Vue中插槽slot的使用

    插槽,也就是slot,是组件的一块HTML模板,这块模板显示不显示.以及怎样显示由父组件来决定. 实际上,一个slot最核心的两个问题在这里就点出来了,是显示不显示和怎样显示. 由于插槽是一块模板,所 ...

  10. 微信小程序class封装http

    config.js var config = { base_api_url:"https://douban.uieee.com/v2/" } export {config} uti ...