存在4种类型的sram(sram1,sram2,sram3,sram4),其中sram1和sram2属于SPSRAM类型,sram3和sram4属于DPSRAM类型,每种类型的sram对应3个mux值(4,8,16),每个mux值对应一个word_depth列表和一个io列表。建立一个类,类里面定义函数,当用户输入sram类型时,函数返回每个sram的每个mux对应word_depth_list最大值和io_list最大值。 示例: 当用户输入SPSRAM时,函数返回sram1和sram2中每个mux对应的word_depth_list最大值和io_list的最大值。
时间: 2023-04-02 08:01:17 浏览: 72
好的,我可以回答这个问题。以下是建立的类及其函数:
```c
#include <stdio.h>
#define SPSRAM 1
#define DPSRAM 2
#define MUX_4
#define MUX_8 1
#define MUX_16 2
#define MAX_WORD_DEPTH 3
#define MAX_IO 3
int sram_type;
int mux_values[MAX_WORD_DEPTH] = {4, 8, 16};
int word_depth_list[MAX_WORD_DEPTH][MAX_IO] = {{256, 128, 64}, {512, 256, 128}, {1024, 512, 256}};
int io_list[MAX_WORD_DEPTH][MAX_IO] = {{32, 16, 8}, {64, 32, 16}, {128, 64, 32}};
void get_sram_info(int sram_type) {
if (sram_type == SPSRAM) {
printf("sram1:\n");
for (int i = ; i < MAX_WORD_DEPTH; i++) {
printf("mux%d: word_depth_list_max=%d, io_list_max=%d\n", mux_values[i], word_depth_list[i][MUX_4], io_list[i][MUX_4]);
}
printf("sram2:\n");
for (int i = ; i < MAX_WORD_DEPTH; i++) {
printf("mux%d: word_depth_list_max=%d, io_list_max=%d\n", mux_values[i], word_depth_list[i][MUX_8], io_list[i][MUX_8]);
}
} else if (sram_type == DPSRAM) {
printf("sram3:\n");
for (int i = ; i < MAX_WORD_DEPTH; i++) {
printf("mux%d: word_depth_list_max=%d, io_list_max=%d\n", mux_values[i], word_depth_list[i][MUX_4], io_list[i][MUX_4]);
}
printf("sram4:\n");
for (int i = ; i < MAX_WORD_DEPTH; i++) {
printf("mux%d: word_depth_list_max=%d, io_list_max=%d\n", mux_values[i], word_depth_list[i][MUX_8], io_list[i][MUX_8]);
}
} else {
printf("Invalid sram type!\n");
}
}
int main() {
printf("Please enter sram type (1 for SPSRAM, 2 for DPSRAM): ");
scanf("%d", &sram_type);
get_sram_info(sram_type);
return ;
}
```
用户可以输入1或2来选择sram类型,程序将返回每个sram的每个mux对应的word_depth_list最大值和io_list的最大值。例如,当用户输入1时,程序将返回sram1和sram2中每个mux对应的word_depth_list最大值和io_list的最大值。
阅读全文