Skip to content
Snippets Groups Projects
Commit 3bd655ad authored by Daniel Newbrook's avatar Daniel Newbrook
Browse files

Add memory preload for EXP rams in simulation

parent c9a665a3
No related branches found
No related tags found
No related merge requests found
......@@ -88,6 +88,12 @@ endif
exit 1; \
fi ;\
fi ;\
if [ -e expram_l.hex ] ; then \
cp expram_l.hex $(SIM_DIR)/expram_l.hex ; \
fi ;\
if [ -e expram_h.hex ] ; then \
cp expram_h.hex $(SIM_DIR)/expram_h.hex ; \
fi ;\
cd $(SIM_DIR) ;\
elif [ -d "$(PROJ_SW_DIR)/$(TESTNAME)" ] ; then \
cd $(PROJ_SW_DIR)/$(TESTNAME) ;\
......
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
......@@ -927,6 +927,34 @@ nanosoc_ft1248x1_track
// Format for time reporting
initial $timeformat(-9, 0, " ns", 0);
// Preload EXP rams
localparam aw_expram_l = u_nanosoc_chip_pads.u_nanosoc_chip.u_system.EXPRAM_L_RAM_ADDR_W;
localparam aw_expram_h = u_nanosoc_chip_pads.u_nanosoc_chip.u_system.EXPRAM_H_RAM_ADDR_W;
localparam awt_expram_l = ((1<<(aw_expram_l-2))-1);
localparam awt_expram_h = ((1<<(aw_expram_h-2))-1);
reg [7:0] fileimage_l [((1<<aw_expram_l)-1):0];
reg [7:0] fileimage_h [((1<<aw_expram_h)-1):0];
integer i,j;
initial begin
$readmemh("expram_l.hex", fileimage_l);
for (i=0;i<awt_expram_l;i=i+1) begin
u_nanosoc_chip_pads.u_nanosoc_chip.u_system.u_ss_expansion.u_region_expram_l.u_expram_l.u_sram.BRAM0[i] = fileimage_l[ 4*i];
u_nanosoc_chip_pads.u_nanosoc_chip.u_system.u_ss_expansion.u_region_expram_l.u_expram_l.u_sram.BRAM1[i] = fileimage_l[(4*i)+1];
u_nanosoc_chip_pads.u_nanosoc_chip.u_system.u_ss_expansion.u_region_expram_l.u_expram_l.u_sram.BRAM2[i] = fileimage_l[(4*i)+2];
u_nanosoc_chip_pads.u_nanosoc_chip.u_system.u_ss_expansion.u_region_expram_l.u_expram_l.u_sram.BRAM3[i] = fileimage_l[(4*i)+3];
end
$readmemh("expram_h.hex", fileimage_h);
for (i=0;i<awt_expram_h;i=i+1) begin
u_nanosoc_chip_pads.u_nanosoc_chip.u_system.u_ss_expansion.u_region_expram_h.u_expram_h.u_sram.BRAM0[i] = fileimage_h[ 4*i];
u_nanosoc_chip_pads.u_nanosoc_chip.u_system.u_ss_expansion.u_region_expram_h.u_expram_h.u_sram.BRAM1[i] = fileimage_h[(4*i)+1];
u_nanosoc_chip_pads.u_nanosoc_chip.u_system.u_ss_expansion.u_region_expram_h.u_expram_h.u_sram.BRAM2[i] = fileimage_h[(4*i)+2];
u_nanosoc_chip_pads.u_nanosoc_chip.u_system.u_ss_expansion.u_region_expram_h.u_expram_h.u_sram.BRAM3[i] = fileimage_h[(4*i)+3];
end
end
// Configuration checks
initial begin
`ifdef CORTEX_M0DESIGNSTART
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment