采用Vivado 配置xilinx GTX的SATA设计

2023-11-19

从Vivado开始,配置GTX的时候,多了一个SATA协议支持,但有些小地方还需要自己另外设置。整理了一下,分享给大家。

首先打开Transceivers wizard:

打开页签,线速率和参考时钟选择,在协议里面选择SATA2或者SATA3,设置参考时钟。

选择编码和时钟设置,设置外部数据宽度为32位,内部40bit,8B/10B编码,使能收发缓存,全部使用发送时钟。

打开设置K码对齐和均衡,设置K码为28.5,mask全部设置为1,因为之前设置的是32bit,这里选择对齐到4字节。接收均衡看工作频率和传输线缆长度,短距离和频率低情况下,选择LPM,高频率和长线缆设置DFE。

打开PCIE,SATA,PRBS页,这里需要把OOB检测勾选上,其它的信号如果有使用,也需要勾选上。

打开时钟校正和绑定选项页,这里需要配置时钟校正,由于SATA协议里面有ALIGN字符,所以需要设置为对应ALIGN字符的编码,7B4A4ABCh,其中BC是K28.5码字。

打开总览页,到此就全部设置完成了。

 

我们有基于Xilinx 7系列FPGA的SATA解决方案,并提供IP核和基于嵌入式SOC的linux驱动程序,我们的IP核已成功运用于很多项目中,支持SATA2.0和SATA3.0标准协议,并且按照工业级温度范围进行过测试,工作稳定,若有需要,可以发邮件到wby010@qq.com联系。

下图是制作的验证板卡。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

