Bryan

BUFGMUX使用

0
阅读(6055)


 1、在多个时钟选择输出1个时,使用BUFGMUX,官方手册UG382  (38页);

 2、参数Clk type: "SYNC" or "ASYNC" 

        SYNC:两个输入时钟必须都有效,在切换信号变化后,输出保持无效(0 or 1都可能)直到后一个clk的变化沿(上下沿)时输出时钟;The primitive guarantees that when the select line S is toggled to choose the other clock source, the output remains in the inactive state until the next active clock edge on either input.

        ASYNC:切换信号变化后,立即输出下一个时钟。


blob.png

blob.png.

3、例化代码

BUFGMUX #(

   .CLK_SEL_TYPE("ASYNC" )// Clk type: "SYNC" or "ASYNC" (原语模版中没有注明)

     )

     BUFGMUX_1M_8M (

        .O(clk_out_i),   // 1-bit output: Clock output

        .I0(clk_divider[4]), // 1-bit input: Clock input (S=0)

        .I1(clk_divider[1]), // 1-bit input: Clock input (S=1)

        .S(s[0])    // 1-bit input: Clock select

     );

4、MUX上电后的输出有110ns左右的等待期,之后才正常用S端控制。在此期间控制端口为默认值0,输出端口输出I0默认值。

blob.png