【问题标题】:Initialize data in Mem (Chisel)在 Mem (Chisel) 中初始化数据
【发布时间】:2017-05-08 21:30:13
【问题描述】:

我想在第一次初始化时通过将所有位设置为 1 来初始化内存 bitmem。看过initsused的ROM,不知道Mem中是否有类似的初始化值的方法?

val bitmem = Mem(Bits(width = conf.ways), (conf.cache_lines*conf.words_per_line)

【问题讨论】:

    标签: scala memory fpga hdl chisel


    【解决方案1】:

    Chisel 主要用于设计 ASIC。因此,重点是可合成硬件,因此当您模拟您的 Chisel 代码时,您模拟的是您正在合成的同一事物。由于Mem 旨在映射到 ASIC 中的 SRAM,而 SRAM 无法初始化,因此我们不支持 Chisel 本身的这种构造。如果您想创建寄存器而不是 SRAM,请尝试 Reg of Vec

    但是,初始化 Mems 的能力显然是一个有用的模拟功能。我们正在改进Chisel Testers,此功能旨在成为一流功能。我们也在讨论什么Chisel API could help users initialize their memories in Verilog or SystemVerilog testbenches

    同时,作为一种解决方法,您可以根据是否应该初始化内存(或多个内存)来参数化您的设计(即,如果您正在为模拟或综合进行详细说明),并在您初始化时发出 Vec 的 Reg当你不在的时候模拟和一个内存。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多