aurora协议中,默认是大端模式,但可在定制IP的时候选择小端支持,如下图所示:

尽管如此,产生的示例逻辑,还是有部分地方使用了大端的表示方法:

例如顶层:

    // User I/O
input              RESET;
input              INIT_CLK_P;
input              INIT_CLK_N;
input              DRP_CLK_IN;
input              GT_RESET_IN;
output             HARD_ERR;
output             SOFT_ERR;
output  [0:7]      ERR_COUNT;output  [0:1]      LANE_UP;
output             CHANNEL_UP;// Clocks
input              GTXQ0_P;
input              GTXQ0_N;// GT Serial I/O
input   [0:1]      RXP;
input   [0:1]      RXN;
output  [0:1]      TXP;
output  [0:1]      TXN;//**************************External Register Declarations****************************
reg                HARD_ERR;
reg                SOFT_ERR;
reg     [0:7]      ERR_COUNT;
reg     [0:1]      LANE_UP;
reg                CHANNEL_UP;

例如,用户接口逻辑:

   // User Interface
output  [0:31]     TX_D;
output             TX_SRC_RDY_N;
input              TX_DST_RDY_N;

那小端体现在哪里了呢?

可以在AXI接口中看到:

    // AXI4-Stream TX Interfaceoutput     [(DATA_WIDTH-1):0]     AXI4_S_OP_TDATA;output     [(STRB_WIDTH-1):0]     AXI4_S_OP_TKEEP;output                            AXI4_S_OP_TVALID;output                            AXI4_S_OP_TLAST;input                             AXI4_S_IP_TREADY;

既然如此,我们就可以直接操作axi_stream接口,在axi_stream中,我们能用到的信号有:

     // AXI4-S output signals.AXI4_S_OP_TVALID(tx_tvalid_i),.AXI4_S_OP_TDATA(tx_data_i),.AXI4_S_OP_TKEEP(),.AXI4_S_OP_TLAST(),.AXI4_S_IP_TREADY(tx_tready_i)

就是这里面有信号接出以及接入的部分,我们可以设计一个用户模块,使用这几个信号即可根据规则产生用户逻辑:

