Xilinx 7 Series FPGA and Zynq-7000 All Programmable SoC Libraries Guide for HDL Designs

最近在看关于Ultrafast设计方法学的视频以及Vivado design Methodology的用户手册时,总是提到SRL,我总是很困惑,总是用这个缩写,到底是啥,也许没有看这些东西的时候,我还知道它就是移位寄存器,可是我总以为这里面提到的东西是什么高级的玩意,误导了自己,以为是什么更高级的结构,于是一探究竟,查看了7系列FPGA的元件库设计指导,也就是开头提到的那一串英文,不就是一个移位寄存器LUT嘛。

这篇博文简单对其进行一个介绍,以便能更深入地理解它。


SRL16E

该设计元素是移位寄存器查找表(LUT)。 输入A3,A2,A1和A0选择移位寄存器的输出长度。
移位寄存器可以是固定的静态长度,也可以动态调整。
•创建固定长度的移位寄存器 - 使用静态值驱动A3至A0输入。 移位寄存器的长度可以在1位到16位之间变化,由下式确定:长度=(8 x A3)+(4 x A2)+(2 x A1)+ A0 +1如果是A3,A2, A1和A0都是零(0000),移位寄存器是一位长。 如果它们都是1(1111),则它是16位长。
•动态更改移位寄存器的长度 - 更改驱动A3至A0输入的值。 例如,如果A2,A1和A0都是1(111)并且A3在一(1)和零(0)之间切换,则移位寄存器的长度从16位变为8位。

在内部,移位寄存器的长度始终为16位,输入线A3至A0选择16位中的哪一位到达输出。
通过将四位十六进制数分配给INIT属性来初始化移位寄存器LUT内容。 第一个或最左边的十六进制数字是最重要的位。 如果未指定INIT值,则默认值为四个零(0000),以便在配置期间清除移位寄存器LUT。

当CE为高电平时,数据(D)在低电平到高电平时钟(CLK)转换期间被加载到移位寄存器的第一位。 在随后的低到高时钟转换期间,当CE为高电平时,数据在加载新数据时转移到下一个最高位位置。 当达到由地址输入确定的移位寄存器长度时,数据出现在Q输出上。 当CE为低电平时,寄存器忽略时钟转换。

Verilog InstantiationTemplate
// SRL16E: 16-bit shift register LUT with clock enable operating on posedge of clock (Mapped to a SliceM LUT6)
// 7 Series
// Xilinx HDL Libraries Guide, version 14.7
SRL16E #(
.INIT(16'h0000) // Initial Value of Shift Register
) SRL16E_inst (
.Q(Q), // SRL data output
.A0(A0), // Select[0] input
.A1(A1), // Select[1] input
.A2(A2), // Select[2] input
.A3(A3), // Select[3] input
.CE(CE), // Clock enable input
.CLK(CLK), // Clock input
.D(D) // SRL data input
);
// End of SRL16E_inst instantiation

SRLC32E

该设计元素是在单个查找表(LUT)内实现的可变长度,1至32个时钟周期移位寄存器。 移位寄存器可以是固定长度,静态长度,也可以通过改变组件的地址线来动态调整。 该元件还具有高电平有效时钟使能和级联功能,其中可以级联多个SRLC32E,以创建更大的移位长度。

如果实例化,则应对此组件进行以下连接:
•将CLK输入连接到所需的时钟源,将D输入连接到要移位/存储的数据源,将Q输出连接到FDCE或FDRE输入或其他适当的数据目标。
•CE时钟使能引脚可以连接到设计中的时钟使能信号,或者如果不使用则连接到逻辑1。
•5位A总线可以连接到0到31之间的静态值,以表示固定的1到32位静态移位长度,或者它可以连接到适当的逻辑,以在1和32位之间的任何位置启用变化的移位深度。
•如果要创建比32更长的移位长度,请将Q31输出引脚连接到后续SRLC32E的D输入引脚,以级联并创建更大的移位寄存器。
•将Q31输出连接到除另一个SRLC32E以外的任何其他设备无效。
•如果需要,可选Q输出仍可在级联模式下使用。
•可以指定由32位十六进制值组成的可选INIT属性,以指示移位寄存器的初始移位模式。
•(INIT [0]将是第一个移出的值。)

Verilog InstantiationTemplate
// SRLC32E: 32-bit variable length cascadable shift register LUT (Mapped to a SliceM LUT6)
// with clock enable
// 7 Series
// Xilinx HDL Libraries Guide, version 14.7
SRLC32E #(
.INIT(32'h00000000) // Initial Value of Shift Register
) SRLC32E_inst (
.Q(Q), // SRL data output
.Q31(Q31), // SRL cascade output pin
.A(A), // 5-bit shift depth select input
.CE(CE), // Clock enable input
.CLK(CLK), // Clock input
.D(D) // SRL data input
);
// End of SRLC32E_inst instantiation

