集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1833|回复: 2

利用SRL16做时钟分频

[复制链接]
老怪甲 该用户已被删除
老怪甲 发表于 2010-5-21 13:45:58 | 显示全部楼层 |阅读模式
利用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。
zhiweiqiang33 发表于 2017-11-7 16:20:42 | 显示全部楼层
ACTEL Edn网表的调用问题的处理
嘿哈嘿哈哈 发表于 2022-12-24 16:56:08 | 显示全部楼层
利用SRL16做时钟分频
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-8 17:26 , Processed in 0.065620 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表