PLL
1、PLL 的四种输出模式:
In normal mode(普通模式):仅在进入管脚时和到达芯片内部第一级寄存器时的相位相同,但是输出的时钟相位无法保证相同(此模式下最好不要用作于对外输出);
In source-synchronous compensation Mode(源同步补偿模式):使得进入管脚时的数据和上升沿的相位关系与到达芯片内部第一级寄存器时数据和上升沿的相位关系保持不变(通过调整内部的布局布线延时做到的,用于数据接口,特别是高速的情况下);
In zero delay buffer mode(零延时模式):对外输出的时钟和参考时钟同相位(更适合于时钟的外部输出);
With no compensation(无任何补偿模式):因为没有任何补偿,所以会由延时产生的相移。因为没有特殊要求所以我们选择默认的普通模式即可。
2、locked信号用来检测 PLL IP 核是否已经锁定,只有该信号为高时输出的时钟才是稳定的。
3、倍频因子(Clock multiplication factor)和分频因子(Clock division factor)。输出频率=输入频率 *倍频因子/分频因子
4、一个PLL最多输出5个clk。
5、如果没有自动添加ip核到工程中,可以添加pll.qip文件。
RAM
1、对于RAM和ROM,这两个存储器使用的都是我们 FPGA 内部的 RAM 资源,不同的是 ROM只用到了 RAM 资源的读数据端口。
2、Altera的RAM IP有两种:单端口 RAM 和双端口 RAM(简单双端口和真正双端口)
单端口:读写操作共用一组地址线,读写操作不能同时进行。
简单双端口: 读操作和写操作有专用地址端口,即写端口只写不读,而读端口只读不写。
真正双端口: 有两个地址端口用于读写操作(两个读/写端口),即两个端口都可以进行读写。
3、与 ROM 不同的是, RAM 可以选择不配置初始化文件。
4、地址addr是从0开始写起,位宽可以在生成的IP核.v文件里看到。
5、当写入还是读取都是时钟的上升沿进行时,如果我们使用时钟的上升沿产生使能、地址、数据的话、写入或读取时上升沿采到的就是数据变化的那一刻,这样采到的信号可能就是不稳定的状态,从而导致数据出错,所以我们使用时钟的下降沿去产生这些信号的话,上升沿就能采到数据的稳定状态了。