처음 초기화 할 때 모든 비트를 1로 설정하여 메모리 bitmem
을 초기화하려고합니다. 나는 에서 값을 초기화하는 비슷한 방법이 있다면 inits
used ROM에 대해 봤어?Mem (치즐)에서 데이터 초기화
val bitmem = Mem(Bits(width = conf.ways), (conf.cache_lines*conf.words_per_line)
처음 초기화 할 때 모든 비트를 1로 설정하여 메모리 bitmem
을 초기화하려고합니다. 나는 에서 값을 초기화하는 비슷한 방법이 있다면 inits
used ROM에 대해 봤어?Mem (치즐)에서 데이터 초기화
val bitmem = Mem(Bits(width = conf.ways), (conf.cache_lines*conf.words_per_line)
치즐은 제일 먼저 ASIC 설계에 사용됩니다. 따라서 synthesizable 하드웨어에 초점을 맞추어 Chisel 코드를 시뮬레이션 할 때 합성중인 것과 동일한 것을 시뮬레이션합니다. Mem
은 ASIC의 SRAM에 매핑하기위한 것이므로 SRAM을 초기화 할 수 없기 때문에 Chisel 자체에서는이 구문을 지원하지 않습니다. SRAM 대신 레지스터를 만들려면 Reg of Vec을 사용해보십시오.
그러나 Mems를 초기화하는 기능은 분명히 시뮬레이션에 유용한 기능입니다. 우리는 Chisel Testers을 개선하는 과정에 있으며이 기능은 1 등석 기능을위한 것입니다. 우리는 또한 Chisel API could help users initialize their memories in Verilog or SystemVerilog testbenches을 논의하고 있습니다.
해결 방법으로는 메모리 (또는 메모리)를 초기화해야하는지 (예 : 시뮬레이션 또는 합성을 위해 정교해야하는지)에 따라 디자인을 매개 변수화하고, 당신이 아니라면 시뮬레이션과 Mem입니다.