Vivado综合属性系列之二 SRL_STYLE

news2024/11/30 0:49:08

目录

一、前言

二、SRL_STYLE

        2.1 移位寄存器实现方式

        2.2 工程代码

        2.3 参考资料


一、前言

        移位寄存器SRL在工程中属于使用频率较高个模块,可用于存储数据,实现串并转换;

根据数据移动方向可分为左移寄存器,右移寄存器,左移是向数据高位移动,右移是向数据低位移动。

二、SRL_STYLE

        2.1 移位寄存器实现方式

        移位寄存器的实现方式多样,可以用寄存器,LUT,以及寄存器+LUT组合来实现,以及块状RAM来实现,对于采用哪种方式,Vivado提供了属性SRL_STYLE来控制生成方式,SRL_STYLE的可选值有6个,register,srl,srl_reg,reg_srl,reg_srl_reg,block,含义如下

register: 只使用寄存器来实现,不使用LUT资源

srl:不使用寄存器资源,只使用LUT来实现

srl_reg:同时使用LUT和寄存器来实现,并将寄存器放在最后一级

reg_srl: 同时使用寄存器和LUT资源来实现,寄存器放在第一级

reg_srl_reg:同时使用寄存器和LUT资源来实现,第一级和最后一级都为寄存器

block:使用块状RAM来实现

        不同的实现方式主要是对资源和时序的影响不同,通常,如果要时序性能佳,尽量避免最后一级用LUT来实现,如果是移位的深度较大,建议使用Block ram实现,可节省寄存器和LUT资源。

        2.2 工程代码

此处为一个12位右移寄存器的代码,设置实现方式为register