采用Vivado 配置xilinx GTX的SATA设计 的相关文章

  • win10 WSL2 Ubuntu图像化界面安装和配置

    1 win11 设置 打开虚拟机安装许可 2 开启开发者模式 2 Microsoft Store下载安装ubuntu 我这里使用的是20 04 5LTS版本 3 打开ubuntu 命令窗口 1 打开win11的命令行 在下拉三角下标 打开
  • SATA M.2 NGFF PCIE AHCI NVME SSD固态硬盘的接口、总线和协议区分

    总线 协议 说接口之前先说总线 民用产品的硬盘总线多为 SATA 和 PCIe SATA 总线只能使用 AHCI 协议 NVME 对比 AHCI 的优势在于 低延时 低功耗 更适合固态硬盘 PCIe总线 可以使用 AHCI 也可以使用更高效
  • FPGA(3)验证数字逻辑(与门、与非门、二选一数据选择器、2-4译码器、半加器、全加器)

    目录 一 验证与门 二 验证与非门 三 验证二选一数据选择器 四 验证2 4译码器 五 验证半加器 六 验证全加器 0 初始化定义 1 第一个半加器 2 第二个半加器 3 得到最终进位Co 代码 0决定与 1决定或 一 验证与门 只要有一个
  • Verilog的基础知识

    Verilog的基本介绍 硬件描述语言发展至今已有二十多年历史 当今业界的标准中 IEEE标准 主要有VHDL和Verilog HDL 这两种硬件描述语言 一个设计往往从系统级设计开始 把系统划分成几个大的基本的功能模块 每个功能模块再按一
  • 简明YAML教程

    前言 yaml是一种用来描述配置的语言 其可读性和简洁性较json更胜一筹 用yml写成的配置文件 以 yml结尾 YAML的基本语法规则 大小写敏感 使用缩进表示层级关系 缩进是使用空格 不允许使用tab 缩进对空格数目不敏感 相同层级需
  • Lattice Diamond安装

    1 下载 到Lattice官网 http www latticesemi com 注册一个lattice的账号后就可以去下载Diamond 登陆后如下图 根据自己系统情况选择对应的版本 我用的是32位win8 Diamond软件安装包和La
  • 从零开始zynq linux AXI DMA传输

    本文从0开始叙述过程 使用的工具为vivado2016 4 sdk也是2016 4 准备工作 首先下载如下的目标文件 1 下载xilinx官方的bootloader文件 git clone https github com Xilinx u
  • FPGA学习笔记(一)__电平知识

    常见电平标准 文章目录 1 TTL电平标准 2 LVTTL电平标准 1 LVTTL3V3 2 LVTTL2V5 3 CMOS电平标准 4 LVCOMS电平标准 1 LVCOMS3V3 2 LVCOMS2V5 3 LVCOMS1V8 4 LV
  • 【电子技术】什么是LFSR?

    目录 0 前言 1 数学基础 1 1 逻辑异或 1 2 模2乘法 和 模2除法 2 线性反馈移位寄存器LFSR 3 抽头和特征多项式 4 阶线性反馈移位寄存器实例 0 前言 线性反馈移位寄存器 Linear Feedback Shift R
  • 打印存储在 reg 类型变量中的有符号整数值

    如何打印存储在 8 位寄存器中的有符号整数值 声明为 reg 7 0 acc Using display acc d acc 它打印无符号值 正确的语法是什么 display功能 如果您声明reg as signed display将显示减
  • 64 位 ALU 输出在 TestBench 波上显示高阻抗

    我必须制作一个 64 位 ALU 它接受 A 和 B 64 位输入 进位输入输入并输出 64 位结果以及 1 位进位输出 还有一个 5 位功能选择 FS 其中 FS 0 控制 B 是否反转 使用 2to1 多路复用器 F 1 对 A 执行相
  • 基于FPGA的简易BPSK和QPSK

    1 框图 2 顶层 3 m generator M序列的生成 输出速率为500Kbps 4 S2P是串并转换模块 将1bit的m序列转换到50M时钟下的2bit M序列数据 就有4个象限 5 my pll是生成256M的时钟作为载波 因为s
  • VHDL乘法器

    library IEEE use IEEE STD LOGIC 1164 ALL entity Lab3 Adder1 is Port cin in STD LOGIC a in STD LOGIC VECTOR 3 downto 0 b
  • Linux驱动程序DMA传输到PC作为主机的PCIe卡

    我正在开发一个 DMA 例程 将数据从 PC 传输到 PCIe 卡上的 FPGA 我阅读了 DMA API txt 和 LDD3 ch 15 详细信息 但是 我不知道如何从 PC 到 PCIe 卡上的一致 iomem 块进行 DMA 传输
  • 触发器在两个信号的边沿触发

    我需要一个对两个不同信号的边缘做出反应的触发器 像这样的东西 if rising edge sig1 then bit lt 0 elsif rising edge sig2 then bit lt 1 end if 这样的触发器是否存在或
  • 您可以使用类 C 语言对 FPGA 进行编程吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在大学里 我用类似 C 的语言编写了 FPGA 不过 我也知道人们通常使用 Verilog 或 VHD
  • VHDL 中的 BRAM_INIT

    我正在模拟基于处理器的设计 其中程序存储器内容保存在 BRAM 中 我正在使用 VHDL 推断 BRAM 实现程序存储器 我试图避免使用 CoreGen 因为我想保持设计的可移植性 最终该设计将进入 FPGA 我想看看是否有一种方法可以使用
  • 如何从 Spartan 6 写入 Nexys 3 FPGA 板上的 Micron 外部蜂窝 RAM?

    我到处都查过了 数据表 Xilinx 网站 digilent 等等 但什么也没找到 我能够使用 Adept 工具来验证我的蜂窝 RAM 是否正常运行 但我找不到任何库存 VHDL 代码作为控制器来写入数据和从中读取数据 帮助 找到了此链接
  • FPGA 系统中的同步与异步复位

    我刚开始使用各种不同的模块创建 FPGA 系统来驱动 I2C 总线 尽管我认为这个问题适用于任何 FPGA 系统 并且所有模块都使用同步复位 这些模块使用时钟分频器模块进行计时 该模块获取系统时钟并向系统的其余部分输出较低的频率 我遇到的问
  • SATA 驱动器的硬盘 ID

    我正在为我的软件使用硬盘 ID 来检查真实用户是否正在使用该软件 对于 IDE 类型硬盘 我使用过程 GetIdeSerialNumber 获取 id 但如果是 SATA 驱动器 则 ID 为空 然后 对于 SATA 驱动器 我使用卷 ID