module user_logic_top(//用户时钟以及复位input    wire                sys_reset,   //该reset用于用户逻辑复位等input    wire                user_clk,    //axi 接口output   wire    [31:0]      s_axi_tx_tdata,output   reg                 s_axi_tx_tvalid,input    wire                s_axi_tx_tready,input    wire    [31:0]      m_axi_rx_tdata,input    wire                m_axi_rx_tvalid,input    wire                channel_up);

如果要发送数据,我们在s_axi_tx_tready有效且channel_up有效的情况下,直接产生tvalid以及tdata即可,简单到有手就行,例如:

    // 下面请使用小端模式生成用户逻辑//复位处理wire            reset_c;wire            dly_data_xfer;reg     [4:0]   channel_up_cnt;always @ (posedge user_clk) beginif(sys_reset)channel_up_cnt <=  5'd0;else if(channel_up)if(&channel_up_cnt)channel_up_cnt <=  channel_up_cnt;else channel_up_cnt <=  channel_up_cnt + 1'b1;elsechannel_up_cnt <=  5'd0;endassign dly_data_xfer = (&channel_up_cnt);//Generate RESET signal when Aurora channel is not readyassign reset_c = sys_reset || !dly_data_xfer;//先产生一个用于测试的计数逻辑reg     [15:0]  test_cnt;always@(posedge user_clk or posedge reset_c) beginif(reset_c) begins_axi_tx_tvalid    <=  1'b0;test_cnt           <=  16'd0;endelse if(s_axi_tx_tready) begins_axi_tx_tvalid    <=  1'b1;test_cnt           <=  test_cnt    + 16'd1;endendassign  s_axi_tx_tdata = {2{test_cnt}};

产生一个计数的计数器,作为数据发送出去。

aurora IP中选择了小端支持,但小端体现在了什么地方呢?相关推荐

  1. 个人小程序支持哪些小程序服务类目

    大家都知道微信小程序从注册主体上分为个人小程序和企业小程序,其中,个人小程序因为注册后无法认证被平台在很多方面限制了权限,使得个人小程序和企业小程序的区别很大,其中之一就是在小程序服务类目上的范围不一 ...

  2. 华为鸿蒙微内核已经投入商用;PC 端将支持打开小程序;VS Code 1.37 发布 | 极客头条...

    快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...

  3. win7下搭建小程序服务器,重磅!微信PC端支持小程序直接开启 适配Win7及以上系统...

    原标题:重磅!微信PC端支持小程序直接开启 适配Win7及以上系统 腾讯科技讯 8月9日,腾讯科技在"微信开放社区"发现,微信正在测试"PC端支持打开小程序"能 ...

  4. idea中选择一个词的快捷键

    idea中选择一个词的快捷键 在idea中选择一个词用carl+w快捷键 1,鼠标所在的地方按住carl+w键 2,再按w键 连续按w会依次会选中单词-整个字符串-整个字符串包含引号-整个字符串赋值语 ...

  5. Thor UI - 轻量简洁的免费开源移动端 UI 组件库,支持原生小程序和 uni-app

    用来快速开发原生小程序或者通过 uni-app 来开发任何小程序甚至是 APP 的组件库,但我很好奇中文名是不是译作雷神 UI. Thor UI 介绍 Thor UI 是一款开发移动端网页应用.小程序 ...

  6. 快手小店电脑版_微信PC版更新!支持在小程序中使用微信支付 | 一周资讯

    小程序1. 微信PC版更新,支持在小程序中使用微信支付.12月19日,微信PC端推出内测版2.7.2.73,新版本支持以下新功能:新增看一看精选内容,新的订阅号浏览体验,支持在小程序中使用微信支付.( ...

  7. c1reportviewer html,新版本Wijmo中的ReportViewer发布移动端支持

    原标题:新版本Wijmo中的ReportViewer发布移动端支持 Wijmo是一款使用Type编写的新一代Java/HTML5控件集.它秉承触控优先的设计理念,在全球率先支持AngularJS,并提 ...

  8. 高光谱地物识别练习-从ENVI标准波普库中选择端元进行物质识别

    高光谱地物识别练习-从ENVI标准波普库中选择端元进行物质识别 1.首先打开一个高光谱文件 2.打开标准波普库里的展示 3.选择矿物质有14个数据的一类 4.从14个数据中选

  9. 开源全平台版知识付费系统源码 支持微信小程序+公众号+H5+PC端

    分享一个开源全平台版知识付费系统源码,系统支持微信小程序+公众号+H5+PC端,一套系统实现全端数据及用户体系全面打通,轻松实现店铺全网一站式运营.含完整代码包和详细搭建教程. 系统支持视频课程.音频 ...

最新文章

  1. MySQL面试题 | 附答案解析(十四)
  2. iOS专题1-蓝牙扫描、连接、读写
  3. 【题解】P1508 Likecloud-吃、吃、吃(简单DP)
  4. 无聊中安装的MAC OS截图欣赏
  5. 测量角速度_锡膏的粘度如何正确鉴别和精确测量?
  6. sap上线前的十大思考
  7. js observer 添加_简单了解4种JS设计模式
  8. 微信小程序php后台支付,微信小程序 支付功能实现PHP实例详解
  9. 文件上传优化CommonsMultipartResolver
  10. Java web之web.xml配置详解
  11. java集合的添加方法_深入理解java集合框架之---------Arraylist集合 -----添加方法
  12. thinkphp5与thinkphp3.X对比
  13. java 队列的使用
  14. 帆软报表跨域之插件开发中Controller中定义的方法实现CROS的GET跨域,且请求头带自定义属性
  15. Python实现常见算法[1]——冒泡排序
  16. 仿souhu页面设计
  17. freebsd mysql tmp_FreeBSD下安装MySQL与MySQLdb笔记
  18. 【算法笔记+POJ3461】Oulipo(字符串hash模版)
  19. Mac Sublime Text 3插件安装
  20. 华为首度公开披露员工薪酬:去年平均年薪近28万

热门文章

  1. linux系统学习之Linux打印文件和发送邮件
  2. 三个数字的运算规律预测
  3. Linux下安装、配置PHP环境
  4. 深度强化学习_深度学习理论与应用第8课 | 深度强化学习
  5. matlab索引程序,Matlab索引到逻辑索引
  6. Java - HtmlEmail 邮件发送
  7. matlab 向量模量,有限元分析简单实例之平面矩形薄板(matlab)
  8. java异步请求显示数据格式_JSON(四)——异步请求中前后端使用Json格式的数据进行交互...
  9. 第十七届全国大学生完全车模组竞速赛方案 - 草案
  10. 利用CH340C制作MicroPython ESP8266,ESP32的下载器-改进型