Rocket - interrupts - Crossing
https://mp.weixin.qq.com/s/nSX4prXFb4K5GSUhPtOUCg
简单介绍Crossing的实现。
1. IntXing
这是一个LazyModule:
1) 参数
a. sync:表示同步所需要的时钟周期数。
b. p:隐式参数,表示外部配置;
2) diplomacy node
用于与其他diplomacy node连接以及协商参数的节点,在这里是一个适配器节点:
3) lazy module
lazy module用于实现IntXing的内部逻辑:
A. 成对的输入边和输出边
B. 实现Crossing逻辑
这里直接使用SynchronizerShiftReg接收in的输入,并输出到out:
2. IntSyncCrossingSource
1) class
class IntSyncCrossingSource是一个LazyModule:
A. 参数alreadyRegistered表示输入in是否已经过一个异步复位寄存器;
B. node为diplomacy节点;
C. lazy module实现IntSyncCrossingSource节点的逻辑;这里使用异步复位寄存器把输入in的数据输出到out;
2) object
伴生对象用于创建一个IntSyncCrossingSource,并返回其中的diplomacy node,以与其他节点连接:
3. IntSyncCrossingSink
用于创建一个下游LazyModule:
1) 参数sync:上游到下游的Crossing所需要的时钟周期数;
2) diplomacy node:IntSyncSinkNode类型的下游节点;
3) lazy module:使用同步移位寄存器(SynchronizerShiftReg)实现Crossing逻辑;
4. CrossingHelper
1) IntInwardCrossingHelper
为参数node,根据ClockCrossingType生成相应的Crossing连接。其中,参数node作为下游节点:
2) IntOutwardCrossingHelper
为参数node,根据ClockCrossingType生成相应的Crossing连接。其中,参数node作为上游节点:
5. 附录
略
最新文章
- ASP.NET基础代码备忘
- 复习练习(03)jquery Css方法一步步升级
- BZOJ 3640 JC的小苹果(逆矩阵)
- hdu3264Open-air shopping malls(二分)
- [转载]WCF实现双工通信
- 如何用Entity Framework 6 连接Sqlite数据库[转]
- 自己做的网页页面导航浏览JS/JQuery_版本2(优化边缘)
- Android的Touch系统简介(一
- python列表sort方法的两个参数key, reverse
- Html、CSS、JavaScript 实时效果在线编辑器 - 学习的好工具,算不算?!
- Django源码学习 了解render与render_to_response
- H5微信通过百度地图API实现导航方式一
- File文件的读写操作RandomAccessFile类
- Linux 桌面玩家指南:11. 在同一个硬盘上安装多个 Linux 发行版以及为 Linux 安装 Nvidia 显卡驱动
- Heap Partition ZOJ - 3963(贪心)
- 不同IDE对maven项目静态资源处理
- 使用uiautomator2进行webview页面的测试
- openstack服务启动之nova-compute
- 如何查看java的class文件
- multipart/form-data文件上传
热门文章
- Spring Cloud学习 之 Spring Cloud Ribbon(执行流程源码分析)
- Linux 内核代码风格
- mongodb windows 集群搭建
- 在dynamics 365 中,看字段的描述需要到系统字段设置里面才能看到,这里提供一种sql直接看字段和实体名描述的方法
- js Date对象日期格式化
- angular前端框架简单小案例
- 容器技术之LXC WEB管理工具LXC WEB Panel
- 一文带你学会国产加密算法SM4的vue实现方案
- [Abp vNext 入坑分享] - 7.Automapper与validation的使用
- 3.3 Go浮点型