首页 新闻 会员 周边

求教:关于niosii 中使用SDRAM的一些问题

0
悬赏园豆:100 [已关闭问题]

最近我用 EP2C5核心板做niosii的实验,再添加SDRAM后,
在IDE上 run总是出现  Verify failed between address 0x1800000 and 0x180FAF7,
这部分地址是SDRAM的。

在论坛上也看了些帖子,关于verify failed的,想想我的问题可能是以下几点:

1: SDRAM 数据线是双向的,(我在 assignment => pin   里将 SDRAM_DQ 的 direction 都设成 bidir的,应该可以了吧?)
       只是其中 SDRAM_DQ[1]管脚没有配置,(在 核心板的管脚配置表里 没有 SDRAM_DQ【1】的对应管脚。)  

2: SDRAM的时钟问题:

         我按照 handbook 里的方法计算 pll 的相位偏移,还是verify failed。可能我计算数据不对,以下是我的计算数据,


          首先在   SDRAM  datasheet 里找  ·T oh   ——output  data hold time.     2.5ns
                                                      ·T hz   (dataout high-impedance time)   5ns (我用Tshz ——clk to output in hi-z)
                                                      ·T ss   -- data input setup time   1.5ns   
                                                      ·T sh   -- data input hold time 1ns
         然后 compile
          在 classic timing analysis 的 report里 找到 和SDRAM有关的 最大  tsu    tco   th     以及最小的 tco  分别是:
                                                    ·tco-min   2.833ns
                                                    ·tco-max  7.672ns
                                                    ·th -max  -1.202ns
                                                    ·tsu-max  1.552ns
         实际时钟周期是14.461ns  (理想的为20ns)

计算时钟偏移:
           read lag = toh - th_max = 2.5 - (-1.202) = 3.702 ns
           write lag = t_clk - tco_max -tss = 14.461 - 7.672 - 1.5 =5.289 ns         
           read lag < write lag

           read lead = tco_min - tsh = 2.833 -1 = 1.833 ns
           write lead = t_clk -  thz - tsu_max = 14.461 - 5 - 1.552 = 7.909 ns
           read lead < write lead

           取较小的进行计算    t_delay  = (- read lag + read lead)/2 = - 0.935 ns

            设置好pll 的时钟偏移后 仍然出现 verify failed  

           大侠们 这样计算有问题吗?

           能不能贴贴你们成功的设计。 thanks

哀木贼的主页 哀木贼 | 初学一级 | 园豆:100
提问于:2009-12-21 15:43
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册