zoukankan      html  css  js  c++  java
  • 同步FIFO与异步FIFO

    同步FIFO是用来做数据缓存,之前的设计一直将自己绕进了一个死循环,认为要想往外边读取FIFO,就必须先检测FIFO的空满标志,但实际上,对于同步FIFO,如果是同步fifo深度设置成128,你存100个以后再开始读,永远不可能出现空满。因为写入和读取的速度是一样的。两边时钟也一样,位宽也一样怎么可能出现空满。

    FIFO核读写不需要指定地址,只要读、写使能信号打开,时钟到来,数据就可以读出和写入。

    需要注意的问题是:

    1、读时钟和写时钟必须一直存在,不可间断性的提供,否则会造成FIFO无法正常工作

    2、读FIFO时钟要和读数据的赋值端的时钟是一个时钟

    3、写FIFO的时钟要和将要写的数据的时钟是一个时钟

    4、注意满标志和空标志的使用,禁止在FIFO满的情况下写FIFO,禁止在空的时候读FIFO,否则会出现错误

    FPGA与上位机之间通过串口发送和接受数据的过程:

     接收参数的过程:

    1.rxd_en有效

    2.如果数据准备好了temp《=rdata,rxd_en无效,否则等待

    3.延时326*20ns后开始第二个参数的发送

    发送参数过程:

    1、tdata《= 要传输的数据,txd_en有效,

    2、如果传输完成等待651*20ns,txd_en无效,开始传输下一个数,否则等待直到传输完成

  • 相关阅读:
    冒泡排序
    二分查找
    数3退1的java实现
    列出目录下对应的子目录及文件
    errno相关
    Fibonacci
    windows 下查看Python 的安装路径
    20条编程经验
    [转]一位程序员工作10年总结的13个忠告
    Sql查询语句过滤重复的数据
  • 原文地址:https://www.cnblogs.com/Dinging006/p/8283661.html
Copyright © 2011-2022 走看看