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. 附录
略
Rocket - interrupts - Crossing的更多相关文章
- Rocket - interrupts - Nodes
https://mp.weixin.qq.com/s/BlW4y0Ez1kppxvSHAla31A 简单介绍interrupts相关的diplomacy节点. 1. IntImp 中断节点实现: 1) ...
- Rocket - interrupts - Parameters
https://mp.weixin.qq.com/s/eD1_hG0n8W2Wodk25N5KnA 简单介绍interrupts相关的Parameters. 1. IntRange 定义一个中断号区间 ...
- Rocket - interrupts - Xbar
https://mp.weixin.qq.com/s/icPGf4KdSOudwuNpLxdo7w 简单介绍Xbar的实现. 1. 简单介绍 IntXbar主要用于把上游多个中断源的中断组合在一起,然 ...
- Rocket - interrupts - NullIntSource
https://mp.weixin.qq.com/s/Fn3u2OSLAzPDrlZTiLfikg 简单介绍NullIntSource的实现. 1. 简单介绍 NullIntSource实现一个不会发 ...
- Rocket - 断句 - Diplomatic Design Patterns: A TileLink Case Study
https://mp.weixin.qq.com/s/afRVgTCYs1Mxu898uSmVaQ 整理一篇介绍Diplomacy和TileLink的文章. 原文链接: https://carrv ...
- [LeetCode] Self Crossing 自交
You are given an array x of n positive numbers. You start at point (0,0) and moves x[0] metres to th ...
- 【LeetCode】Self Crossing(335)
1. Description You are given an array x of n positive numbers. You start at point (0,0) and moves x[ ...
- 还记得高中的向量吗?leetcode 335. Self Crossing(判断线段相交)
传统解法 题目来自 leetcode 335. Self Crossing. 题意非常简单,有一个点,一开始位于 (0, 0) 位置,然后有规律地往上,左,下,右方向移动一定的距离,判断是否会相交(s ...
- Crossing River
Crossing River 题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=26251 题意: N个人希望去过 ...
随机推荐
- E. Marbles 状压dp
E. Marbles 这个是一个状压dp 题目大意是:给你一个数组,数组的数在1到20之间,有一个操作就是交换相邻的两个数,问 让所有相同的数相邻的最小操作次数 dp[s] 表示s状态下的操作次数,w ...
- CC2530定时器
一.定时/技术器的基本原理 定时/计数器,是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向CPU提出中断处理请求,从而实现定时或者计数功能的外设. 定时/计数 ...
- SpringCloudGateWay学习 之 从函数式编程到lambda
文章目录 前言: 函数式编程: 什么是函数式编程: 函数式编程的特点 lambda表达式: 核心: 函数接口: 方法引用: 类型推断: 变量引用: 级联表达式跟柯里化: 前言: 这一系列的文章主要是为 ...
- 【Spark】如何用Spark查询IP地址?
文章目录 需求 思路 ip地址转换为Long类型的两种方法 ip地址转换数字地址的原理 第一种方法 第二种方法 步骤 一.在mysql创建数据库表 二.开发代码 需求 日常生活中,当我们打开地图时,会 ...
- SQLserver分库分表
https://blog.csdn.net/ExceptionalBoy/article/details/78851327
- Mysql 常用函数(15)- upper 函数
Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html upper 的作用 将所有字符串更改为大写,然后返 ...
- Linux 命令行下搜索工具大盘点,效率提高不止一倍!
在 Linux 命令行下进行文本关键字的搜索,大家肯定第一时间会想到 grep 命令.grep 命令确实十分强大,但如果需要用到它更加灵活的功能时,可能命令就会显得十分复杂. 于是,为了简化 grep ...
- filebeat-kafka:WARN producer/broker/0 maximum request accumulated, waiting for space
You need to configure 3 things: Brokers Filebeat kafka output Consumer Here a example (change paths ...
- Python-控制台实现简单的名片管理系统
通过Python开发一个基于控制台的名片管理系统,具体看下图以及相关代码. cards_main.py文件中提供程序的入口 import cards_toolslx while True: # TOD ...
- 【雕爷学编程】Arduino动手做(45)---红外避障传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...