FPGA用到的各个存储器问题
在FPGA的使用中,用到如FLASH,SRAM,SDRAM,EPCS,memory—onchip,ROM等等,我想问一下他们之间都是怎么工作的啊,比如程序下到哪去了,又在...
在FPGA的使用中,用到如FLASH,SRAM,SDRAM,EPCS,memory—on chip ,ROM等等,我想问一下他们之间都是怎么工作的啊,比如程序下到哪去了,又在哪执行,什么上电把配置信息传给FPGA,等等问题我一直没有弄明白,初学,望朋友能详细讲讲啊,(网上那篇就不要了,我看过了,没看明白)~
展开
1个回答
展开全部
首先flash和EPCS其实有一个就可以了,memory—on chip ,ROM在FPGA内部,FLASH,SRAM,SDRAM,EPCS则是外扩的存储器。对于一般的系统,会把程序(包括逻辑块和NIOS的C代码)通过工具(内嵌在nios IDE中)烧写到flash或EPCS中(当然你的数据文件也是可以存在这里面的,地址要在程序空间之后),上电后,FPGA从内部的一个ROM中引导程序(这个ROM是不需要用户操作的),然后将flash或EPCS中的程序加载到on_chip_ram或外部SRM,SDRAM什么的,这取决于你SOPC定制的时候,在CPU的异常复位地址指向on_chip_ram还是SRM,SDRAM等。
所以对于一个简单的系统应该是这样的启动流程:
SOPC定制(程序烧写到什么地方,复位地址在哪)-->编写逻辑模块和nios程序-->调试,烧写程序-->启动系统-->boot_loader从ROM启动将程序搬入on_chip_ram或外部SRM,SDRAM-->程序跳转到on_chip_ram或外部SRM,SDRAM的0地址开始执行用户的程序。
over
希望你懂了~~
还不清楚可以参考一些书籍、论坛什么的,现在的FPGA技术已经很成熟了,书籍蛮多~~
所以对于一个简单的系统应该是这样的启动流程:
SOPC定制(程序烧写到什么地方,复位地址在哪)-->编写逻辑模块和nios程序-->调试,烧写程序-->启动系统-->boot_loader从ROM启动将程序搬入on_chip_ram或外部SRM,SDRAM-->程序跳转到on_chip_ram或外部SRM,SDRAM的0地址开始执行用户的程序。
over
希望你懂了~~
还不清楚可以参考一些书籍、论坛什么的,现在的FPGA技术已经很成熟了,书籍蛮多~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询