当前位置: 首页 > news >正文

Intel Quartus II IP之DP1.4 工程的创建与使用

前述:

Win10电脑安装了Quartus 21.4,这可以满足绝大多数工程,特别是对于简单调用fifo/ram等的工程,但是想要学习Quartus的HDMI/DP等高速接口类IP,首先需要创建HDMI/DP IP的设计demo工程,此时还需要安装Eclipse与WSL(Windows Subsystem for Linux)。

具体安装方法参考:

Intel开发环境Quartus、Eclipse与WSL的安装

如果仅安装了Quartus,没有安装WSL,在创建DP/HDMI的Generate Example Design Completed时报错如下:

b83972707eeb4121b278bbe74838f642.png

9a3fd8066fd64be896f622e0c754d7b8.png原因是没有安装wsl。

按照步骤安装完wsl后再次运行Generate Example Design Completed时成功,如下图:

fee9fd661bd943d68a34cb1a08bc0d3e.png

部分缩写:

PCRPixel Clock Recovery像素时钟恢复
SST
Single Stream Transport单流传输
MSTMulti Stream Transport多流传输
bpcbit per color 
Eclipse CDTC/C++ Development Tool 
 WSL Windows Subsystem for Linux适用于Linux的Windows子系统

一、创建DP IP的demo工程

该工程实现DP的RX 与TX直通工程,也即是DP RX接收到的信号直接传输给DP TX来发送。

目前验证了4K视频从DP RX接口输入后能从DP TX接口输出4K视频。

1、先创建一个包含FPGA芯片的工程

具体创建方法参考如下:

Quartus II 17.1新建一个流水灯-CSDN博客

2、打开DP IP

在IP Catalog中选择Library 》 Interface Protocols 》Audio & Video 》DisplayPort Intel FPGA IP,双击打开,如下两图:

7ef6a7f1b2ea46a0af5b5bcf90c2622c.png

bc34dbd9843d4777b7756b25ee209212.png

3、编辑基本DP参数

分别编辑Source与Sink端的IP参数:

Source端IP参数如下:

eaecd2af890742dcb094169304567ccb.png

Sink端IP参数如下:

cc2baeef9a084efd92967f01cae5ab9e.png

Source与Sink端的IP参数我只设置了两个参数:

Maximum video output color depth为10 bpc(bit per color)

 

勾选了Enable AUX debug stream

4、生成DP的Example Design工程

默认生成的是DP直通工程,即DisplayPort SST Parallel Loopback with PCR,可以实现DP RX接口的4K视频输入并通过DR TX接口输出该4K视频。

279e203c50d7467588a8db17e47e67da.png

2afbad11bfb3409fb73e8263923a2aad.png

接着单击Generate Example Design接口。

78848ab646764f57aacc77df9e6eb7c3.png

等待创建完成,关闭IP Parameter Editor,并在保存位置找到qpf文件并打开即可.

fee9fd661bd943d68a34cb1a08bc0d3e.png

 

二、DP demo工程的使用

打开后上述新建的demo工程并不能直接使用,因为引脚分配还没完成。

1、新建一个top层.v文件

将demo工程的顶层文件例化到top.v文件中。

一般为了通用性,再demo工程上再打包一层,这样的作用是将demo工程默认生成的输入输出wire/reg名称改为其他工程也在使用的名称,这样方便合入其他工程,且其他工程的引脚分配设置可以共用。

2、导入qsf文件

导入在demo板子上成功运行过的qsf文件,该qsf文件包含了引脚的分配与设置(I/O标准等);

导入qsf文件方法:

Assignments 》 Import Assignments,单击添加qsf文件(该qsf文件可以是其他工程里面的),再OK即可。

9929980ec3cf463f8e508db8a37572be.png

713d27a8951b4125a80ba6612b91ec85.png

 

导出qsf文件方法:

Assignments 》 Export Assignments,无特别要求,默认即可。

a96597965bd84b5d9ca672c31c30c43b.png

ec37d1e510dc402c9f6d9107569da7b8.png

错误:RX channel GXB_DP1_RX0P and TX channel GXB_DP1_TX0P are locked to the same duplex channel.

在最初未导入合适的qsf文件时,报错如下:

Error(12787): RX channel GXB_DP1_RX0P and TX channel GXB_DP1_TX0P are locked to the same duplex channel. In order for both the RX and TX channel to use the same duplex channel, you must assign them to the same group so the Fitter merges them into a single Avalon Memory-Mapped interface. To assign both channels to a group, use the Transceiver Avalon Memory-Mapped Interface Group logic option. 

查阅到官网如下解释:

54ecc5a6dac7474597573ba0839adc13.png

百度解释:

在Quartus的高速接口中,一对高速接口的动态配置接口是共用的。如果在例化的过程中把RX与TX是分开,那么如果要进行动态配置一定要保证它们的动态配置接口的数据来自同一个源,才能在综合适配时优化成一个接口。

解决方法:

在Assignment Editor中将GXB_DP1_RX0P与GXB_DP1_TX0P均设置为Transceiver Avalon Memory-Mapped Interface Group,并在Value中设置为同一数值0,其他同理即可解决。

