Conversation
…ged BP table size to power of 2 (required by gem5) and added U74.CPU to SimpleProcessor board integration
…oard class that inherits from base class SimpleBoard
…tion into stdlib_board
aakahlow
left a comment
There was a problem hiding this comment.
Still looking into this. But, here are a few comments
| memory.set_memory_range( | ||
| [AddrRange(start=0x80000000, size=memory.get_size())]) | ||
|
|
||
| processor = SimpleProcessor(cpu_type=CustomCPUTypes.U74, num_cores=1) |
There was a problem hiding this comment.
Should this not be 4 cores?
There was a problem hiding this comment.
It is using the MinorCPU as the base class, which doesn't seem to allow more than 1 core. Is there any way to get around that?
| processor = SimpleProcessor(cpu_type=CustomCPUTypes.U74, num_cores=1) | ||
|
|
||
| super().__init__( | ||
| clk_freq="1.2GHz", # real system is 1.0 to 1.5 GHz |
There was a problem hiding this comment.
Do we know the actual core freq on the board? I guess lscpu should tell us
There was a problem hiding this comment.
lscpu is not listing it. We got the frequency from this datasheet:
https://sifive.cdn.prismic.io/sifive/d0556df9-55c6-47a8-b0f2-4b1521546543_hifive-unmatched-datasheet.pdf
The manual says that the recommended frequency is 1.0 GHz and up to 1.5 GHz is possible (section 7.1)
https://sifive.cdn.prismic.io/sifive/1a82e600-1f93-4f41-b2d8-86ed8b16acba_fu740-c000-manual-v1p6.pdf
…tion into stdlib_board
…ost for the up to date version
Merge the files for the HiFive Unmatched gem5 board into main. The files for the board are in riscv-validation/newboard/hifivenew. There is a README in riscv-validation/newboard/ that documents the board's specs and instructions on how to use the board in gem5. The board is intended to model the real Unmatched board closely. A compromise was made on localHistoryTableSize parameter for the branch predictor. The official specs say that size is 3.6 KiB, but gem5 would not accept a value that is not a power of 2 for this parameter. The value used is 4 KiB.