文章目录

  • 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软件来进行软件应用程序的编写,然后将其下载到开发板运行。

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的调试功能

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开发设计流程总结(de1教程2.1节)相关推荐

  1. amazeui学习笔记二(进阶开发4)--JavaScript规范Rules

    amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...

  2. amazeui学习笔记二(进阶开发2)--Web组件简介Web Component

    amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...

  3. FPGA基本开发设计流程

    FPGA基本开发设计流程,九个步骤搞定 http://mini.eastday.com/bdmip/190809020717157.html FPGA的设计流程就是利用EDA开发软件和编程工具对FPG ...

  4. FPGA基本开发设计流程,九个步骤搞定

    FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程.FPGA的开发流程一般如图1-10所示,包括电路功能设计.设计输入.功能仿真.综合优化.综合后仿真.实现.布线后仿真.板 ...

  5. FPGA开发基本流程

    转自:https://www.cnblogs.com/synow/p/5498654.html FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程.典型FPGA的开发流程一 ...

  6. FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程

    FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程 很多做过单片机的朋友都知 道,我们在对MCU烧写完程序固件后,那么该程序固件就存储在了该MCU内部.即使MCU断电了再重新上电,程序 ...

  7. FPGA开发基本流程详解

    FPGA是一种可编程逻辑器件,与传统的硬连线电路不同,它具有高度的可编程性和灵活性.FPGA的设计方法包括硬件设计和软件设计两部分,硬件设计包括FPGA芯片电路.存储器.输入输出接口电路等等,软件设计 ...

  8. ASIC开发设计流程

    ASIC开发设计流程 1. 使用语言:VHDL/verilog HDL 2. 各阶段典型软件介绍: a) 输入工具: Summit Summit 公司 b) 仿真工具: VCS, VSS Synops ...

  9. 【FPGA-F3】阿里云FAAS平台,极大简化FPGA开发部署流程

    摘要: 阿里FPGA云服务器平台FaaS(FPGA as a Service)在云端提供统一硬件平台与中间件,可大大降低加速器的开发与部署成本.普惠开发者 FPGA (现场可编程门阵列)由于其硬件并行 ...

最新文章

  1. 自动类型转换和强制类型转换
  2. Nginx 虚拟主机配置及负载均衡
  3. 基于流式的md5计算-多线程下载工具Lwget介绍
  4. 盘点2021年九大最好用的人脸识别软件
  5. linux内核网络协议栈--linux网络设备理解(十三)
  6. 第一阶段个人总结03
  7. 《C++ Primer 第五版》(第4.1-4.11节) ——运算符的执行顺序问题,负值坐商取余问题,数值的移位操作
  8. mysql current_MySQL中CURRENT_TIMESTAMP数据类型详解
  9. centOS安装Ftp
  10. 360路由器刷openwrt后设置wifi中继
  11. 对注册表操作的REG函数
  12. matlab软件及基础实验第8单元,知到高等数学与MATLAB启蒙第八单元章节测试答案...
  13. 我们该不该在Rust上做点投资?
  14. JAVA输出希腊字母表
  15. 计算机应届生的面试经验
  16. ARM学习笔记:HC-SR501人体红外传感器
  17. 大数据面试题汇总【有自己的和网上总结的】
  18. 【论文泛读】ChineseBERT:融合字形与拼音信息的中文预训练模型
  19. linux认证教程,Linux认证考试:Linux系统的经典技巧
  20. vue项目打包部署注意点 + 宝塔面板几步部署项目

热门文章

  1. 【RISC-V】-Linux平台环境搭建
  2. 你知道CSO对云安全的最大担忧是什么吗?
  3. 基于STM32F407通过STM32CubeMX实现FATFS+SD卡多行存储
  4. testbed系统测试
  5. 【ESP 保姆级教程】疯狂毕设篇 —— 案例:基于ESP8266的RFID门禁系统
  6. 拉绳位移传感器有哪些知识需要我们去了解
  7. c语言实现二进制八进制十进制和十六进制的相互转化
  8. 时间轮-Java实现篇
  9. 微信逆向分析(四)——逆向分析的工具
  10. 用问答方式了解运营商光纤固网技术