1a7f9028fb924ae4ac44ac731bba022a.png

 

3、编译工程并下载sof文件即可

在Programmer中下载sof文件。

下载过程中出错,报PMBUS通信异常:

1ab4e5bf4fa843af8140f118b30ea921.png

error报错如下:

Device has stopped receiving configuration data

Error message received from device:External hardware access error.(subcode 0x0032,Info 0x00400008,Location 0x00001800).

Detected a PMBUS error during configuration. Potential errors: VID setting is incorrect in the Intel Quartus Prime project. The target device fails to communicate to a smart regulator or PMBUS master on a board.

Operation failed.

原因是用了Infineon(英飞凌)的PXE1410,需要在Quartus中进行PMBUS设置:

Assignments 》 Device 》 Device and Pin Options,并按如下几张图设置即可。

ddda001d68f74a47a92e8f357f29020d.png

 

88dc034e873a4bd28ba1d0a85559d529.png

6a8a01e166774454b0725106cd2462d8.png

设置完成后,重新编译生成sof下载到FPGA板卡即可成功实现4K视频输入与4K视频输出。

 

参考链接:

DisplayPort Intel® Stratix® 10 FPGA IP Design Example User Guide
DisplayPort Intel® FPGA IP User Guide

 

相关文章:

Intel Quartus II IP之DP1.4 工程的创建与使用

前述: Win10电脑安装了Quartus 21.4,这可以满足绝大多数工程,特别是对于简单调用fifo/ram等的工程,但是想要学习Quartus的HDMI/DP等高速接口类IP,首先需要创建HDMI/DP IP的设计demo工程,此时还需要安装Ecl…...

k8s集群环境搭建以及插件安装

前置条件 终端工具MobaXterm很好用。 1、虚拟机三台(ip按自己的网络环境相应配置)(master/node) 节点ipk8s-master192.168.200.150k8s-node1192.168.200.151k8s-node2192.168.200.152 2、关闭防火墙(master/node) systemctl stop firewalld systemc…...

面试的那些事儿

先从面试来说 假如你是网申,你的简历必然会经过HR的筛选,一张简历HR可能也就花费10秒钟看一下,然后HR 就会决定你这一关是Fail还是Pass。 假如你是内推,如果你的简历没有什么优势的话,就算是内推你的人再用心&#x…...

ffmpeg音视频解码

ffmpeg音视频解码 一.编译ffmpeg1.安装vmware虚拟机2.vmware虚拟机安装linux操作系统3.安装ftp和fshell软件4.在Ubuntu(Linux)中编译Android平台的FFmpeg( arm和x86 )5.解压FFmpeg6.Android编译脚本(1)修改…...

uniapp uni.chooseLocation调用走失败那里,错误码:112

问题:我配置了百度上所有能配置的,一直调用不成功,如下图配置的 1:第一个 配置 代码: "permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示"}…...

第一次开发基于SpringBoot的Java应用

第一次开发基于SpringBoot的Java应用 一、 方式1:IDEA创建New Project Spring Boot官方文档的Getting Started1、IDEA创建New Project2、Spring Boot官方文档的Getting Started2.1 Creating the POM (实际是,更新pom.xml)2.2 Add…...

回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测

回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测 目录 回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测预测效果基本描述程序设计参考资料 预测效果 基本描…...

数据结构--排序

参考【算法】排序算法之希尔排序 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/122632213 1. 排序的定义 2. 插入排序 2.1 直接插入排序 在插入第i&#xff08;i>1)个记录时&#xff0c;前面的i-1个记录已经排好序 void insertSort(int r[],int n) {for(int i2;i<…...

Androidmanifest文件加固和对抗

前言 恶意软件为了不让我们很容易反编译一个apk&#xff0c;会对androidmanifest文件进行魔改加固&#xff0c;本文探索androidmanifest加固的常见手法以及对抗方法。这里提供一个恶意样本的androidmanifest.xml文件&#xff0c;我们学完之后可以动手实践。 1、Androidmanife…...

openssl3.2 - 官方demo学习 - cms - cms_denc.c

