随机数生成器
| 库: | 存储器 |
| 引入版本: | 2.3.0 |
| 外观: |
|
行为
该组件生成伪随机数序列。当组件使能时,每次时钟按触发方式触发,都会使序列前进到下一个数。该组件使用的伪随机算法是线性同余发生器:从种子 r0 开始,下一个数 r1 由下式给出:
再下一个数 r2 由 r1 通过同样的计算得到,依此类推。该序列是 48 位(bit)整数序列,其输出端的数值是将当前种子的低 12 位丢弃后,再取其低位部分(位数由“数据位宽”属性配置)得到的结果。
除了时钟输入外,该元件还包含一个 使能 输入:当 使能 为 0 时,时钟输入会被忽略;以及一个 复位 输入:它会将元件的数值异步重置为初始种子 r0。
初始种子可由用户配置。若种子配置为 0(默认值),则种子会基于当前时间生成;当通过 复位 输入发出重置指令时,元件会根据新的当前时间重新计算一个新的种子。
引脚(以经典外观为例)
- 东侧,标记为 Q(输出,位宽与数据位属性匹配)
- 输出元件当前存储的数值。
- 南侧,左边引脚(在 Logisim-evolution 外观中位于西侧下方),带三角形标记(输入,位宽 1)
- 时钟:当该输入按触发方式属性所指定的方式触发时,元件会前进到序列中的下一个数。
- 西侧引脚(在 Logisim-evolution 外观中位于西侧中间,标记为 EN)(输入,位宽 1)
- 使能:当该输入未连接或为 1 时,元件处于使能;若为 0,则忽略时钟输入。
- 南侧,右边引脚,标记为 0(在 Logisim-evolution 外观中位于西侧上方,标记为 R)(输入,位宽 1)
- 复位:当该输入为 1 时,伪随机序列会异步复位到初始种子。(若种子为 0,则这次产生的新种子与上一次使用的初始种子不同。)
属性
当元件被选中或正在放置时,Alt-0 到 Alt-9 可修改其 数据位宽
属性。
- 数据位宽
- 元件输出数值的位宽。
- 种子
- 伪随机序列的起始值。若该值为 0(默认),则起始值基于随机序列开始时的时间生成。
- 触发方式
-
配置如何解释时钟输入。
上升沿
表示时钟从 0 上升到 1 的瞬间更新;下降沿
表示时钟从 1 下降到 0 的瞬间更新。 - 标签
- 与组件关联的标签文本。
- 标签字体
- 用于渲染标签的字体。
手形工具行为
无。
文本工具行为
编辑与组件关联的标签。
返回 库参考手册