【 FPGA 】7 Series FPGA中对SRL的设计指导相关推荐

  1. 【 FPGA 】7 Series FPGA中对MUX的设计指导

    目录 MUXF7_D MUXF7_L MUXF8 MUXF8_D MUXF8_L 内容来自:Xilinx 7 Series FPGA and Zynq-7000 All Programmable So ...

  2. xilinx7中管脚mrcc和srcc_Xilinx 7系列FPGA收发器架构之硬件设计指导(一)

    引言:本文我们介绍Xilinx 7系列FPGA收发器硬件设计主要注意的一些问题,指导硬件设计人员进行原理图及PCB设计.本文介绍以下内容: GTX/GTH收发器管脚概述 GTX/GTH收发器时钟设计 ...

  3. (130)FPGA面试题-FPGA设计中波特率和比特率的区别

    1.1 FPGA面试题-FPGA设计中波特率和比特率的区别 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-FPGA设计中波特率和比特率的区别: 5)结束 ...

  4. (139)FPGA面试题-FPGA设计中的速度和面积互换原则

    1.1 FPGA面试题-FPGA设计中的速度和面积互换原则 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-FPGA设计中的速度和面积互换原则: 5)结束 ...

  5. (51)FPGA面试题-Verilog中function与task之间的区别是什么?

    1.1 FPGA面试题-Verilog中function与task之间的区别是什么? 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-Verilog中fu ...

  6. 7a系列mrcc xilinx_Xilinx 7 Series FPGA!型号列表

    Xilinx 7 Series FPGA 型号列表 Supported Device(1),(2) Core Version Signaling Environment Virtex-5 XC5VFX ...

  7. FPGA verilog HDL实现中值滤波

    FPGA verilog HDL实现中值滤波 今天给大侠简单带来FPGA verilog HDL实现中值滤波,话不多说,上货. 一.实现步骤: 1.查看了中值滤波实现相关的网站和paper: 2.按照 ...

  8. FPGA知识汇集-FPGA的低功耗设计方法总结

    精确的热分析在很多电子产品设计中都有着举足轻重的作用,在高端的PCB设计中尤为突出.热分析的结果常常会影响PCB的机械层设计和产品的外壳设计:是否需要安装散热片.散热风扇等.如果安装散热风扇,往往需要 ...

  9. FPGA 核和FPGA Fabric的区别是什么?

    常常在外文资料以及手册中看到Fabric?时常感觉翻译起来很尴尬,例如: 那么这个专业单词到底该如何翻译以及如何理解呢? 我们通过资料: http://xilinx.eetop.cn/viewnews ...

最新文章

  1. linux的du和df命令,du和df命令都是Linux系统的重要工具
  2. 其他团队对本组建议汇总
  3. 十一届蓝桥杯国赛 美丽的2-枚举
  4. 独家深度 | 一文看懂 ClickHouse vs Elasticsearch:谁更胜一筹?
  5. 解构产品经理的技术思维
  6. WordPress5.7版本下载及更新内容
  7. Excel 中 添加 复选框。
  8. qlv文件怎么转换成mp4_flv怎么转换成MP4格式
  9. bzoj 4017: 小Q的无敌异或
  10. ComponentPattern (组合模式)
  11. [译]Flask教程--Cookie
  12. ssh图示+hibernate图示
  13. 全是90后!这所211大学,拟聘任10名清华北大博士!
  14. Java程序员:java软件工程师中级证
  15. 标准gpx文件的时间格式
  16. 我(阿朱)再说两句新零售
  17. Linux怎么将输入法添加,在Linux系统中给fcitx下的输入法添加自定义词库的方法
  18. libcurl smtp发送邮件附件大小限制问题
  19. java生成word(报告报表)含统计图表图片、循环表格,Spring Boot整合word生成
  20. iar msp430 编译文件提示非法的license错误

热门文章

  1. 必看!这八则故事教会你如何理财
  2. ASP.NET State Service
  3. matlab如何判断线性相关,Fisher线性判断之matlab实现
  4. java accept charset_springmvc中post请求中文乱码问题
  5. 5菜鸟教程_XPLANE10菜鸟基础教程系列 飞机、机场以及天气的设置
  6. 极简PaddlePaddle的房价预测Demo
  7. 如何打赢一场唯快不破的比赛,看看他们的绝招
  8. 基于PI Pico一些基础实验
  9. 磁悬浮地球仪控制初步测试
  10. 23LC1024四线访问数据