gpt4 book ai didi

random - 如何获得xilinx FPGA(spartan6系列)SRAM随机值?

转载 作者:行者123 更新时间:2023-12-01 11:24:56 25 4
gpt4 key购买 nike

Xilinx FPGA在power ram IP会被初始化为0,而不是电子随机数,但我需要电子随机数。

最佳答案

Xilinx FPGA 中 block RAM 的内容是配置比特流的一部分。默认情况下(意思是,如果您没有在设计中指定任何内容),该内容全为零。这是设计使然,例如,允许将 block RAM 用作 ROM,或用作使用引导加载程序代码预初始化的软处理器(例如 MicroBlaze)的内存。

如何完成您想要的取决于您实际需要内容的随机性。

预生成的随机数据

如果您的应用程序在每次启动时都具有相同的内容是可以接受的,您可以预先生成随机数据并在创建时使用该数据初始化 RAM 内容。这是最简单的选择。如果您查看 Spartan-6 Libraries Guide for HDL Designs 中对 RAMB8BWER 和 RAMB16BWER 原语的描述,您将看到 INIT_00INIT_3FINITP_01INITP_07 泛型正是用于此目的。

Spartan-6 上的 9-kb RAM (RAMB8BWER)

Xilinx (AR# 39999 9K Block RAM Initialization Support) 的设计咨询声明 9-kb block RAM 不会像上面描述的那样可靠地初始化。没有描述确切的行为,只是设备“无法初始化用户指定的数据或默认值”,所以我不会由此推断 block RAM 也没有可靠地未初始化。建议的解决方法之一是改用 18-kb block RAM(RAMB16BWER 原语)。

动态数据

如果您的应用程序在每次启动时都具有相同的内容是 Not Acceptable ,您将需要实际编写某种状态机以在使用前初始化 RAM 内容。这必须有多复杂取决于您对随机性的要求。您可以查看以下问题以获取指导:How to generate pseudo random number in FPGA? .

关于random - 如何获得xilinx FPGA(spartan6系列)SRAM随机值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38166207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com