文章目录 openssl3.2 - 官方demo学习 - cms - cms_denc.c概述笔记END openssl3.2 - 官方demo学习 - cms - cms_denc.c 概述 将CMS数据结构写入PEM文件, 并将分离后的加密数据单独写到数据文件. 笔记 /*! \file cms_denc.c * \note openssl3.2 - 官方demo学习 - cms - cms_d…...

【Linux 命令】tree 对目录进行树形展示

目录 1、tree 命令功能展示 2、tree 命令安装 3、tree 命令语法及其参数功能 4、终止 tree 展开树命令 1、tree 命令功能展示 在 Linux 中&#xff0c;我们使用 ll 命令对目录的展示并不太方便我们查看&#xff0c;不太清晰明了&#xff0c;所以我们可以使用 tree 命令以…...

掌握Spring MVC拦截器整合技巧,实现灵活的请求处理与权限控制!

拦截器 1.1 拦截器概念1.2 拦截器入门案例1.2.1 环境准备1.2.2 拦截器开发步骤1:创建拦截器类步骤2:配置拦截器类步骤3:SpringMVC添加SpringMvcSupport包扫描步骤4:运行程序测试步骤5:修改拦截器拦截规则步骤6:简化SpringMvcSupport的编写 1.3 拦截器参数1.3.1 前置处理方法1.3…...

使用xbindkeys设置鼠标侧键

1.安装如下包 sudo apt install xbindkeys xautomation 2.生成配置文件 xbindkeys --defaults > $HOME/.xbindkeysrc 3.确定侧键键号 在终端执行下面的代码&#xff1a; xev | grep button 此时会出现如下窗口&#xff0c;将鼠标指针移动到这个窗口上&#xff1a; 单…...

跨站点请求伪造攻击 - Cross Site Request Forgery (CSRF)

什么是CSRF 最好理解CSRF攻击的方式是看一个具体的例子。 假设你的银行网站提供一个表单,允许当前登录用户将钱转账到另一个银行账户。例如,转账表单可能如下所示: <form method="post"action="/transfer"> <...

PLAN B KRYPTO ASSETS GMBH CO. KG 普兰资产管理公司

引领加密技术不断演进 PLAN B KRYPTO ASSETS普兰资产管理以其独创的「Trident Strategy三叉戟模型」技术为基础&#xff0c;持续推动加密技术的发展&#xff0c;打造 Schutz&#xff08;舒茨盾&#xff09; AI 金融隐私匿名公链。致力于提供高效的技术服务&#xff0c;基于机构…...

java接口和多态

1.接口 1.1黑马信息管理系统集合改进 (应用) 使用数组容器的弊端 容器长度是固定的&#xff0c;不能根据添加功能自动增长 没有提供用于赠删改查的方法 优化步骤 创建新的StudentDao类&#xff0c;OtherStudentDao 创建ArrayList集合容器对象 OtherStudentDao中的方法声明…...

C# 图解教程 第5版 —— 第22章 命名空间和程序集

文章目录 22.1 引用其他程序集22.2 命名空间22.2.1 命名空间名称22.2.2 命名空间的补充22.2.3 命名空间跨文件伸展22.2.4 嵌套命名空间 22.3 using 指令22.3.1 using 命名空间指令22.3.2 using 别名指令22.3.3 using static 指令 22.4 程序集的结构22.5 程序集标识符22.6 强命名…...

【Maven】008-Maven 私服搭建与使用

【Maven】008-Maven 私服搭建与使用 文章目录 【Maven】008-Maven 私服搭建与使用一、概述1、简介2、建立私服后依赖查找和下载逻辑第一步&#xff1a;请求本地仓库第二步&#xff1a;请求 Maven 私服第三步&#xff1a;请求外部远程仓库&#xff08;远程中央仓库等&#xff09…...

TMDB电影数据分析(下)

TMDB电影数据分析&#xff08;下&#xff09; 本文对源自Kaggle TMDB电影数据集进行分析影响电影票房的因素&#xff0c;数据分析流程包含数据集概分析、数据清洗、数据统计以及分析影响电影票房的因素。影响票房因素可能是电影预算、电影类型、电影时长、受欢迎程度、电影评分…...

django后台手机号加密存储

需求&#xff1a; 1 &#xff1a;员工在填写用户的手机号时&#xff0c;直接填写&#xff0c;在django后台中输入 2&#xff1a;当员工在后台确认要存储到数据库时&#xff0c;后台将会把手机号进行加密存储&#xff0c;当数据库被黑之后&#xff0c;手机号字段为加密字符 3&am…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建

【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...

区块链技术概述

区块链技术是一种去中心化、分布式账本技术&#xff0c;通过密码学、共识机制和智能合约等核心组件&#xff0c;实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点&#xff1a;数据存储在网络中的多个节点&#xff08;计算机&#xff09;&#xff0c;而非…...

Monorepo架构: Nx Cloud 扩展能力与缓存加速

借助 Nx Cloud 实现项目协同与加速构建 1 &#xff09; 缓存工作原理分析 在了解了本地缓存和远程缓存之后&#xff0c;我们来探究缓存是如何工作的。以计算文件的哈希串为例&#xff0c;若后续运行任务时文件哈希串未变&#xff0c;系统会直接使用对应的输出和制品文件。 2 …...

高端性能封装正在突破性能壁垒,其芯片集成技术助力人工智能革命。

2024 年&#xff0c;高端封装市场规模为 80 亿美元&#xff0c;预计到 2030 年将超过 280 亿美元&#xff0c;2024-2030 年复合年增长率为 23%。 细分到各个终端市场&#xff0c;最大的高端性能封装市场是“电信和基础设施”&#xff0c;2024 年该市场创造了超过 67% 的收入。…...

第22节 Node.js JXcore 打包

Node.js是一个开放源代码、跨平台的、用于服务器端和网络应用的运行环境。 JXcore是一个支持多线程的 Node.js 发行版本&#xff0c;基本不需要对你现有的代码做任何改动就可以直接线程安全地以多线程运行。 本文主要介绍JXcore的打包功能。 JXcore 安装 下载JXcore安装包&a…...