FPGA之移位寄存器

本文介绍了如何在SLICEM模块中利用LUT配置为32位移位寄存器,通过级联实现长达128个时钟周期的延迟,并提供了SRLC32E原语实例和其时序特性图解。
摘要由CSDN通过智能技术生成

        SLICEM中的LUT可以配置为32位移位寄存器,而无需使用slice中可用的触发器。以这种方式使用,每个LUT 可以将串 行数据延迟 1 到 32 个时钟周期。移入D (DI1 LUT 引脚)和移出 Q31(MC31 LUT 引脚)线路将LUT级联,以形成更大的移位寄存器。因此,SLICEM 中的四个 LUT 被级联以产生高达 128 个时钟周期的延迟。32 位移位寄存器调用原语:

SRLC32E #(.INIT(32h00000000))//移位寄存器的初始值

SRLC32E_inst (

.Q (Q),          // SRL数据输出

.Q31(Q31), // SRL级联输出引脚。

.A(A),              // 5位移位深度选择输入

.CE(CE), //时钟使能输入。

.CLK(CLK), //时钟输入。

.D (D)// SRL数据输入)。

下图为其时序特性 

 

下图为级联的128移位寄存器

 

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
FPGA移位寄存器IP核是一种在FPGA开发中常用的IP核,可以方便地实现基于RAM的移位寄存器功能。该IP核具有参数化的抽头,可以在寄存器链的特定节点将数据输出。它的接口信号包括移位寄存器的数据输入(shiftin)、末端的输出(shiftout)、工作时钟(clock)以及中间固定间隔抽头的输出(taps)。抽头的数据位宽为数据位宽乘以抽头数。 该IP核可以通过Quartus II进行配置和调用,并通过SignalTap II工具进行板级测试和抓取。在SignalTap II中,可以选择创建group来将多个抽头数据组合输出,也可以不创建group直接输出每个抽头的数据。 使用FPGA移位寄存器IP核可以简化移位寄存器的实现,并且可以快速实现较大移位寄存器,同时可以实现不同移位位数的移位寄存器。 另外,根据一些FPGA图像处理的资料,获得3×3图像矩阵的方法也可以使用移位寄存器IP核。除此之外,还可以使用RAM或FIFO实现这一功能。在Vivado开发环境中,移位寄存器只能缓存一行数据,且最多可以缓存1088个数据。因此,在Vivado中推荐使用FIFO或RAM来实现图像数据的缓存。 综上所述,FPGA移位寄存器IP核是一种方便实现移位寄存器功能的IP核,可以通过Quartus II进行配置调用,也可以通过SignalTap II工具进行测试与抓取。它在FPGA开发中具有广泛的应用,并且可以与其他IP核协同工作,实现更复杂的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行者..................

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值