前边提到IP核作为我们用户操作与DDR3芯片之间的一个芯片,我们只需要对用户接口操作即可。现在这个IP核就是我们的传话员,我们只需要告诉他一些事情,让他替我们跑路即可。 首先看到ui_clk和ui_clk_sync_rst,这两个信号就是IP核返还给我们用户操作的时钟和复位信号。而以下这些信号的操作时钟我们就可以选择ui_clk,非常...
因为PHY to Controller Clock Ratio为4:1,所以MIG核输出的ddr3_ui_clk时钟是400MHz进行四分频后得到的100MHz时钟。ddr3_ui_clk_sync_rst为低电平时,表示ddr3_ui_clk时钟已稳定,可以使用。 PLL Input Clock Period(sys_clk_i)为200MHz: sys_clk_i和clk_ref_i都配置为No Buffer,然后在代码中都共用同一个...
就是说此处ddr3_clk 的工作时钟为400M,选择4:1的比例那么MIG会给出一个ui_clk给用户使用,也就是ui_clk=100M。 (2)、第二个时钟,如下图所示;这个时钟是给到MIG的时钟,也就是对应着的sys_clk。当然此处的sys_clk 不一定是你板子上的时钟,因为你板子的时钟总是某个特定值,这个值在这个芯片所承受的时钟...
1、Clock Period ,是设置DDR3的工作频率,这个速率与FPGA的速度等级相关 2、PHY to Controller Clock Ratio,该时钟是MIG输出给UI的时钟,为了避免跨时钟域的问题,我们用这个ui_clk驱动自己逻辑代码 这个速率可以设置4:1 /2:1,我设置的2:1,则 ui_clk=333.33/2=166.665MHz a、我设置的为333.33MHz,因为是双边沿...
5、第五步:DDR3控制器选项设置 ① 时钟频率,即ddr3的工作频率,由MIG提供给ddr3,也即第一张图中的ddr_ck的频率。 ② MIG会在用户端提供一个ui_clk(第一张图左端的clk信号,用户发送和接收数据等操作都是在该时钟域下进行的)供用户使用,这里的4:1指的就是①中设置的时钟频率:ui_clk的频率,所以此时ui_cl...
Figure 7: Skipping Recommended Constraints Using the Context Menu In the following figure, clk1 and ddr_clk_in are unchecked and will be skipped. Figure 8: Creating and Skipping Recommended Constraints • Enter the missing values by clicking on the cells that show undefined (for example, the...
双击processing_system7_1,打开配置界面。取消所有外设,仅仅保留UART。UART1使用MIO 48..49。关闭FCLK_CLK0的输出。 Step 3: 配置MIG 在Diagram Tab页里面添加IP ‘MIG 7 Series’。双击mig_7series_1,打开配置界面。 在Memory Selection页,选择DDR3
output [1:0] ddr3_dm, output [0:0] ddr3_odt, // Inputs // Single-ended system clock input sys_clk_i, // Single-ended iodelayctrl clk (reference clock) input clk_ref_i, output tg_compare_error, output init_calib_complete, ...
修改后,两者中间插入了一个MIG。Clocking Wizard的时钟输出变成了200MHz,给MIG提供时钟。在MIG的内部由PLL倍频到400MHz驱动外部DDR3内存,然后再分频到100MHz从ui_clk引脚输出出来,给Processor System Reset提供时钟。 修改后,MicroBlaze的运行频率没有变,仍然是100MHz。
PFD(全称:Phase-Frequency Detector,即鉴频鉴相器)对参考时钟(ref_clk)频率和需要比较的时钟频率(即上图中的输出时钟:pll_out)进行对比。 2、PFD 的输出连接到 LF(全称:Loop Filter,即环路滤波器)上,用于控制噪声的带宽,滤掉高频噪声,使之趋于一个稳定的值,起到将带有噪声的波形变平滑的作用。如果 PFD 之前...