当前位置: 首页 > 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…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...