1

我想知道在具有 ARM 处理器和 FPGA 的 zedboard(Xilinx Zynq-7020)上生成随机数的最快方法是什么,据我了解,两者都可以做到这一点。

谢谢,

4

3 回答 3

3

如果您正在开发仅 FPGA 或裸机应用程序 + FPGA 项目,我将在 FPGA 中生成(伪)随机数。如果您使用 Linux 并构建嵌入式应用程序 + FPGA,我会在软件中生成数字。

如果您在 FPGA 中生成数字,那么您可以使用 Xilinx ISE 内置的代码模板!很可能您正在使用 ISE,因为我怀疑还有其他东西支持 Zynq。

像这样在 ISE 中生成 LFSR:从顶部的菜单中:编辑 -> 语言模板。在语言模板树视图中:(VHDL 或 Verilog)-> 综合构造 -> 编码示例 -> 计数器 -> LFSR。4 个模板之一是 32 位。您需要提供种子编号和时钟线。

如果您从 Linux 应用程序生成随机数,那么肯定有很多不同的方法可以做到这一点。在 C 应用程序中,cstdlib 中有一个 rand 函数。

于 2013-01-09T02:45:17.790 回答
1

您可能正在寻找“线性反馈移位寄存器”或 LFSR。快速的互联网搜索将为您提供详细信息。

于 2013-01-08T16:00:48.777 回答
0

线性反馈移位寄存器无疑是生成随机数的最简单方法。查看此文档:http ://www.xilinx.com/support/documentation/application_notes/xapp052.pdf 您需要的一切都在那里。

于 2013-01-10T12:51:14.803 回答