All checks were successful
build / test (3.10) (push) Successful in 6s
build / test (3.11) (push) Successful in 6s
build / test (3.12) (push) Successful in 6s
build / test (3.13) (push) Successful in 6s
build / test (3.9) (push) Successful in 6s
build / lint (push) Successful in 7s
build / mypy (push) Successful in 8s
build / test (3.10) (release) Successful in 6s
build / test (3.11) (release) Successful in 6s
build / test (3.12) (release) Successful in 6s
build / test (3.13) (release) Successful in 6s
build / test (3.9) (release) Successful in 6s
build / lint (release) Successful in 8s
build / mypy (release) Successful in 8s
build / Build distributions (push) Successful in 7s
build / Build distributions (release) Successful in 8s
build / deploy (push) Has been skipped
build / deploy (release) Successful in 6s
78 lines
1.6 KiB
Plaintext
78 lines
1.6 KiB
Plaintext
regfile rf1 #(
|
|
longint WIDTH = 32
|
|
){
|
|
default regwidth = WIDTH;
|
|
reg myreg1 {
|
|
field {} f1[WIDTH/4];
|
|
field {} f2[WIDTH/4];
|
|
field {} f3[WIDTH/4];
|
|
field {} f4[WIDTH/4];
|
|
};
|
|
reg myreg2 {
|
|
field {} f1[WIDTH/8];
|
|
field {} f2[WIDTH/8];
|
|
field {} f3[WIDTH/8];
|
|
field {} f4[WIDTH/8];
|
|
};
|
|
reg myreg3 {
|
|
field {} f1[1:1];
|
|
field {} f2[4:3] = 3;
|
|
field {} f3[6:5] = 2;
|
|
};
|
|
|
|
myreg1 r1 @ 0x100;
|
|
myreg2 r2[3];
|
|
myreg3 r3[5];
|
|
|
|
myreg1 r4 @ 0x200;
|
|
myreg2 r5;
|
|
myreg3 r6;
|
|
};
|
|
|
|
|
|
mem mem_empty #(
|
|
longint WIDTH = 32
|
|
){
|
|
memwidth = WIDTH;
|
|
mementries = 16;
|
|
};
|
|
|
|
mem mem_vregs #(
|
|
longint WIDTH = 32
|
|
){
|
|
memwidth = WIDTH;
|
|
mementries = 16;
|
|
reg myreg {
|
|
regwidth = WIDTH;
|
|
field {} f1[WIDTH/2];
|
|
field {} f2[WIDTH/4];
|
|
field {} f3[WIDTH/8];
|
|
field {} f4[WIDTH/8];
|
|
};
|
|
myreg r1[8];
|
|
myreg r2;
|
|
myreg r3[6];
|
|
myreg r4;
|
|
};
|
|
|
|
|
|
addrmap top {
|
|
rf1 #(.WIDTH(8)) rf1_8;
|
|
rf1 #(.WIDTH(16)) rf1_16;
|
|
rf1 #(.WIDTH(32)) rf1_32;
|
|
rf1 #(.WIDTH(64)) rf1_64;
|
|
rf1 #(.WIDTH(8)) rf1_8_again;
|
|
|
|
external mem_empty #(.WIDTH(8)) mem_empty_8;
|
|
external mem_empty #(.WIDTH(16)) mem_empty_16;
|
|
external mem_empty #(.WIDTH(32)) mem_empty_32;
|
|
external mem_empty #(.WIDTH(64)) mem_empty_64;
|
|
external mem_empty #(.WIDTH(8)) mem_empty_8_again;
|
|
|
|
external mem_vregs #(.WIDTH(8)) mem_vregs_8;
|
|
external mem_vregs #(.WIDTH(16)) mem_vregs_16;
|
|
external mem_vregs #(.WIDTH(32)) mem_vregs_32;
|
|
external mem_vregs #(.WIDTH(64)) mem_vregs_64;
|
|
external mem_vregs #(.WIDTH(8)) mem_vregs_8_again;
|
|
};
|