在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: liumeco

关于同步fifo的怪事!!!!

[复制链接]
发表于 2007-1-19 10:51:40 | 显示全部楼层
问题出在sfifo的初始化复位问题上,SINIT 是fifo的~同步~复位信号,所以对fifo的复位电平rst要通过clk_out的上升沿采集进去才可。而你在分频程序中将clk_out也用rst信号进行清零,这样rst就不可能在clk_out的上升沿对fifo进行复位初始化,所以对fifo的读写操作都不能进行。
你在分频程序中去掉rst信号的操作,同时注意testbench中rst各个信号的时间,保证rst信号对fifo进行了同步复位即可。这也是你为什么用clk_out<=!clk_out可以将fifo正常操作的原因,因为这句话没有将clk_out进行清零。
我用modelsim跑了一下,已经正常了,如果你需要,我可以把改过的程序贴上来,呵呵

[ 本帖最后由 hahalucky 于 2007-1-19 11:03 编辑 ]
 楼主| 发表于 2007-1-22 19:55:38 | 显示全部楼层
说实话,看不太懂!觉的应该没有关系把!
能否把程序发上来!
谢了!
发表于 2007-1-23 11:19:52 | 显示全部楼层
这个代码太多了..没时间看....
多作仿真分析应该能找到问题..
 楼主| 发表于 2007-1-23 14:35:34 | 显示全部楼层
哦,好像是这样:
fifo的初始化复位信号SINIT必须在其时钟信号的上升沿被采样!也就是说至少在时钟的一个上升沿SINIT要为高位(无效位),而后SINIT才可变低!

这是程序开始循环的起点,不然一切的后续动作都没有办法展开!

[ 本帖最后由 liumeco 于 2007-1-24 08:36 编辑 ]
发表于 2007-1-25 14:39:12 | 显示全部楼层
你这个程序是自己写的还是??
如果是不写的话,我觉得你应该从你的设计初始地方找原因,然后再看看程序中写入的条件是不是满足?肯定是写的条件不满足了才不会写了。
发表于 2007-6-18 20:50:37 | 显示全部楼层


原帖由 liumeco 于 2007-1-16 14:57 发表
这是同步fifo的程序!

module SYNC_FIFO_V4_0 (  CLK,//Clock for read and write operations (rising edge)
                      SINIT, //Synchronous initialization of all FIFO functions, flags,  ...




这个程序中怎么没有倍频呢 ??没有倍频怎么可能实现FIFO的同时读写操作功能呢  ??
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-17 08:47 , Processed in 0.019932 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表