DE1-SoC笔记(二)—SoC FPGA开发设计流程总结(de1教程2.1节)

文章目录

  • 1、所需要的软件
    • 1.1 硬件设计部分
    • 1.2 软件设计部分
    • 1.3 putty
  • 2、各软件的作用
  • 3、SoC FPGA设计流程
    • 3.1、用Qsys构建Hardware系统
    • 3.2、生成Preloader和Device Tree
    • 3.3、编写Linux应用程序
    • 3.4、Linux控制HPS外设
    • 3.5、HPS总线到FPGA总线的地址映射
    • 3.6、HPS控制FPGA端的外设(LED)

1、所需要的软件

1.1 硬件设计部分

Quartus (Quartus Prime17.1)
硬件开发工具Qsys(集成在Quartus中)——也称为Platform Designer

1.2 软件设计部分

软件开发工具:SoC EDS套件(需要独立安装)【内部集成了DS-5 用来编写软件程序】

1.3 putty

串口终端软件

2、各软件的作用

Quartus Prime17.1:用来进行FPGA开发:建.v文件,编译,仿真调试(Modelsim),分配引脚等。
Qsys:添加外设(IP等),配置HPS的参数,进行总线连接,中断优先级分配,基地址的分配等
SoC EDS套件:(相当于windows系统下的cmd,给命令生成文件)【内部集成了DS-5 用来编写软件程序】

3、SoC FPGA设计流程

此博文只是大概总结设计流程,具体每个步骤应该怎么操作,后在其他博文中介绍。如下是SoC FPGA的设计流程
采用我们上述所讲的软件,进行对应的设计。Qsys来搭建硬核系统,将搭建后的硬核系统生成,并将新添加的IP等外设例化到quartus中,并进行引脚约束、时序约束、全编译得到sof文件,改文件即可来配置FPGA。另外采用DS-5软件来进行软件应用程序的编写,然后将其下载到开发板运行。
DE1-SoC笔记(二)—SoC FPGA开发设计流程总结(de1教程2.1节)_第1张图片

3.1、用Qsys构建Hardware系统

基于厂家提供的GHRD黄金硬件工程,采用quartus中集成的Qsys来搭建硬核系统,其具体的工作:

  • 在GHRD工程的基础上,进行IP核或者自定义外设的配置和添加,并对新添加的组件进行连线,带中断的组件进行优先级分配,对组件的基地址进行修改等。
  • 生成硬核系统,从而可得到.qsys文件
  • 将我们新添加的组件(IP等外设)例化到quartus工程的顶层文件中,并添加qip文件(包含所有文件位置的目录档案),添加时间及引脚约束文件,全编译,得到sof文件。——若仅仅做FPGA部分的设计,那么这里的sof文件也可直接下载到开发板。

3.2、生成Preloader和Device Tree

Preloader,uboot, Device Tree可以协助HPS在DE1-SoC上进行 embedded Linux System, Linux内核解析需要挂载硬件外设完成boot。
1、经过qsys搭建硬核系统后,我们可以得到如下的几个文件:

  • handoff:用于生成Device Tree
  • .svd:包含Preloader 的相关配置文件
  • .sopcinof:用于DS-5的调试功能
    DE1-SoC笔记(二)—SoC FPGA开发设计流程总结(de1教程2.1节)_第2张图片

2、用BSP Editorhandoff文件最终转化成image文件

  • 先采用SOC EDS输入BSP Editor命令,从而利用BSP Editor生成bsp文件(预加载配置文件)。
  • 在SOC EDS继续输入命令,来生成bin文件。
  • 在SOC EDS继续输入命令,通过bin文件来生成img文件。
  • 该img文件就能在linux中,通过命令更新到boot SD卡。

3、用SOC EDS生成Device Tree(dtb,dts文件)
方法如下:
https://blog.csdn.net/H19981118/article/details/123729198?spm=1001.2014.3001.5502

3.3、编写Linux应用程序

用 DS-5进行应用程序的编写,并生成,调试,运行

3.4、Linux控制HPS外设

3.5、HPS总线到FPGA总线的地址映射

3.6、HPS控制FPGA端的外设(LED)

比如说我们在Qsys中进行了一个LED外设的添加。那么我们就可按照上面的步骤进行,添加led的ip核,生成硬核系统,将添加的led 实例化到顶层文件,然后进行时间和引脚约束,全编译,进行设备树以及preloader的生成,用DS-5来编写软件程序,从而控制新添加的LED外设。

你可能感兴趣的:(DE1-SoC,soc,fpga开发)