Intel Quartus II DP IP1.4 工程的创建与使用

2024-01-16 20:28

本文主要是介绍Intel Quartus II DP IP1.4 工程的创建与使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前述:

Win10电脑安装了Quartus 21.4,这可以满足绝大多数情况,但是对于创建DMI/DP IP的设计demo工程时会报错,因为还需要Eclipse与WSL(Windows Subsystem for Linux)。

具体安装方法参考:

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

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

原因是没有安装wsl。

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

部分缩写:

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

一、创建DP IP的demo工程

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

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

具体创建方法参考如下:

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

2、打开DP IP

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

3、编辑基本DP参数

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

Source端IP参数如下:

Sink端IP参数如下:

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视频。

接着单击Generate Example Design接口。

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

二、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即可。

导出qsf文件方法:

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

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. 

查阅到官网如下解释:

百度解释:

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

解决方法:

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

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

在Programmer中下载sof文件。

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

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,并按如下几张图设置即可。

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

参考链接:

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

这篇关于Intel Quartus II DP IP1.4 工程的创建与使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/613792

相关文章

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi