Xilinx SRL16E 使用详解

本文详细介绍了Xilinx SRL16E原语在FPGA开发中的应用,用于实现信号延迟。通过地址A3A2A1A0设置移位位数,例如‘0000’表示1位移位,‘1111’表示16位移位。文中提供了一个实例,展示了如何通过SRL16E将输入数据data_in延迟4个周期,输出为data_out。
摘要由CSDN通过智能技术生成

     在做FPGA的开发过程中经常会使用到移位寄存器,一般我们使用移位寄存器的目的都是为了将某个信号进行打拍,使得时序符合我们的需求。最常见的一种打拍方法就是在process过程语句中对信号进行移位(在verilog中是在always过程中进行移位)。但是这里我给大家介绍一下SRL6E,这个是Xilinx提供的一个原语,顾名思义,这是一个可以最大实现16位移位寄存的移位寄存器。

      需要注意的是,SRL16E原语在不同的器件中表现形式可能稍有区别,下面是在Kintex-7系列器件中的SRL16E原语:

--使用原语时,需要加上这两句
Library UNISIM;  
use UNISIM.vcomponents.all;


   -- SRL16E: 16-bit shift register LUT with clock enable operating on posedge of clock (Mapped to SliceM LUT6)
   --        Kintex-7
   -- Xilinx HDL Language Template, version 2017.4


--以下时=是SRL16E原语
   
   SRL16E_inst : SRL16E
   generic map (
      INIT => X"0000")--对寄存器进行初始化
   port map (
      Q => Q,       -- SRL data output--寄存器输出端口
      A0 => A0,     -- Select[0] input--四个地址输入端口
      A1 => A1,     -- Select[1] input
      A2 => A2,     -- Select[2] input
      A3 => A3,     -- Select[3] in
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值