当前位置: 首页 > article >正文

tvalid寄存器的理解

if(!out_axis_tvalid_reg || m_axis_tready ) beginend

m_axis_tready  是上拍下一级给的ready信号

out_axis_tvalid_reg是上一拍,本级给下级的valid信号

一共有四种组合,然后可以通过这个if语句,在接下来的begin ... end中,用来判断本拍的valid是不是可以拉高。

out_axis_tvalid_reg=0,m_axis_tready=0

上一拍没有拉高有效信号,说明没有有效数据要输出。正好上一拍也没有拉高ready。那么我本拍是可以把valid拉高(如果有数据)或者拉低(如果没有输出)的。

out_axis_tvalid_reg=0,m_axis_tready=1

上一拍没有拉高有效信号,说明没有有效数据要输出。虽然上一拍给了ready,但是我确实是没有数据可以输出的。那么我本拍是可以把valid拉高(如果有数据)或者拉低(如果没有输出)的。

out_axis_tvalid_reg=1,m_axis_tready=0

上一拍有拉高有效信号,说明有有效数据要输出,但是上一拍没有给ready。说明数据没有输出,这一拍自然也就没得选,只能是保持值不变(也就是拉高)。

out_axis_tvalid_reg=1,m_axis_tready=1

上一拍有拉高有效信号,说明有有效数据要输出,并且给到了ready。说明数据输出了,那么我本拍是可以把valid拉高(如果有数据)或者拉低(如果没有输出)的。

http://www.lryc.cn/news/2385439.html

相关文章:

  • C++八股 —— 手撕定时器
  • K8S-statefulset-mysql-ha
  • 【方案分享】展厅智能讲解:基于BLE蓝牙Beacon的自动讲解触发技术实现
  • web常见的攻击方式有哪些?如何防御?
  • 力扣:《螺旋矩阵》系列题目
  • 发电厂进阶,modbus TCP转ethernet ip网关如何赋能能源行业
  • 深入了解linux系统—— 操作系统的路径缓冲与链接机制
  • Ansible快速入门指南
  • 华为2025年校招笔试真题手撕教程(一)
  • 第9.2讲、Tiny Decoder(带 Mask)详解与实战
  • postgresql 常用参数配置
  • Python模块中的私有命名与命名空间管理:深入解析与实践指南
  • 基于PCRLB的CMIMO雷达网络多目标跟踪资源调度
  • AtCoder Beginner Contest 407(ABCDE)
  • VILT模型阅读笔记
  • 掌握 npm 核心操作:从安装到管理依赖的完整指南
  • OpenCV CUDA模块特征检测与描述------一种基于快速特征点检测和旋转不变的二进制描述符类cv::cuda::ORB
  • Awesome ChatGPT Prompts:释放AI对话潜力的开源利器
  • Prompt Tuning:轻量级微调与反向传播揭秘
  • C++ 继承详解:基础篇(含代码示例)
  • PP-YOLOE-SOD学习笔记2
  • OpenLayers 加载测量控件
  • .NET ORM开发手册:基于SqlSugar的高效数据访问全攻略
  • 【PostgreSQL】数据探查工具1.0研发可行性方案
  • C++ 内存管理与单例模式剖析
  • 算法学习——从零实现循环神经网络
  • win10使用nginx做简单负载均衡测试
  • 2025电工杯数学建模B题思路数模AI提示词工程
  • 软考软件评测师——软件工程之开发模型与方法
  • 前端表单中 `readOnly` 和 `disabled` 属性的区别