vivado RAM HDL Coding Techniques

Vivado synthesis可以解释各种RAM编码风格,并将它们映射到分布式RAM中或块RAM。此操作执行以下操作:

•无需手动实例化RAM基元

•节省时间

•保持HDL源代码的可移植性和可扩展性从编码示例下载编码示例文件。

在分布式RAM和专用RAM之间的选择块存储器两种类型的数据都同步写入RAM。之间的主要区别分布式RAM和专用块RAM是从RAM读取数据的方式。请参阅下表。

是使用分布式RAM还是专用块RAM取决于的特性HDL源代码中描述的RAM,块RAM资源的可用性,以及是否使用RAM_style属性强制使用了特定的实现样式。

内存推断功能

内存推断功能包括以下内容:

•支持任何大小和数据宽度。Vivado合成将内存描述映射到一个或几个RAM基元

•单端口、简单双端口、真正的双端口

•最多两个写入端口

•多个读取端口

假设只描述了一个写入端口,Vivado synthesis可以识别RAM描述具有两个或多个读取端口,用于访问不同于写入地址的RAM内容住址

•写入启用

•RAM启用(块RAM)

•数据输出复位(块RAM)

•可选输出寄存器(块RAM)

•字节写入启用(块RAM)

•每个RAM端口都可以通过其不同的时钟、端口启用、写入启用和数据进行控制输出复位

•初始内容规范

•Vivado合成可以使用奇偶校验位作为常规数据位,以适应所描述的数据宽度

注意:有关奇偶校验位的更多信息,请参阅目标设备的用户指南。

UltraRAM编码模板

UltraRAM在UltraScale体系结构内存的“第2章,UltraRAM资源”中有介绍资源用户指南(UG573)如下:

UltraRAM是AMD UltraScale+™中提供的单时钟双端口同步存储器设备。由于UltraRAM与柱状体系结构兼容,因此多个UltraRAM可以实例化并直接级联在UltraRAM列中,用于的整个高度装置单个时钟区域中的一列包含16个UltraRAM块。具有UltraRAM的设备包括分布在设备中的多个UltraRAM列。中的大多数设备UltraScale+系列包括UltraRAM块。

对于特定的UltraRAM的可用数量设备系列,请参阅UltraScale体系结构和产品产品介绍:概述(DS890)。以下文件包含在编码示例中:

xilinx_ultraram_single_port_no_change.v
xilinx_ultraram_single_port_no_change.vhd
xilinx_ultraram_single_port_read_first.v
xilinx_ultraram_single_port_read_first.vhd
xilinx_ultraram_single_port_write_first.v
xilinx_ultraram_single_port_write_first.vhd

Vivado工具包括UltraRAM VHDL和Verilog代码的模板。下图显示了模板文件。

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

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

相关文章

