zoukankan      html  css  js  c++  java
  • 在使用FPGA来控制DDR3/DDR2 IP 的时候两个错误的解决办法

      对于熟悉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 就这样被解决了!

  • 相关阅读:
    列表与字典的嵌套
    arduino开发ESP8266学习笔十-----ESP8266闪存文件系统
    arduino开发ESP8266学习笔记九---------ESP8266网络服务器(通过网页访问)
    互联网基础
    IC内部集成MOSFET的升压转换电路计算
    arduino开发ESP8266学习笔记八------(WIFI通信)STA模式、AP模式、混合模式
    arduino开发ESP8266学习笔记七--------EEPROM的使用
    arduino开发ESP8266学习笔记六——变量和函数
    arduino开发ESP8266学习笔记五——模拟输入
    arduino开发ESP8266学习笔记四-----舵机
  • 原文地址:https://www.cnblogs.com/fhyfhy/p/7657509.html
Copyright © 2011-2022 走看看