kc705进行DDR3扩容

时间:2024-03-29 22:41:40

1、前面一路next;

kc705进行DDR3扩容

2、输入始终设置成系统时钟(200M),如下:

kc705进行DDR3扩容

3、系统时钟因为已经把单端时钟已经删掉,现在连到的是一个内部时钟,所以写no buffer;

kc705进行DDR3扩容

4、然后一路next,直到下图,进行修改:

kc705进行DDR3扩容

5、批量添加管脚约束,具体参考用户手册,或者xilinx官网事例;

kc705进行DDR3扩容

6、添加ref_clk_p/n 的管脚和所在bank;

kc705进行DDR3扩容

7、最后差不多完成啦!

kc705进行DDR3扩容

8、得到以下工程:

kc705进行DDR3扩容

 

**************************DDR3内部核心频率、时钟频率、数据传输频率********************

***************************************这里我是搬运工*******************************************
1.核心频率/CoreFrequency/:(解释1)内存cell阵列的工作频率,它是内存的真实运行频率。(解释2)每款芯片都有其自己的极限频率,这个极限频率就是内存的核心频率,或者说是它能正常工作的频率,因此把内存的频率称为内存的真实频率。

2.时钟频率:(解释1)I/OBuffer(输入/输出缓存)的传输频率。(解释2)内存作为数字逻辑芯片,本身不产生频率,频率是主板上的频率发生器外加给它的,主板上产生的这个频率称为时钟频率。

3.数据传输频率:内存与系统交换数据的频率,也称为内存的等效频率或者接口频率。

*****三者在内存中的关系*****

核心频率就是内存的工作频率,到DDR2、DDR3才有了时钟频率概念,时钟频率是将核心频率通过倍频技术得到的一个频率。///DDR内存核心频率和时钟频率相同,但在传输数据的时候在脉冲的上升沿和下降沿都传输了一次,所以数据传输频率是核心频率的2倍;DDR2内存将核心频率倍频2倍得到了时钟频率,同样在上升沿和下降沿各传输一次数据,所以数据传输频率就是核心频率的4倍、时钟频率的两倍;DDR3内存的时钟频率是核心频率的4倍,同样在上升沿和下降沿各传输一次数据,所以数据传输频率就是核心频率的8倍。

Following are three examples.

DDR2-800:核心频率200MHz,时钟频率400MHz,数据传输频率800MHz;

DDR3-800:核心频率100MHz,时钟频率400MHz,数据传输频率800MHz;

DDR3-1066:核心频率166MHz,时钟频率533MHz,数据传输频率1066MHz.

 

1.SDRAM的内部是一个个存储阵列。这些存储阵列就代表了一个个的Logical-Bank(L-Bank)。每个阵列中的小单元就是最小的存储单元,其位数即为Bank的位数。当前的SDRAM多为4 bank.

2.DQS是内存和内存控制器之间信号同步用的。 
由DQ信号发出端发出DQS,信号接收端根据DQS的上、下沿来触发数据的接收。 
简单点说,如果是从内存中读取信号,那么主板北桥(内存控制器)根据内存发出的DQS来判断在什么时候接收读出来的数据。如果是写的话,就正好相反,内存根据北桥发出的DQS来触发数据的接收。 
DDR2每芯片有一个读、写双向的DQS,DDR3是有读和写两个DQS(2个DQS的好处是,不必等待DQS反向)

----------------------------------------------------------------------------sdk调试部分-----------------------------------------------------------------------------

*luanch到sdk直接使用它自带的测试就好。

下载完成后再debug as-->launch on  hardware(system debugger)

sdk terminal-->添加port com3(根据自己情况选择com口)-->ok-->菜单栏run

后续持续更新!