DE1-SoC笔记(三)——采用Quartus中的Qsys/Platform中添加GHRD工程并增添UART外设——(de1教程2.4节)


如何添加GHRD工程并进行修改——以添加UART外设为例

硬件开发使用 Platform Designer/Qsys的设计流程:

在这里插入图片描述

1、准备工作(开发板确定及GHRD工程获取):

首先确定使用的开发板,并在对应开发板厂商官网下载对应的GHRD工程文件。例如我这里采用DE1-SoC,则在友晶科技官网找到该板子对应的CD,里面即包含我们所需要的de1_soc_GHRD工程。
在这里插入图片描述

DE1 GHRD的下载地址:http://www.terasic.com.cn/cgi-bin/page/archive.pl?Language=China&CategoryNo=180&No=870&PartNo=4#contents

2、将GHRD工程加到Qsys/platform中

将我们GHRD的soc_system工程双击打开,可添加到Quartus中,我这里采用的是Quartus17.1
在这里插入图片描述
点击这个platform标志,自动打开platform design工具
在这里插入图片描述
将GHRD对应的qsys文件打开
在这里插入图片描述

如下可以看到,我们的GHRD工程已经加入进来,接下来学习如何修改GHRD工程
在这里插入图片描述

3、修改GHRD工程(以添加UART外设为例)

3.1 首先添加UART外设

首先在界面左侧的IP核位置,搜索UART找到并双击
在这里插入图片描述
双击后进行IP核的配置,配置方法和之前FPGA中添加IP核的方法是一样的,这里不进行配置的讲解,因此直接默认添加,重点学习如何在platform中进行信号间的连线
在这里插入图片描述
我这里添加了两个UART的外设:
在这里插入图片描述

  • 连线之前我们需要掌握如下的几个知识点:
  • UART IP核提供了一个Slave总线与主机相连,若想能对其寄存器进行读写操作,那么就需要将Slave接口连接到Master接口上。
  • 在含有HPS的SoC系统中,ARM和FPGA采用AXI总线进行通信,三种形式:H2F_AXI_Master总线,F2H_AXI_Slave总线,H2F_LW_AXI_Master总线。(前两个高速桥最高支持128位宽)
  • UART是一个数据吞吐量很小的设备,在连接的时候,选择轻量级的桥即可,保证其使用最低的时钟频率即可通信,便于其他需要高时钟频率的逻辑更好的进行时序优化。
  • UART 和 H2F轻量桥采用相同的时钟域
  • UART的复位端口连接clk_0模块的复位端口即可
  • external_connection 端口需要分配到芯片的物理引脚上,该端口包括uart_tx 和 uart_rx俩信号。因此直接将此端口导出即可。在对应的export一列双击该信号即可实现导出,为便于识别,可将导出名改成uart_0/uart_1
    在这里插入图片描述
    中断优先级的分配
    irq为中断请求信号,同时双核的ARM支持f2h_irq0 和 f2h_irq1,我们这里只需要将uart中的 irq 接到 f2h_irq0
    在这里插入图片描述

至此可进行UART IP信号端口的连接(主要是hps_0,clk_0,uart_0,uart_1四个模块之间的连接)


补充:还可以根据uart ip核端口连接,进行其他I2C以及PIO等ip核的添加以及端口信号连接。
分配组件基地址
添加uart后,下方信息框会出现 UART IP地址范围域其他设备冲突的错误,因此可用platform中提供的自动分配基地址的方式纠错。
在这里插入图片描述
首先为了防止自动分配的时候,影响其他添加好的IP,先对其他IP基地址锁定。点击锁的符号即可
在这里插入图片描述
然后在上方栏点击:System——Assign Base Address,报错消失。

3.2 生成 Qsys 系统的HDL文件

将配置后的Qsys系统,生成对应的HDL代码,上方栏Generation——Generation HDL,默认verilog语言,生成
在这里插入图片描述
等待…成功后关闭
在这里插入图片描述

3.3 添加 uart_0 和 uart_1的端口到quartus工程中

上方栏Generation——show Instantiation Template 表示打开系统例化模板,我们即可看到新添加的uart端口,将其从系统例化模块中复制,然后打开quartus的GHRD顶层文件,将其添加进去即可。
在这里插入图片描述
添加进去后,修改它们的例化名并在端口列表中进行括号内信号线的定义
在这里插入图片描述
在这里插入图片描述
修改完成后,关闭platform designer工具,目前就完成了uart 模块的引脚添加和分配

3.4 引脚分配

首先分析综合,无报错后打开pin planner,看到我们添加的 fpga_uart的端口。修改电平标准为3.3V-LVTTL,然后根据手册进行引脚分配。
在这里插入图片描述
分配后全编译即可,这地方和以往FPGA引脚分配是一样的
至此使用GHRD添加外设完成.


4、编译好的工程配置到FPGA的三种方式

若想将工程编译好的信息配置到FPGA,可采用如下三种方式:

  • 直接将sof文件,通过JTAG下载到开发板
  • sof文件转换成jic文件,后烧写到5CSE中,设置FPGA从5CSE中启动
  • 将编程好的文件转换成二进制数据流文件**(.rbf),然后放在SoC的启动镜像SD卡**中,在 UBoot启动阶段 将其配置到FPGA。

注意:rbf文件有两种,分别是经过压缩和未经过压缩的。
uboot阶段配置fpga:需要使用未经压缩的rbf格式文件。
在Linux应用程序中配置fpga时,需要使用经压缩的rbf文件。
也就是说生成的经过压缩的rbf文件是不支持uboot阶段配置fpga的。

rbf文件如何生成:可在 关于Quartus II rbf文件生成 的博文中进行查看。

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
DE1-SoC是一款由英特尔公司开发的强大而灵活的系统级开发平台。它集成了一系列功能强大的硬件和软件,用于实现高性能和多功能的嵌入式系统设计。 首先,在硬件方面,DE1-SoC配备了一颗高性能的Cyclone V SoC FPGA芯片。这个芯片基于ARM架构,集成了双核ARM Cortex-A9处理器,可以提供高性能的计算能力和低功耗的处理效率。同时,它还集成了一个丰富的外设,例如HDMI接口、SD卡插槽、以太网接口等,这些外设可以满足各种不同应用的需求。 其次,在软件方面,DE1-SoC提供了丰富的软件开发工具和支持。它支持使用Quartus Prime软件进行FPGA设计和编程,以及使用ARM开发工具链进行软件开发。这些工具可以帮助开发者进行FPGA逻辑设计和ARM软件开发,并提供了丰富的开发资源和示例代码。 此外,DE1-SoC还提供了大量的配套资料,用于帮助用户更好地了解和使用这个开发平台。配套资料包括用户手册、技术规格、设计例程、实验指导等,这些资料详细介绍了DE1-SoC的硬件和软件配置,以及如何进行基本的开发和调试。 总的来说,DE1-SoC是一款功能强大的嵌入式系统开发平台,它提供了高性能的硬件和丰富的软件开发工具,以及详细的配套资料,可以帮助开发者快速进行FPGA和ARM的开发。无论是学习嵌入式系统设计还是进行商业项目开发DE1-SoC都是一个理想的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting_FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值