求教高速率数据如何边界或者中间对齐于输出时钟

2019-07-15 21:28发布

如题,使用的是ALTERA tiMEQUEST 。这个问题纠结了好久,查了不少资料,ALTERA官方的,其他人写的,也没有做出来。希望朋友们给点帮助。代码如下
module op_test (
            iRST_N,
                                iCLK25M,
                                oData,
                                oCLK125M
                 );
input        iRST_N;
input        iCLK25M;
output [7:0] oData;
output       oCLK125M;

reg    [7:0] oData;

wire  CLK;

pll  u1(
              .areset(~iRST_N),
              .inclk0(iCLK25M),//INPUT CLOCK 25M
              .c0(oCLK125M),//OUTPUT CLOCK 125M
                        .c1(CLK)     //SYSTEM COCK  125M ,
                        );



always @ (posedge CLK or negedge iRST_N)
begin
        if(!iRST_N)
                oData <= 8'b0;
   else
      oData <= oData + 1'b1;  //how to assign this data to edge or centrel of output clock ???

end

endmodule

数据如何与时钟成边界对齐输出,和中间对齐输出。setpu slack 和 hold slack 最好差不多,这样比较平衡。 谢谢拉。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。