社区
单片机/工控
帖子详情
为什么在FPGA中读取FIFO时,读的第一个数据和第二个数据之间会有两个时钟周期的延迟呢?
neu_2015
2017-04-30 09:35:35
在使用Modesim仿真时,读FIFO的第一个数和第二个数据之间有2个时钟的延迟,这是什么原因造成的啊
...全文
1836
3
打赏
收藏
为什么在FPGA中读取FIFO时,读的第一个数据和第二个数据之间会有两个时钟周期的延迟呢?
在使用Modesim仿真时,读FIFO的第一个数和第二个数据之间有2个时钟的延迟,这是什么原因造成的啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ao_
2018-11-25
打赏
举报
回复
1
用的是Xilinx 的 FPGA 吧, 去看官网提供的官方 IP 用户手册 USER GUIDE 里都有写得很详细, 里面解释了为什么读出的时候要有两个时钟的延迟,和他在片子里的实现有关,牵涉到几个寄存器,需要有几个时钟的时间才能到达输出端口。
uid123
2017-04-30
打赏
举报
回复
还有另一种可能,就是在外部存储器中,文件不是以连续的形式存储在存储器中的,是不连续的,所以在每一段的结尾就会有识别字节和下一段地址的字节放入在这个段的末尾,在读到当前段的跳转时占一个时钟,在读取下一段的首地址时占一个时钟。
uid123
2017-04-30
打赏
举报
回复
没程序段不知道,但大概能估计来,可能我说的也不对。你用的这个应该是上操作系统了,最早在单片机里面有靠FOR循环走一个数值进入忙等待,比方说51控制的LED灯闪烁就可以用for循环进行延时,到了操作系统里面,这种延时被操作系统中的中断功能以wait这种方式交到其他程序种运行来实现延时等待,在接到中断后,这个过程种就有2个运算进行(刚刚好2个时钟),一个是记录当前指针的数据压入堆栈,第二个是等待程序的地址指针出到达当前指针寄存器。所以就能运行其他程序,然后等待时间过后回复之前程序运行。
FPGA
例化的内部RAM
读
取
延迟
差异
1.
FIFO
与单口RAM操作差异:
FPGA
中
的
FIFO
(First-In-First-Out)和单口RAM(Random Access Memory)在
数据
读
取
操作上有本质的区别。
FIFO
由于其特殊的结构设计,可以在
读
请求有效的下一个
时
钟周期
即输出
数据
;而单口...
FPGA
异步
FIFO
vivado工程代码 两种
读
取
模式 含testbench
异步
FIFO
(First-In-First-Out)是一种在
两个
时
钟域
之间
传递
数据
的存储器结构。这里的“异步”指的是
两个
时
钟域的
时
钟速度可能不同,或者是完全独立的。在
FPGA
设计
中
,异步
FIFO
常用于解决
时
钟域
之间
的
数据
通信问题,...
FPGA
中
的
FIFO
- `empty`标志位用于指示
FIFO
是否为空,当写入
数据
时
(`wrreq`=1),如果
FIFO
原本为空,则`empty`变为0;反之,如果
FIFO
不为空,则`empty`保持为0。 - 若连续写入
数据
的
时
钟周期
多于连续
读
出
数据
的
时
钟周期
,
FIFO
...
异步
FIFO
在
FPGA
与DSP通信
中
的运用.pdf
DSP提供一个独立的
读
时
钟,以它为基准从
FIFO
中
读
取
数据
,并增加
读
指针。这种架构使得
数据
能够安全、稳定地在不同频率的
时
钟域间传输,有效避免了亚稳定态带来的问题。 文章
中
还提到,在异步
FIFO
技术的实现
中
,作者...
异步
FIFO
结构及
FPGA
设计
异步
FIFO
(First In First Out)是一种在不同
时
钟域
之间
传递
数据
的关键电路,尤其在现代集成电路设计
中
,由于多
时
钟系统的普遍存在,异步
FIFO
成为了解决
时
钟域间
数据
传输问题的重要手段。其主要功能是确保
数据
在
两个
...
单片机/工控
27,521
社区成员
28,799
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章