-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stdlib board #2
base: main
Are you sure you want to change the base?
Stdlib board #2
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this not be 4 cores?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we know the actual core freq on the board? I guess lscpu should tell us
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.