随机推荐

  • 多线程系列之——事件内核对象

    所有内核对象里面事件内核对象是最简单的一个 它包括一个使用计数 还有两个布尔值 一个布尔值用来表示事件是手动重置事件还是自动重置事件 另一个布尔值表示当前是否处于触发状态 当一个手动重置事件被触发的时候 所有等待该事件的线程都能变成调度状态
  • -day14--模块与内置模块

    day14 模块 课程目标 掌握Python中常用模块的使用方法 今日概要 自定义模块 包 第三方模块 内置模块 1 2 1 自定义模块 1 1 模块和包 import hashlib def encrypt data 数据加密 hash
  • 【全站首发】最详细的jetbrains space使用方法

    目录 一 注册一个Jetbrains账号 如果有可以跳过 二 创建或加入一个space团队 包含下载软件 三 Jetbrains Space软件配置 四 软件的使用 一 注册一个Jetbrains账号 如果有可以跳过 打开Jetbrains
  • 测试工作总结

    1 软件测试定义 2 基本方法 3 流程规范 1 新需求 需求文档 原型图 蓝湖 文档分析 评审 测试计划 测试用例编写 冒烟测试用例编写 计划用例评审 跟项目组 项目组提交测试 程序员自测报告 验证自测报告 跟公司而定 有的是冒烟测试 开
  • 在 IBM Bluemix 开发及使用 Docker Images

    Node Js是云端平台开发App的主要工具 以下范例是将Bluehatter App以3中方式执行包含 1 以Node Js在localhost开发Bluehatter App后直接Deloy至IBM Bluemix云端平台执行 2 将前
  • yolov5量化部署(基于openvino和tensorrt)

    yolov5 openvino量化部署 首先 下载YOLOv5源码 安装YOLOv5和OpenVINO的python依赖 git clone https github com ultralytics yolov5 git pip insta
  • 常用的vue指令语法用法

    一 v text 相当于js的innerText 二 v bind 动态绑定属性 简写是冒号 三 v on 绑定事件 简写是 用于事件的绑定类似于js的onclick 四 v model 可以用 v model 指令在表单
  • 【Python-利用动态二维码传输文件(二)】实现文件二进制读取、利用base64编码把文件拆分成多张二维码、重组拆分后的文件并验证。

    为了使用二维码传输文件 上一篇文章已经实现了获取信息存入二维码并打印 由于单个二维码存储的信息量是有限的 而且文件一般也比较大 所以必须把文件先进行拆分 拆分后一块一块信息存入多张二维码中 最后通过图像识别 把所有二维码信息准确读取后再重新
  • 初级2 题目五 有关排序问题的补充

    1 归并排序的额外空间复杂度可以变成O 1 但是非常难 不需要掌握 可以搜 归并排序 内部缓存法 2 快速排序可以做到稳定性问题 但是非常难 不需要掌握 可以搜 01 stable sort 3 有一道题目 是奇数放在数组左边 偶数放在数组
  • 【老生谈算法】基于matlab指纹识别系统设计与算法原理详解(论文+程序源码)——指纹识别

    老生谈算法 基于matlab指纹识别系统设计与算法原理 论文 程序源码 大家好 今天给大家介绍基于matlab的指纹识别系统设计与算法原理 论文 程序源码 文章目录 老生谈算法 基于matlab指纹识别系统设计与算法原理 论文 程序源码 1
  • 服务器可以放置多少个网站?

    服务器能容纳的网站数量 是根据每个网站的大小 以及服务器的整体配置来确定的 那么影响服务器容纳网站数量的因素有哪些呢 一 网站大小 能影响一个网站大小的因素是比较多的 例如网站的设计 网站里的内容大小 通常网站尺寸比较大 动态页面比较多的
  • QtCreator 应用程序主窗口——菜单栏(QMenuBar)和工具栏(QToolBar)

    1 菜单栏 QMenuBar 和工具栏 QToolBar 1 1 将菜单项放在工具栏上面 将Action编辑器中的相应动作直接拖到工具栏上面 1 2 使用资源 添加资源文件 gt Qt资源文件 gt 添加前缀 gt 添加文件 gt 保存 使
  • JS for循环的3种使用

    1 1 for循环使用 1 for in 遍历存放对象的一维数组 var arr id 1 name 張山 id 2 name 李四 for var i in arr console log i 结果 仅仅会得到数组的索引会遍历数组的原型属
  • ARM接口编程—WDT(exynos 4412平台)

    WDT简介 Watch Dog Timer即看门狗定时器 其主要作用是当发生软件故障时可产生复位信号使SOC复位 其本质是一个计数器 WDT工作原理 WTD寄存器 wtd控制寄存器 用于设置一级分频 二级分频 使能 产生复位和中断信号 WT
  • 【redis】redis的 key的命名规则

    key的命名规则 定义为 MS TEN SESSION KEY IN LOGIN NAME fqh 使用 进行分割 这样存入redis的是有层次结构的 如下
  • Java程序员常常为这个字所困扰!Java

    Java程序员常常为这个字所困扰 Java Java是一种流行的编程语言 广泛应用于开发各种类型的应用程序 然而 有一个字在Java开发中经常让程序员感到困惑和挫败 这个字就是 异常 异常在Java中是一个重要的概念 用于处理程序运行过程中
  • Peewee的坑

    db create tables Student 当如上使用时可能会报表Student不存在的错误 官方实例如db create tables Student Pet 改成db create tables Student safe True
  • .NET概述

    1 NET技术体系结构 NET平台是Microsoft在20世纪末为了迎接互联网的挑战而推出的应用程序平台 经过近年来的发展 它如今几乎可以在任何硬件平台上发挥作用 服务器 台式机 移动设备 游戏机 虚拟现实 增强现实环境 手表 甚至诸如R
  • TestBench编写_激励产生

    TestBench编写 激励产生 TestBench编写 激励产生 基本背景 读取函数介绍 a fopen函数使用 b fread函数使用 c fclose函数使用 实际使用 TestBench编写 激励产生 基本背景 最近遇到项目中需要对
  • 采用Vivado 配置xilinx GTX的SATA设计

    从Vivado开始 配置GTX的时候 多了一个SATA协议支持 但有些小地方还需要自己另外设置 整理了一下 分享给大家 首先打开Transceivers wizard 打开页签 线速率和参考时钟选择 在协议里面选择SATA2或者SATA3