Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Random 如何在FPGA中生成伪随机数?_Random_Fpga - Fatal编程技术网

Random 如何在FPGA中生成伪随机数?

Random 如何在FPGA中生成伪随机数?,random,fpga,Random,Fpga,如何在FPGA中生成伪随机数?这一点已经讨论过了(我选择LFSR): 如果不是为了加密或其他有智能对手的应用(例如赌博),我会使用一种方法 它只使用异或和移位,因此在硬件中实现非常简单。关于在FPGA中高效生成伪随机数序列,有一个优秀的Xilinx应用说明。正如其他人所说,LFSR可用于FPGA中的伪随机数。这里是最大长度32位LFSR的VHDL实现 process(clk) -- maximal length 32-bit xnor LFSR based on xilinx app no

如何在FPGA中生成伪随机数?

这一点已经讨论过了(我选择LFSR):

如果不是为了加密或其他有智能对手的应用(例如赌博),我会使用一种方法


它只使用异或和移位,因此在硬件中实现非常简单。

关于在FPGA中高效生成伪随机数序列,有一个优秀的Xilinx应用说明。正如其他人所说,LFSR可用于FPGA中的伪随机数。这里是最大长度32位LFSR的VHDL实现

process(clk)

  -- maximal length 32-bit xnor LFSR based on xilinx app note XAPP210
  function lfsr32(x : std_logic_vector(31 downto 0)) return std_logic_vector is
  begin
    return x(30 downto 0) & (x(0) xnor x(1) xnor x(21) xnor x(31));
  end function;

begin
  if rising_edge(clk) then
    if rst='1' then
      pseudo_rand <= (others => '0');
    else
      pseudo_rand <= lfsr32(psuedo_rand);
    end if;
  end if;
end process;
过程(clk)
--基于xilinx app note XAPP210的最大长度32位xnor LFSR
函数lfsr32(x:std_logic_vector(31到0))返回std_logic_vector为
开始
返回x(30向下至0)和(x(0)或x(1)或x(21)或x(31));
末端功能;
开始
如果上升沿(clk),则
如果rst='1',则
伪随机数“0”);
其他的

伪随机对于那些在FPGA中搜索随机数的人来说,他们将能够更容易地找到这个问题。因此,我不会投票以重复的方式关闭。也许那些在stackoverflow中寻找FPGA的人想知道一个特定的站点:哦,很好,它是在这里被问到的,而不是在这个区域51站点。它已被删除;)