zoukankan      html  css  js  c++  java
  • 【READ & WRITE】Avalon-MM Master Templates

    --------------------------------随便写写,思绪走到哪里就写到哪里吧-----------------------

    一。应用背景:在NIOS中对于数据流的处理,比如通过C操作内存,然后通过该总线对内存中的数据流做处理。常规的例子比如,视频流的处理。本文的目的记录文档中的比较关键的点。欢迎大家一起交流,Q群:912014800。

    二。在intel fpga 可以查到该IP,手册中可以看到如下所示介绍:

    接着可以看到如下的框图:

    其中红色的圈需要自己verilog,左边的部分在qsys中自行连接即可,比如连接打到一个sdram模块。

    接下来我们看看信号定义:

    (1)控制信号

     control_fixed_location :设置为1,地址不能增加,一般传输很多数据请设置为0

    control_(x)_base:基地址
    control_(x)_length:长度,以byte为单位。比如我设置的为8,则读两次,每次读取4byte数据。
    control_go:一个clk表示起始,
    control_done:最后一个数据已经读出来了。user可以在检测到该信号后,再产生go信号,依次读取。
    control_early_done,:仅对读有效,当最后一个数据已经贴出,而实际并没有从内部读到fifo,该信号拉高,因此该信号总是超前done信号。

    (2)读信号

     

    user_read_buffer:当user需要寄存数据拉高就行了,在下一个时钟,数据才有效。
    user_buffer_data:当user_data_avaliable有效时,则在其下一拍表示该数据有效,也就是第一个有效会有延时一拍。
    user_data_available: 什么意思呢?当缓冲有有效数据时,该信号就为1。当这个信号为0时,你不能操作user_read_buffer,否则就完蛋。[就是这样]

    (3)写信号

    user_write_buffer:数据有效指示
    user_buffer_data:数据
    user_buffer_full:当该信号为1时,你不能再写数据了。否则就完蛋

  • 相关阅读:
    返回一个整数数组中最大子数组的和
    对autocad的建议
    作业:30道四则运算——C++编程
    四则运算2
    [leetcode] Letter Combinations of a Phone Number
    [leetcode] Pow(x, n)
    [leetcode] Longest Common Prefix
    [leetcode] Binary Tree Zigzag Level Order Traversal
    [leetcode] Construct Binary Tree from Preorder and Inorder Traversal
    [leetcode] Construct Binary Tree from Inorder and Postorder Traversal
  • 原文地址:https://www.cnblogs.com/cofin/p/9379927.html
Copyright © 2011-2022 走看看