在创建FIRRTL寄存器时,可以提供"with:(重置=> .)“值,用于初始化寄存器。
在创建FIRRTL内存(也称为动态寄存器数组)时,似乎没有相应的语法为内存元素提供初始值。因此,初始化内存的最佳实践是什么?
发布于 2022-07-27 18:17:21
通常,对于内存没有等效的寄存器重置,因为当我们查看VLSI存储器(SRAM)的典型物理实现时,无法在一个周期内重置所有内存位置。
在ASIC上,当电路开机时,也(通常)无法确保存储单元具有特定的值。然而,在仿真、形式验证和FPGA上,可以确保内存被初始化。为此,有几个firrtl注释是Verilog后端、treadle模拟器和正式后端所尊重的。这些注释是:
MemoryScalarInitAnnotationMemoryArrayInitAnnotationMemoryFileInlineAnnotation通过查看firrtl存储库中的相应测试,您可以看到如何使用这些注释。
https://stackoverflow.com/questions/73131706
复制相似问题