基于SSM的电影购票系统(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的电影购票系统(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring Spri…

十大经典排序算法之一--------------堆排序(java详解)

一.堆排序基本介绍: 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。堆是具有以下性质的完全二叉树:每个…

内存基础知识

内存作用:用来存放数据 int x10; xx1; 这会生成一个可执行文件(装入模块)然后存入内存地址中 绝对装入:-如果知道程序放到内存中哪个位置,编译程序将产生绝对地址的目标代码 可重定位装入&am…

idea 打不开项目 白屏

使用IDEA打开项目, 不知名原因崩溃了, 直接出现缩略图白屏。 解决过程: 尝试过重启IDEA,重启过电脑,重新引入相同项目(使用不同路径,存在缓存记录,依然打不开)&#xff…

数据结构——lesson3单链表介绍及实现

目录 1.什么是链表? 2.链表的分类 (1)无头单向非循环链表: (2)带头双向循环链表: 3.单链表的实现 (1)单链表的定义 (2)动态创建节点 &#…

删除链表的倒数第N个节点

删除链表的倒数第N个节点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5] 示例…

蓝桥杯Java组备赛(二)

题目1 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int max Integer.MIN_VALUE;int min Integer.MAX_VALUE;double sum 0;for(int i0;i<n;i) {int x sc.nextInt()…

文件上传漏洞--Upload-labs--Pass03--特殊后缀与::$DATA绕过

方法一&#xff1a;特殊后缀绕过&#xff1a; 一、什么是特殊后缀绕过 源代码中的黑名单禁止一系列后缀名 之外的后缀&#xff0c;称之为‘特殊后缀名’&#xff0c;利用其来绕过黑名单&#xff0c;达到上传含有恶意代码的文件的目的。 二、代码审计 接下来对代码逐条拆解进行…

VQ23 请按城市对客户进行排序,如果城市为空,则按国家排序(order by和case when的连用)

代码 select * from customers_info order by (case when city is null then country else city end)知识点 order by和case when的连用

VQ30 广告点击的高峰期(order by和limit的连用)

代码 select hour(click_time) as click_hour ,count(hour(click_time)) as click_cnt from user_ad_click_time group by click_hour order by click_cnt desc limit 1知识点 order by和limit的连用&#xff0c;取出所需结果 YEAR() 返回统计的年份 MONTH() 返回统计的月份 D…

解决Ubuntu下网络适配器桥接模式下ping网址不通的情况

问题反应&#xff1a;ping不通网址 打开虚拟机中的设置&#xff0c;更改网络适配器为NAT模式 确定保存更改之后&#xff0c;退出输入如下命令。 命令1&#xff1a; sudo /etc/network/inferfaces 命令2&#xff1a; sudo /etc/init.d/network/ restart

小程序列表下拉刷新和加载更多

配置 在小程序的app.json中&#xff0c;检查window项目中是否已经加入了"enablePullDownRefresh": true&#xff0c;这个用来开启下拉刷新 "window": {"backgroundTextStyle": "light","navigationBarBackgroundColor": &q…

unity C#中的封装、继承和多态简单易懂的经典实例

文章目录 封装 (Encapsulation)继承 (Inheritance)多态 (Polymorphism) C#中的封装、继承和多态是面向对象编程&#xff08;OOP&#xff09;的三大核心特性。下面分别对这三个概念进行深入解释&#xff0c;并通过实例来说明它们在实际开发中的应用。 封装 (Encapsulation) 实例…

【北京航空航天大学】【信息网络安全实验】【实验一、密码学:DES+RSA+MD5编程实验】

信息网络安全实验 实验一、DES RSA MD5 一、实验目的 1. 通过对DES算法的代码编写,了解分组密码算法的设计思想和分组密码算法工作模式; 2. 掌握RSA算法的基本原理以及素数判定中的Rabin-Miller测试原理、Montgomery快速模乘(模幂)算法,了解公钥加密体制的优缺点及其常…

数组转二叉树的一种方法-java(很特殊)

上代码 Node节点的代码 public class ThreadNode {private int data;private ThreadNode left;private boolean leftTag; // 左子节点是否为线索private ThreadNode right;private boolean rightTag; // 右子节点是否为线索// ... 省略get和set方法// ... 省略构造方法// ... …

【MySQL】学习多表查询和笛卡尔积

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-N8PeTKG6uLu4bJuM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

Linux命令-netstat

用于端口和服务之间的故障排除 格式&#xff1a;netstat [常用参数] | grep 端口号/进程名称 -n&#xff1a;显示接口和端口的编号 -t&#xff1a;显示TCP套接字 -u&#xff1a;显示UDP套接字 -l&#xff1a;显示监听中的套接字 -p&#xff1a;显示端口对应的进程信息 -a&a…

一些常见的激活函数介绍

文章目录 激活函数1. sigmoid2. relu3. leakyReLu4. nn.PReLU5. nn.ReLU66. Softplus函数7. softmin, softmax, log softmax8. ELU 激活函数 1. sigmoid https://zhuanlan.zhihu.com/p/172254089 sogmoid函数的梯度范围在 0-0.25&#xff0c; 容易梯度消失 2. relu ReLU激…

Android稳定性相关知识

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、相关方法论3.1 crash3.2 性能3.3 高…

Python:异常处理

异常处理已经成为判断一门编程语言是否成熟的标准&#xff0c;除传统的像C语言没有提供异常机制之外&#xff0c;目前主流的编程语言如Python、Java、Kotlin等都提供了成熟的异常机制。异常机制可以使程序中的异常处理代码和正常业务代码分离&#xff0c;保证代码更加优雅&…