Title :
Memory-mapped I/O over dual port BRAM on FPGA
Author :
Melo, Rodrigo A. ; Caruso, David M. ; Tropea, Salvador E.
Author_Institution :
Lab. de Desarrollo Electronico con Software Libre, Inst. Nac. de Tecnol. Ind., Buenos Aires, Argentina
Abstract :
Nowadays, Direct Memory Access (DMA) is one of the most used mechanisms for data transfer between a processor and its peripherals. Another possibility is to map peripherals directly in the memory space, which has the disadvantage of requiring dual port memories when the device handles large quantities of data. It typically is the case of video and network applications. In this work we propose the use of dual port BRAM often available in modern FPGAs to implement a core using Memory mapped I/O (MMIO). As a case study, we present the development of an AVR microcontroller core with the Media Access Controller (MAC) Ethernet built in. It is capable of running the uIP TCP/IP stack, with a Web Server as example application. Additionally, we discuss the advantages of moving the program code to an external memory that use the Common Flash Interface (CFI) standard. This design was simulated with Free Software tools and it was verified in hardware using a Xilinx Virtex 4 FPGA.
Keywords :
Internet; field programmable gate arrays; file servers; local area networks; microcontrollers; random-access storage; AVR microcontroller core; Common Flash Interface standard; Free Software tool; Web Server; Xilinx Virtex 4 FPGA; external memory; media access controller Ethernet built in; memory-mapped I-O over dual port BRAM; modern FPGA; program code; uIP TCP-IP stack; Field programmable gate arrays; Hardware; IP networks; Microcontrollers; Random access memory; Read only memory; Registers; AVR; BRAM; CFI; DMA; Ethernet; FPGA; MAC; MMIO; Web server; uIP;
Conference_Titel :
Programmable Logic (SPL), 2012 VIII Southern Conference on
Conference_Location :
Bento Goncalves
Print_ISBN :
978-1-4673-0184-8
DOI :
10.1109/SPL.2012.6211780