######### 随机数生成器

库: 存储器
引入版本: 2.3.0
外观: #########

行为

该组件生成伪随机数序列。当组件使能时,每次时钟按触发方式触发,都会使序列前进到下一个数。该组件使用的伪随机算法是线性同余发生器:从种子 r0 开始,下一个数 r1 由下式给出:

r1 = (25,214,903,917 r0 + 11) mod 248

再下一个数 r2r1 通过同样的计算得到,依此类推。该序列是 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 的瞬间更新。
标签
与组件关联的标签文本。
标签字体
用于渲染标签的字体。

手形工具行为

无。

文本工具行为

编辑与组件关联的标签。

返回 库参考手册