打印

npi写时序问题

[复制链接]
3103|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
clp510|  楼主 | 2012-4-9 16:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
大家好,我做了一个通过npi向DDR2 SDRAM写数的模块,32-bit 写数的操作,按照mpmc数据手册P189的时序图来说,当地址请求信号AddrReq置高时,在同一时钟周期会有地址确认信号,但是为什么当我在进行写操作时,地址请求置高后好几个时钟周期之后才会有地址确认信号,我是向NPI连续进行写数,因此地址请求一直置高。我想要做的设计是一个周期向存储器中写入一个32-bit的数据,请问问什么会出现我的时序图跟数据手册上的时序图不一致呢?先谢谢各位大侠的帮忙,小弟不胜感激~

64-bit NPI double-word write.jpg (53.81 KB )

64-bit NPI double-word write.jpg

my_design.jpg (37.99 KB )

my_design.jpg

相关帖子

沙发
Backkom80| | 2012-4-9 18:44 | 只看该作者
1,没有见到时钟信号
2,将addrreq不要一直置高试试
3,DDR2是突发性传数的

使用特权

评论回复
板凳
drentsi| | 2012-4-9 20:00 | 只看该作者
手册并没有说ack和req必须在1个周期啊

使用特权

评论回复
地板
clp510|  楼主 | 2012-4-9 20:36 | 只看该作者
第二图的时钟信号是1ns,上升沿数据发生变化,第二个建议我试过了,还是不行,ddr2应该也可以一个word一个word进行传输吧?如何连续进行传输呢,一个周期一个数据,如何才能做到?

使用特权

评论回复
5
litgb| | 2012-4-26 11:48 | 只看该作者
唉,讲的很好,
学习了

使用特权

评论回复
6
by991| | 2013-5-17 16:05 | 只看该作者
您好!请教一下,你在仿真MPMC NPI接口的时候,那个AddrAck信号是怎样出来的啊?我生成了一个MPMC核,通过NPI接口连接外部逻辑,但我发AddrReq之后,AddrAck一直出不来啊。盼答复,谢谢!!!

使用特权

评论回复
7
GoldSunMonkey| | 2013-5-17 22:54 | 只看该作者
by991 发表于 2013-5-17 16:05
您好!请教一下,你在仿真MPMC NPI接口的时候,那个AddrAck信号是怎样出来的啊?我生成了一个MPMC核,通过N ...

你问的是XILINX的吧?

使用特权

评论回复
8
xjsxjtu| | 2013-5-19 22:58 | 只看该作者
GoldSunMonkey 发表于 2013-5-17 22:54
你问的是XILINX的吧?

不知道啊

使用特权

评论回复
9
by991| | 2013-5-20 08:52 | 只看该作者
GoldSunMonkey 发表于 2013-5-17 22:54
你问的是XILINX的吧?

是的,使用xilinx的EDK工具生成MPMC,用逻辑实现NPI接口的时序,然后用modelsim仿真,发现发送addrreq信号时,没有收到addrack信号,不知道是什么原因。想问问要怎样设置才能出现addrack信号,MPMC中需要注意哪些参数的设置,盼回复,谢谢!!!!!

使用特权

评论回复
10
drentsi| | 2013-5-20 09:15 | 只看该作者
NPI的addrreq、addrack还有数据路径的关系
addrreq表示要进行数据传输,如果是burst write的话,那么在addrreq有效之前,应先把数据写入NPI的FIFO,其它模式都是在addrack之后进行数据操作。
addrack表示这次数据请求,MPMC处理了,接下来就是数据操作了。

MPMC并不是立即用addrack响应的,以下情况addrack可能会推迟或不响应
1.初始化的时候,MPMC INIT DONE这个引脚电平为0时
2.数据FIFO满,读满或写满,都会
3.命令FIFO满,NPI最多可缓冲4个命令
4.缓冲区崩溃,NPI就死机了,只有复位,这个解释起来比较复杂

使用特权

评论回复
11
by991| | 2013-5-20 09:24 | 只看该作者
drentsi 发表于 2013-5-20 09:15
NPI的addrreq、addrack还有数据路径的关系
addrreq表示要进行数据传输,如果是burst write的话,那么在addr ...

谢谢!我通过追溯,也发现INIT DONE信号一直为0了,但INIT DONE信号电平一直为0是怎么回事呢?是否跟MPMC参数设置相关?另外,初始化是MPMC自动执行的吧?应该不需要外部逻辑发送MPMC初始化的命令吧?谢谢回复。

使用特权

评论回复
12
drentsi| | 2013-5-20 09:34 | 只看该作者
INIT DONE为0,那说明初始化未完成,可能有很多因素:
某些时钟引脚未连上
复位问题,必须外部复位,然后等200多微秒的时间
参数问题
时钟速度问题,造成IODELAY不能锁定

使用特权

评论回复
13
by991| | 2013-5-20 09:35 | 只看该作者
drentsi 发表于 2013-5-20 09:15
NPI的addrreq、addrack还有数据路径的关系
addrreq表示要进行数据传输,如果是burst write的话,那么在addr ...

另外,还想请教一下,MPMC NPI接口的命令fifo是哪个fifo啊,MPMC的datasheet只讲了PIM_WrFIFO和PIM_RdFIFO,这两个fifo分别为通过NPI写入data的FIFO和从MPMC的外接DDR读出data的FIFO,并没有发现命令FIFO啊。

使用特权

评论回复
14
drentsi| | 2013-5-20 09:45 | 只看该作者
命令FIFO就是addrreq时存入的地址和操作命令,每addrack一次,就存入1个命令,每完成数据传输1次,就取出1个命令,最多4个命令。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

28

帖子

0

粉丝