gpcas_cpu_model/config/register_file.rs
1// Filename: scheduler.rs
2// Version: 0.4
3// Date: 10-01-2022 (DD-MM-YYYY)
4//
5// Copyright (c) 2021 Kai Rese
6// This program is free software: you can redistribute it and/or modify
7// it under the terms of the GNU Lesser General Public License as
8// published by the Free Software Foundation, either version 3 of the
9// License, or (at your option) any later version.
10//
11// This program is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this program. If not, see
18// <https://www.gnu.org/licenses/>.
19
20use serde::{Deserialize, Serialize};
21
22/// The properties of the register file.
23#[derive(Clone, Default, Deserialize, Serialize)]
24pub struct RegisterFile {
25 /// The number of physical general purpose registers.
26 ///
27 /// If not set, defaults to the number of architectural general purpose registers.
28 pub general_purpose_register_count: Option<usize>,
29 /// The number of physical vector registers.
30 ///
31 /// If not set, defaults to the number of architectural vector registers.
32 pub vector_register_count: Option<usize>,
33}