微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 用Xilinx FPGA产生高频差分时钟输出

用Xilinx FPGA产生高频差分时钟输出

时间:10-02 整理:3721RD 点击:
以下程序是我用来产生一对800M差分时钟对输出的verilog程序,编译无错误提示,但Place&Route出现错误,望给与指正,非常感谢!
module top(
    input clk,
    input rst,
output O,
output OB

    );
wire CLK_160M,CLK_160M_to;
wire CLK_800M;
wire LOCKED;
wire LOCK;
wire tx_SERDESSTROBE;
wire CLK_OUT;

my_pll my_pll_ins
   (// Clock in ports
    .CLK_IN1(clk),      // IN
    // Clock out ports
    .CLK_160M(CLK_160M),     // OUT
.CLK_800M(CLK_800M),     // OUT
    // Status and control signals
    .LOCKED(LOCKED)
);      // OUT
BUFG BUFG_inst (
      .O(CLK_160M_to), // 1-bit output: Clock buffer output
      .I(CLK_160M)  // 1-bit input: Clock buffer input
   );
BUFPLL #(
.divIDE(5)
)
tx_bufpll_inst(
.IOCLK(CLK_OUT),
//OUTPUT
.LOCKED(LOCKED),
//IN
.LOCK(LOCK),
//OUTPUT
.PLLIN(CLK_800M),          //IN
.GCLK(CLK_160M_to),      //IN
.SERDESSTROBE(tx_SERDESSTROBE)//OUTPUT
);
OBUFDS #(
      .IOSTANDARD("DEFAULT") // Specify the output I/O standard
   ) OBUFDS_inst (
      .O(O),     // Diff_p output (connect directly to top-level port)
      .OB(OB),   // Diff_n output (connect directly to top-level port)
      .I(CLK_OUT)      // Buffer input
   );

Xilinx的时钟信号如果要从芯片输出,必须用ODDR或者OSERDES,直接输出到管脚是不行的。

多谢了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top