1、sdram的原理、控制、一些参数的含义
2、pll的ip核的使用及时钟布线资源
3、fifo的原理,时钟的限制,ip核的使用
4、ram的原理、时钟限制
5、异步复位同步释放
1、sdram相关:
整理自:《FPGA设计技巧与案例开发详解》第13章,基于sdram的vga显示控制器的设计与实现。
视频图像不能直接给vga显示,因为时钟不同步,这样有3个时钟域,不同时钟域易产生亚稳态。不光频率,相位不同也是跨时钟域。有3中方法:
1-采用使能信号实现跨时钟域的数据交互。边沿采样,如采样spi_clk的上升沿使能时钟进行使能的判断。局限性是只能高频时钟采样到低频时钟
2-采用片内存储器实现跨时钟域数据交互。主要是利用存储器的双端口读取,片内的ram和fifo都可以设置成双端口读取模式,即独立的读时钟和写时钟。如fifo先入先出根据存储容量来判断,能实现低频到高频的交互,也可实现高频到低频。
3-采用sram或sdram等存储实现跨时钟域数据交互。片内存储有限,数据量大时,外部存储,sdram相当于双端口ram,最简单的是采用2片sdram模拟实现双端口ram,实现循环时钟域1写,时钟域2读的乒乓机制。
a:在第一时刻,外部数据通过时钟域1(左边)写入sdram1(缓存1),同时通过时钟域2(右边)读取sdram2(缓存2)数据;
b:在第一时刻,外部数据通过时钟域1(左边)写入sdram2(缓存2),同时通过时钟域2(右边)读取sdram1(缓存1)数据;
c:当sdram1写入完毕且sdram2读取完毕,切换一次乒乓操作,这时需要处理sdram1写入完毕而sdram2未读取完毕的数据。
物理特性:
一般4个l-bank,sdram基于电容阵列需不断刷新。sdram命令通过相应的配置配置sdram的模式等。手册要求每60ms刷新一次。可以通过地址索引实现单个数据的读写也可通过突发连续读写方式来实现最多256个数据的连续操作。如这款最高能跑166MHZ。
代码:
采用了terasic的代码。
pll通常输出2个同频不同相的时钟
1片sdram实现上面的乒乓?由于有4个bank,认为的分成bank0+1,bank2+3构造2个乒乓块。不完全乒乓读写操作
sdram与sram区别:
SDRAM(Synchronous Dynamic Random Access Memory)同步动态随机存取存储器,同步是指Memory工作需要步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是由指定地址进行数据读写。目前的168线64bit带宽内存基本上都采用SDRAM芯片,工作电压3.3V电压,存取速度高达7.5ns,而EDO内存最快为15ns。并将RAM与CPU以相同时钟频率控制,使RAM与CPU外频同步,取消等待时间,所以其传输速率比EDO DRAM更快。
SDRAM从发展到现在已经经历了四代,分别是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM.
第一代与第二代SDRAM均采用单端(Single-Ended)时钟信号,第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。
SDR SDRAM的时钟频率就是数据存储的频率,第一代内存用时钟频率命名,如pc100,pc133则表明时钟信号为100或133MHz,数据读写速率也为100或133MHz。
之后的第二,三,四代DDR(Double Data Rate)内存则采用数据读写速率作为命名标准,并且在前面加上表示其DDR代数的符号,PC-即DDR,PC2=DDR2,PC3=DDR3。如PC2700是DDR333,其工作频率是333/2=166MHz,2700表示带宽为2.7G。
DDR的读写频率从DDR200到DDR400,DDR2从DDR2-400到DDR2-800,DDR3从DDR3-800到DDR3-1666。
很多人将SDRAM错误的理解为第一代也就是 SDR SDRAM,并且作为名词解释,皆属误导,SDR不等于SDRAM。
工作电压:
SDR:3.3V
DDR:2.5V
DDR2:1.8V
DDR3:1.5V
SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。不像DRAM内存那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积
SRAM与SDRAM的比较:
SRAM是靠双稳态触发器来记忆信息的;SDRAM是靠MOS电路中的栅极电容来记忆信息的。由于电容上的电荷会泄漏,需要定时给与补充,所以动态RAM需要设置刷新电路。但动态RAM比静态RAM集成度高、功耗低,从而成本也低,适于作大容量存储器。所以主内存通常采用SDRAM,而高速缓冲存储器(Cache)则使用SRAM,在存取速度上,SRAM>SDRAM。
2、pll的ip核