vhdl - 在 VHDL 中生成随机值的替代算法?

标签 vhdl hardware fpga

我一直在使用根据本原多项式实现的 LFSR,但如您所知,LFSR 按重复顺序生成许多可能的值,这意味着它不是真正随机的!

继续使用 LFSR 并确保它产生真正随机值的一个解决方案是使用某种动态方式读取 LFSR 输出的值,但我不知道如何在硬件(VHDL)中执行此操作!

因此,我正在寻找一种真正产生定义长度的随机意外重复值的替代方法,即。 10 位

有什么建议吗?我计划用 VHDL 实现它们!

最佳答案

生成真正的随机数实际上是一个独立的研究领域。基本上,您需要通过某种传感器收集有关一些看似随机的自然现象的信息。目前的硬件和软件是确定性的,因此具有相同的输入将始终导致相同的输出。收集外部传感器信息可以“随机化”您的输入。

这里有一些阅读:https://en.wikipedia.org/wiki/Pseudorandom_number_generator

此外,这是在同行评审的期刊文章中使用外部传感器输入的实际示例,标题为 Random Number Generated from White Noise of Webcam ,以及摘要中的一小段信息:

Random number generators play a very import role in modern cryptography, especially in personal information security. For example, to generate random number from white noise of webcam is a new approach for personal device. Through our algorithms, 91% IPcam generating sequences pass at least four statistical tests, 87% pass all five ones has been approved. Compared with webcam and video respectively, on the contrary, the possibility for both generating sequences to pass all five statistical tests is roughly 80%. The result implies improvement by algorithm on personal devices such as laptop, for instance, is necessary to generate qualified random number to protect private information.

关于vhdl - 在 VHDL 中生成随机值的替代算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35343671/

相关文章:

linux - 如何强制 linux 内核枚举 PCI-e 总线?

vhdl - 'sra' 在 VHDL 中不工作

vhdl - 如何将 std_logic_vector 的一位分配给 1,将其他的分配给 0

python - 在 python 中使用硬件编程

linux - Linux 上通过 TCP 的虚拟串口

python - 使用 Python 进行 IC 设计/验证

port - 如何使用端口映射忽略输出端口

port - VHDL错误: formal port 'num' has no actual or default value

hardware - RAID 1是否可以在不同的RAID Controller 之间移植?

simulation - 用于仿真的 VHDL 替代子模块架构