NTU ARM Lab. Lab. 5 Memory Controller
description
Transcript of NTU ARM Lab. Lab. 5 Memory Controller
![Page 1: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/1.jpg)
NTU ARM Lab.Lab. 5 Memory Controller
指導教授 : 吳安宇 教授學生 : 李源華 R91921062 鍾慶諺 R91522801 陳宗裕 P91921001
![Page 2: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/2.jpg)
Lab. 5 Memory Controller
•Memory Map of ARM
![Page 3: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/3.jpg)
Bug
This program does the following tasks:1. Backup the data in the SSRAM at locations 0x30000 to 0x38000 range to the SDRAM at locations 0x80000000 to 0x80008000.2. Write values to the SSRAM at locations 0x30000 to 0x38000.3. Verify the values in the SSRAM at locations 0x30000 to 0x38000.4. Restore the backup data back to their original locations.
printf ("Writing...\n");for (i=0;i<0x8000;i+=4){
SSRAM_PTR = (unsigned int *) i ; *SSRAM_PTR = i;
}
printf ("Verifying...\n");for (i=0x0;i<0x8000;i+=4){
SSRAM_PTR = (unsigned int *) i ;if (*SSRAM_PTR != i){
printf ("SSRAM W/R test error!!\n");printf ("Error address>> %x\n",i);SSRAM_test_error = 1;Getchar ();
}}
(i+0x30000)
![Page 4: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/4.jpg)
Code Size of ARM
![Page 5: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/5.jpg)
Code Size of Thumb
![Page 6: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/6.jpg)
Core Module – Block Diagram
![Page 7: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/7.jpg)
Processor write to System Bus
![Page 8: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/8.jpg)
Processor read from System Bus
![Page 9: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/9.jpg)
System Bus
![Page 10: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/10.jpg)
Philips MP3 SOC – SAA7750EL
![Page 11: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/11.jpg)
MP3 Player – SAA7750EL
![Page 12: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/12.jpg)
How many guys ?
• If we have 1 IC designer, we should hire 4 Firmware/Software designers.• Firmware/Software is very important in SOC Design. ex. SAA7750EL MP3 Player/ Ali DVD Chip Set software is not ready tile now . Taiwan IC Design house always do not follow this rule. So some system design houses have benefit ……hahhaha
![Page 13: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/13.jpg)
Memory Types
NAND Flash : a sequential access device appropriate for mass storage applications (song files of MP3…)NOR Flash(linear Flash) : a random access device appropriate for code storage applicationsSDRAM : Data process
![Page 14: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/14.jpg)
Memory Controller
AHBWrapper
(Memory Controller)
SDRAM
AHB
AHBWrapper
(Memory Controller)
FLASH
![Page 15: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/15.jpg)
FPGA/CPLD Configuration
Configuration mode
In configuration mode the debuggable devices are still accessible and, in addition, all FPGAs and PLDs in the system are added into the scan chain. This allows the board to be configured or upgraded in the field using Multi-ICE or other JTAG debugging
equipment.
To select configuration mode, fit a jumper to the CONFIG link on the core module at
the top of the stack (see Figure 3-11 on page 3-23). This has the effect of pulling the
nCFGEN signal LOW, illuminating the CFG LED (yellow) on each module in the
stack, and rerouting the JTAG scan path. The LED provides a warning that the
development system is in the configuration mode.
From 3-26: DUI0126B_CM7TDMI_UG.pdf
![Page 16: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/16.jpg)
FPGA/CPLD Configuration
![Page 17: NTU ARM Lab. Lab. 5 Memory Controller](https://reader035.fdocuments.net/reader035/viewer/2022062221/568139fd550346895da1c50e/html5/thumbnails/17.jpg)
Reference1. ARM Core Module --- Core Module DUI0126B_CM7TDMI_UG.pdf2. SDRAM Interface in Verilog --- Lattice Application Note re10073. NAND Flash interface in Verilog --- Xilinx Application Note XAPP354