始终管理模块输出的始终不能直接连接到普通IO
最近在做项目时,发现在SPARTAN6的设计中,由时钟管理IP分出来的时钟线是不能直连到一些到普通IO。根据错误提示,需要加一个ODDR2。
该模块是一个IO BUFFER,将ODDR的D0连到高电平,将D1连到低电平,将时钟连到C0,将时钟取反连到C1然后将ODDR的输出再连到FPGA的引脚上即可。
ODDR2 #(
.DDR_ALIGNMENT("NONE"), // Sets output alignment to "NONE", "C0" or "C1"
.INIT(1'b0), // Sets initial state of the Q output to 1'b0 or 1'b1
.SRTYPE("SYNC") // Specifies "SYNC" or "ASYNC" set/reset
) U_ODDR2_XXXHZ
(
.Q(clk_out), // 1-bit DDR output data
.C0(clk_in), // 1-bit clock input
.C1(~clk_in), // 1-bit clock input
.CE(1'b1), // 1-bit clock enable input
.D0(1'b1), // 1-bit data input (associated with C0)
.D1(1'b0), // 1-bit data input (associated with C1)
.R(1'b0), // 1-bit reset input
.S(1'b0) // 1-bit set input
);