首页 > 其他 > 详细

Rocket - tilelink - Delayer

时间:2019-08-09 22:51:41      阅读:112      评论:0      收藏:0      [点我收藏+]

https://mp.weixin.qq.com/s/pc8f_DOJ7w8k8BeM9gPzVw

 
简单介绍Delayer的实现。
 
1. 基本介绍
 
以一定的概率延迟消息的传递。
 
类参数 q is the probability to delay a request:
?技术分享图片?
 
取值范围在[0, 1):
?技术分享图片?
 
2. diplomacy node
 
Delayer的diplomacy node就是一个简单的AdapterNode,没有对经过他的参数做修改:
?技术分享图片?
 
3. lazy module
 
lazy module实现内部逻辑,把输入边与输出边连接到一起。
 
1) 成对的输入边和输出边
 
?技术分享图片?
 
2) anoise
 
输入到channel a的噪声:
?技术分享图片?
其中:LFSRNoiseMaker用于产生固定宽度的随机输出;
 
3) bnoise
 
输入到channel b的噪声:
?技术分享图片?
 
4) cnoise
 
输入到channel c的噪声:
?技术分享图片?
 
5) dnoise
 
输入到channel d的噪声:
?技术分享图片?
 
6) enoise
 
输入到channel e的噪声:
?技术分享图片?
 
7) feed a/b/c/d/e
 
把噪声和上游消息feed到下游:
?技术分享图片?
 
8) feed
 
用于把source和noise,喂到sink中:
?技术分享图片?
其中:
a. q是一个概率值,这个值越大,q * 65535 <= random_16的可能性越小,即allow的概率越小,也就是延迟的概率越大;
b. sink.valid为假时,向sink.bits喂入noise。但此时sink.valid为假,所以sink并不会从sink.bits中读取消息;也就是说noise并不会被使用;
 
4. object Delayer
 
用于简化Delayer的创建:
?技术分享图片?
 
5. 附录
 
 

Rocket - tilelink - Delayer

原文:https://www.cnblogs.com/wjcdx/p/11329681.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!