Font Size: a A A

Flash And USB Controller Design For FPGA Applications

Posted on:2011-07-15Degree:MasterType:Thesis
Country:ChinaCandidate:L TangFull Text:PDF
GTID:2178330332975423Subject:Microelectronics and Solid State Electronics
Abstract/Summary:PDF Full Text Request
With the rapid development of microelectronic technology, FPGA (Field Programmable Gate Array) is widely used in the digital circuit design combined with USB (Universal Serial Bus) and the Flash memory. It is more practial when a FPGA system can manage USB interface and flash memory directly due to its flexibility and cost effeiciency.The thesis focuses on introducing the basic function of USB control chip CH372 and Flash memory chip K9F4G08, especially on the interrupt management system of CH372, the storage structure of K9F4G08, and the command set and timing sequences required of these two chips; then uses modularity theory to design two controllers: controller372 and controller4G08, with which FPGA can control CH372 and K9F4G08 efficiently. The main state machine of FPGA operates the proposed controller with the system clock without caring about the timing sequences required by these two chips, controller performs the corresponding action of the chip, and finally give to an interrupt signal back to the main state machine to indicate that this command has been executed completely. This method which makes the design of main state machine simplified and can be called repeatedly, has strong portability.The proposed Flash controller develops its own method for the reorganization and mapping of invalid blocks in a flash chip, and it has a whole block erase command based on the block erase command of K9F4G08. After this command completely executed, a mapping list which is used mapping block address before page read and page program will be created. This operation ensures the continuity and accuracy of large quantities of data transfer.The thesis describes the Verilog HDL design method of these two controllers, and uses Modelsim for functional simulation. At last, these two modules has been tested and verified with a customized FPGA board. PC used debug software which made by Visual Basic to upload or download data and control FPGA, and used Ultra Compare to compare the upload data to download data to verify the correctness of data transfer between PC, USB and Flash.
Keywords/Search Tags:FPGA, USB, Flash, state machine, mapping list, command set
PDF Full Text Request
Related items