`timescale 1ns / 1ps
module srl_style( d,ce,clk,out );
parameter len=12;
input d,ce,clk;
output out;
(* SRL_STYLE="block"*) reg [len-1:0] srl;   //使用寄存器来实现移位寄存器
always@(posedge clk)
begin 
if(ce==1'b1)
srl[len-1:1]<=srl[len-2:0];
srl[0]<=d;
end
assign out=srl[len-1];
endmodule

        综合结果如下图,通过网表图可布局布线结果可知,使用了12个FDRE来实现 

        将属性SRL_STYLE改为SRL,实现使用了SRL16E,无寄存器 

        将属性SRL_STYLE改为BLOCK,此时实现采用了RAMB 18E1

        2.3 参考资料

        用户手册:ug901-vivado-synthesis.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/523629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3-黑马(八)

目录&#xff1a; &#xff08;1&#xff09;vue3-进阶-antdv-分页 &#xff08;2&#xff09;vue3-进阶-antdv-搜索 &#xff08;3&#xff09;vue3-进阶-antdv-删除1 &#xff08;1&#xff09;vue3-进阶-antdv-分页 分页显示不对&#xff0c;修改下方分页条&#xff1a; …

Web 自动化笔记-第一章 Selenium 环境搭建

1.自动化测试能解决什么问题&#xff1f; 1. 解决-回归测试 2. 解决-压力测试 3. 解决-兼容性测试 4. 提高测试效率,保证产品质量 回归测试&#xff1a; 项目在发新版本之后对项目之前的功能进行验证 压力测试&#xff1a; 可以理解多用户同时去操作软件&#xff0c; 统计软件服…

近1500支队伍、6000名开发者齐聚,第三届Light技术公益创造营收官

在很多老年人看来&#xff0c;融入数字生活并不容易&#xff0c;经常误点广告、不时接到诈骗电话、不会操作智能手机……但有些老年人并不担心这些&#xff0c;“误点了付款&#xff0c;有人会打电话过来&#xff0c;提醒我不要被骗了。”一位老人放心地进行着“网上冲浪”。而…

Python程序员该如何提高薪资水平?我来谈谈实用的五大方法

今天我要跟小伙伴们讨论的话题是&#xff1a;Python程序员该如何提升自己的价值&#xff1f;换句话说&#xff0c;程序员该如何逐渐增加自己的薪资&#xff1f;我想这是大家都关心的一个问题。首先&#xff0c;我们要明确一点&#xff0c;程序员的价值所在是什么&#xff1f;关…

深度学习之图像分类(一):AlexNet

本专栏介绍基于深度学习进行图像识别的经典和前沿模型&#xff0c;将持续更新&#xff0c;包括不仅限于&#xff1a;AlexNet&#xff0c; ZFNet&#xff0c;VGG&#xff0c;GoogLeNet&#xff0c;ResNet&#xff0c;DenseNet&#xff0c;SENet&#xff0c;MobileNet&#xff0c…

var、let、const和执行上下文

let/const/var let 基本语法 ES6新增了let命令&#xff0c;用于声明变量&#xff0c;其语法类似于var&#xff0c;但是所声明的变量只在let命令所在的代码块内有效 不存在变量提升 var命令会发生“变量提升”现象&#xff0c;即变量可以在声明之前使用&#xff0c;值为und…

【部署jar包到服务器】

部署打好的jar包到服务器 首先需要安装对应版本的jdk 查看所有可安装的jdk版本 yum -y list java 选择对应的安装 例如 yum install -y java-1.8.0-openjdk-devel.x86_64 安装好之后&#xff0c;查看jdk版本 java -version 默认安装位置在 usr/lib/jvm之中 倘若你之前的版本不对…

引爆海外市场:ChatGPT带来定制化营销活动的奇迹

在定制一场海外营销活动时&#xff0c;需要首先了解海外市场和定制营销活动的关键是研究目标市场的文化和消费习惯。这包括但不限于&#xff1a; 目标市场的语言和文化背景当地消费者的购买习惯和偏好该领域的市场趋势和竞争情况目标市场的法律法规、行业标准和规范推广渠道和…

编译opencv4.7.0 + opencv_contrib 记录

最近一个项目需要涉及到图像拼接算法&#xff0c;网上了解一番&#xff0c;也大致有思路&#xff1a; 1. 利用surf算法查找特征点 2. 过滤掉一些&#xff0c;获取good点 3. 然后进行配准&#xff08;图像扭曲&#xff09;&#xff0c;对接 4. 形成最终拼接图片 这些工作&a…

NeRF原理简介及实现

“ NeRF&#xff08;Neural Radiance Fields&#xff09;是一种先进的计算机图形学技术&#xff0c;能够使用深度全连接神经网络优化场景的连续5D函数表示&#xff0c;从而生成高度逼真的3D场景。该技术的优势在于没有使用离散化的网格或体素来表示场景&#xff0c;而是使用一个…

【Pandas与SQL系列】Pandas实现分布函数percent_rank、cume_dist

目录 1&#xff0c;分布函数,1.1&#xff0c;percent_rank()1.2&#xff0c;cume_dist()1.3 SQL例子 2&#xff0c;Pandas 实现3&#xff0c;补充Pandas实现排序 1&#xff0c;分布函数, 应用场景&#xff1a;快速查看某个记录所归属的组内的比例 分布函数分类及基础语法&…

asp.net952-sqlserver学生成绩信息管理系统开发

本学生管理系统主要学校内部提供服务&#xff0c;系统分为管理员&#xff0c;教师和学生三部分。 本研究课题重点主要包括了下面几大模块&#xff1a;用户登录&#xff0c;管理员管理,教师信息管理,学生信息管理,课程信息管理,考试信息管理,成绩信息管理系统设置等功能。这几个…

基于深度自编码网络实现轴承故障诊断

1.网络模型(数据集为CWRU) 代码实现了一个基于DAE的分类模型&#xff0c;用于对给定数据集进行分类。首先&#xff0c;通过DAE模型对原始数据进行特征提取和降维&#xff0c;然后使用分类模型将提取的特征与标签相匹配&#xff0c;以便对新数据进行分类。 代码的主要流程: 导…

用激光点云估算建筑高度【PDAL|PostgreSQL】

LiDAR 数据可以非常强大地提取城市规模的地面和物体的高程。 在 One Concern&#xff0c;我们正在使用 LiDAR 数据提取地面和建筑物高程&#xff0c;以改进进入我们的自然灾害模型的暴露信息&#xff0c;最终估计洪水和地震的影响。 由于 3DEP 项目预计将在 2023 年之前收集全…

STM32------GPIO

GPIO 一、介绍 1、1 什么是GPIO&#xff1f; 输入输出端口 1、2 GPIO特点 1、不同封装IO数量不一样。 2、快速翻转&#xff0c;每次翻转最快只需要两个时钟周期。 3、每个IO都可以做中断。 4、支持8种工作模式。 1、3 GPIO电气特性 STM32工作电压范围&#xff1a;2~3…

【C进阶】通讯录的实现(静态+动态)

目录 前言: 一.静态通讯录的实现 1.关于通讯录的前期准备 (1)菜单的打印 (2)建立一个联系人的信息 (3)通讯录整体 (4)宏定义常量 (5)主函数菜单选项的功能 2.通讯录的功能实现 (1)初始化通讯录 (2)增加指定联系人 (3) 展示通讯录 "FindByName函数" (4)删…

Autosar 规范接口之SPI

Autosar SPI 概述&#xff08;Specification of SPI Handler/Driver &#xff09; 基础知识介绍 在AutoSar标准中&#xff0c;与SPI通讯相关的三个术语&#xff1a;Channel、Job和Sequence。 1个Channel对应1个发送缓冲区和1接收缓冲区&#xff1b;1个Job对应着1次SPI通讯发送…

(第45册)HTML5网页游戏设计从基础到开发(第2版·微课视频版)

HTML5是W3C组织近年来发布的一项引起业内轰动的Web新标准。它几乎颠覆现有Web应用, HTML5从根本上改变了开发商开发web应用的方式,从桌面浏览器到移动应用,这种语言和标准都正在影响将继续影响着各种操作平台。 本书是第2版&#xff0c;第1版2018年出版&#xff0c;经历6次印刷…

【项目开发】GoFrame+Vue项目部署到阿里云服务器

前言 本来想都用docker部署的&#xff0c;结果学艺实在是不精&#xff0c;只能先这么委曲求全宝塔页面的反向代理一直无法生效&#xff0c;用了重定向跳转页面宝塔的网站也可以构建go项目 背景 后端使用GoFrame框架&#xff0c;前端使用Vue 3 TypeScript Vite&#xff0c;…

Windows Cygwin 配置

Windows Cygwin 配置 一、什么是Cygwin&#xff1f; Cygwin&#xff0c;原Cygnus出品&#xff08;已被红帽收购&#xff09;&#xff0c;目前是RedHat名下的项目。项目的目的是提供运行于 Windows 平台的类 Unix 环境&#xff08;以 GNU 工具为代表&#xff09;。为了达到这个…