利用SRL16做时钟分频
利用SRL16做时钟分频SRL16是16-bit移位寄存器,查找表结构。
它也是xilinx的一个primitive。在xilinx的FPGA当中都有。
具体实现方法如下:
1)SRL16的D端和Q端直接相连
2)根据实际需要定义SRL16的长度。SRL16的长度范围在1-16。长度决定了分频数。只能是偶数分频
3)设定初值。初值可以改变占空比。
4)根据Q端输出,可以输出需要的分频时钟。
举例:
defparam Divider0.INIT = 16'h0001;
SRL16 Divider0(
.CLK(clock),
.D(enable_cclk),
.A0(1'b0),
.A1(1'b1),
.A2(1'b0),
.A3(1'b0),
.Q(enable_cclk)
);
always @ (posedge clock)
begin
if (enable_cclk)
clk_div <= ~clk_div;
上面的代码分出来的就是占空比50%的,clock的6分频。即clk_div=clock/6。 ACTEL Edn网表的调用问题的处理 利用SRL16做时钟分频
页:
[1]