【chipyard】Gemmini 定制
实战目标
PE数量扩大到原来4倍
原来配置
tileRows: Int = 1,tileColumns: Int = 1,meshRows: Int = 16,meshColumns: Int = 16,
改后配置
tileRows: Int = 1,tileColumns: Int = 1,meshRows: Int = 16,meshColumns: Int = 16,
修改配置
修改配置文件,chipyard/generators/gemmini/src/main/scala/gemmini/GemminiConfigs.scala
的 GemminiArrayConfig 内容
- meshRows/meshColumns 的数值
- Scratchpad and accumulator memory parameters
修改后如下:
object GemminiConfigs {val defaultConfig = GemminiArrayConfig[SInt, Float, Float](// DatatypesinputType = SInt(8.W),weightType = SInt(8.W),accType = SInt(32.W),spatialArrayInputType = SInt(8.W),spatialArrayWeightType = SInt(8.W),spatialArrayOutputType = SInt(20.W),// Spatial array size optionstileRows = 1,tileColumns = 1,// meshRows = 16,// meshColumns = 16,meshRows = 32,//扩大两倍meshColumns = 32,//扩大两倍// Spatial array PE optionsdataflow = Dataflow.BOTH,// Scratchpad and accumulator//sp_capacity = CapacityInKilobytes(256), //acc_capacity = CapacityInKilobytes(64),sp_capacity = CapacityInKilobytes(1024), //扩大四倍acc_capacity = CapacityInKilobytes(256),//扩大四倍
重新编译
重新编译仿真器
cd $CY_DIR/sims/verilator
#make CONFIG=GemminiRocketConfig# Or, if you want a simulator that can generate waveforms, run this:
make -j$(nproc) debug CONFIG=GemminiRocketConfig
重新编译测试程序
cd $CY_DIR/generators/gemmini/software/gemmini-rocc-tests
./build.sh