我想知道在zedboard(Xilinx Zynq-7020)上生成随机数的最快方法是什么,它具有ARM处理器和FPGA,据我所知,两者都能做到这一点。
谢谢,
答案 0 :(得分:3)
如果您正在开发FPGA或裸机应用+ FPGA项目,我会在FPGA中生成(伪)随机数。如果您正在使用Linux并构建嵌入式应用程序+ FPGA,我将在软件中生成该数字。
如果您在FPGA中生成数字,那么您可以使用Xilinx ISE内置的代码模板!可能你正在使用ISE,因为我怀疑其他任何东西都支持Zynq。
在ISE中生成LFSR,如下所示: 从顶部的菜单:编辑 - >语言模板。 在语言模板树视图中: (VHDL或Verilog) - >合成构建体 - >编码示例 - >计数器 - > LFSR。 4个模板中的一个是32位。 您需要提供种子编号和时钟线。
如果您从Linux应用程序生成随机数,则必须有许多不同的方法来执行此操作。在C应用程序中,cstdlib中有一个rand函数。
答案 1 :(得分:1)
您可能正在寻找“线性反馈移位寄存器”或LFSR。快速的互联网搜索将为您提供细节。
答案 2 :(得分:0)
线性反馈移位寄存器无疑是生成随机数的最简单方法。 查看此文档:http://www.xilinx.com/support/documentation/application_notes/xapp052.pdf 你需要的一切都在那里。