FPGA 中基于RAM的移位寄存器的IP核的配置及调用

本文介绍了在FPGA开发中如何利用ALTERA的RAM-based Shift Register IP核,该核能高效实现大位宽移位寄存器,并具有可配置的抽头输出。通过配置抽头数量和间隔,可以实现不同延迟的输出。通过功能仿真和板级测试验证了IP核的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FPGA 中基于RAM的移位寄存器的IP核的配置及调用

在进行FPGA开发时,经常需要借助移位寄存器来实现一定的程序功能。但如果需要构建的移位寄存器数据位宽较大,移位位数较大时,利用传统方法实现的移位寄存器将使用大量的逻辑资源。Alrea提供的IP核Shift register(RAM-based)可以方便的实现基于RAM的移位寄存器。此外该IP核实现的移位寄存器,具有参数化的抽头,抽头可以在寄存器链的特定节点将数据输出。
该IP核配置界面如下:
IP核配置
接口信号说明:shiftin:移位寄存器数据输入
shiftout:移位寄存器末端的输出
clock:工作时钟
taps:移位寄存器中间固定间隔抽头的输出,其数据位宽为:数据位宽*抽头数,即该端口是每个抽头输出的组合

配置说明:(1)taps是可以设置的在指定位置输出的抽头,**如上图 将抽头数设置为3,将抽头间的距离设置为8,则意味着第一个抽头的输出是在寄存器链的第八位,其输出相当于将输入数据延迟八个时钟周期而后。同理第二个抽头的输出是将输入延迟16个时钟周期。抽头3的输出亦然。**而shiftout是寄存器末尾的输出,与最后一个抽头的输出一致。
(2)关于选项“creat groups for each tap out" 则信号接口变为如下图
在这里插入图片描述
可以看出,这个选项的功能是选择将各抽头的输出拼接起来输出还是各自输出。
仿真
调用该iP核之后,编写testbench,利用modelsim软件对该IP核进行功能仿真:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值