移位寄存器和延迟线

一般而言,移位寄存器应具备以下部分或全部控制和数据信号特征:

时钟

串行输入

异步置位 / 复位

同步置位 / 复位

同步 / 异步并行负载

时钟使能

串行或并行输出
赛灵思 FPGA 器件提供专用 SRL16 和 SRL32 资源 (集成在 LUT 中)。这样无需使用触发器资源即可高效实现移位寄存
器。但是这些元件只支持左 (LEFT) 移位操作,且 I/O 信号数量有限:

时钟

时钟使能

串行数据输入

串行数据输出
此外, SRL 提供用于确定移位寄存器长度的地址输入 ( SRL16 的 A3 、 A2 、 A1 、 A0 输入)。移位寄存器的长度可以是
固定的静态长度,也可以动态调节。
在动态模式下,每当有新的地址施加到地址引脚,在访问 LUT 造成的延迟之后,就会在 Q 输出上提供新的位置值。同
步和异步置位 / 复位控制信号未在 SRL 原语中提供。但是,如果您的 RTL 代码包含复位,则赛灵思综合工具会推断 SRL
周围的其他逻辑,以提供复位功能。
为在使用 SRL 时获得最佳性能,赛灵思建议把最后一级移位寄存器实现在专用 slice 寄存器中。 slice 寄存器与 SRL 相
比,输出相对于时钟时延 (clock-to-out) 更短。这样可以为从移位寄存器逻辑出发的路径提供更大的时序裕量。综合工
具将自动推断此寄存器,除非该资源被示例化或由于属性或跨层级边界优化限制而阻止综合工具推断这样的寄存器。
赛灵思建议您使用 Vivado Design Suite HDL 模板中展示的 HDL 编码样式。
如果要使用寄存器来达到灵活布局芯片的目的,使用下列属性关闭 SRL 推断:
SHREG_EXTRACT = "no"

相关推荐
千宇宙航1 小时前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
小眼睛FPGA13 小时前
【RK3568+PG2L50H开发板实验例程】FPGA部分/紫光同创 IP core 的使用及添加
科技·嵌入式硬件·ai·fpga开发·gpu算力
forgeda18 小时前
如何将FPGA设计验证效率提升1000倍以上(2)
fpga开发·前沿技术·在线调试·硬件断点·时钟断点·事件断点
9527华安1 天前
FPGA实现40G网卡NIC,基于PCIE4C+40G/50G Ethernet subsystem架构,提供工程源码和技术支持
fpga开发·架构·网卡·ethernet·nic·40g·pcie4c
search71 天前
写Verilog 的环境:逻辑综合、逻辑仿真
fpga开发
search72 天前
Verilog 语法介绍 1-1结构
fpga开发
小眼睛FPGA2 天前
【RK3568+PG2L50H开发板实验例程】Linux部分/FPGA dma_memcpy_demo 读写案例
linux·运维·科技·ai·fpga开发·gpu算力
幸运学者2 天前
xilinx axi datamover IP使用demo
fpga开发
搬砖的小码农_Sky2 天前
XILINX Zynq-7000系列FPGA的架构
fpga开发·架构
热爱学习地派大星2 天前
FPGA矩阵算法实现
fpga开发