对于熟悉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. c#2.0锐利体验《泛型编程》读书笔记

    1.c#泛型及机制 Class Stack<T> { } T 其实为type的缩小,不过也可为其他字符代替T ,被称为“泛型类型”  T为晚绑定的,在编译的时候还不能确定T的确切类型. 2 ...

  2. IntelliJ IDEA自身以及maven项目打包方式

    1. Idea自身打包方式 1.1 创建Artifacts 快捷键(Ctrl+Alt+Shift+S)打开项目的Project Structure.在Artifacts创建 接着,指定main cla ...

  3. pandas 筛选

    t={ , , np.nan, , np.nan, ], "city": ["BeiJing", "ShangHai", "Gua ...

  4. HBase学习笔记之BulkLoad

    HBase学习之BulkLoad bulkload的学习以后再写文章. 参考资料: 1.https://blog.csdn.net/shixiaoguo90/article/details/78038 ...

  5. js 做留言提交

    如下是留言提交源码 功能:点击按钮或点击enter键可以提交内容扩展:ctrlKey\shiftKey\altKye 可以将如上三个参数与oEvent.keyCode == 13 进行与操作可以得到 ...

  6. 括号匹配(POJ2955)题解

    原题地址:http://poj.org/problem?id=2955 题目大意:给出一串括号,求其中的最大匹配数. 我这么一说题目大意估计很多人就蒙了,其实我看到最开始的时候也是很蒙的.这里就来解释 ...

  7. matrix67中适合程序员的例子

    交互式证明:http://www.matrix67.com/blog/archives/6572 捡石子游戏(移动皇后问题):http://www.matrix67.com/blog/archives ...

  8. GoCN每日新闻(2019-10-13)

    GoCN每日新闻(2019-10-13) 1. 通过测试学习Go语言 https://mp.weixin.qq.com/s/MGT_yoP_NdWVGpwlAJFK4A2. go panic reco ...

  9. nginx重启 平滑重启

    进入 ngiinx sbin目录下./nginx -c /usr/local/nginx/conf/nginx.conf -c参数指定了要加载的nginx配置文件路径 停止操作停止操作是通过向ngin ...

  10. es6学习2:变量的解构赋值

    一:数组的解构赋值 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构 let [foo, [[bar], baz]] = [1, [[2], 3]]; foo bar ba ...