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软件来进行软件应用程序的编写,然后将其下载到开发板运行。
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 Editor 将handoff文件最终转化成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节)相关推荐
- amazeui学习笔记二(进阶开发4)--JavaScript规范Rules
amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...
- amazeui学习笔记二(进阶开发2)--Web组件简介Web Component
amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...
- FPGA基本开发设计流程
FPGA基本开发设计流程,九个步骤搞定 http://mini.eastday.com/bdmip/190809020717157.html FPGA的设计流程就是利用EDA开发软件和编程工具对FPG ...
- FPGA基本开发设计流程,九个步骤搞定
FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程.FPGA的开发流程一般如图1-10所示,包括电路功能设计.设计输入.功能仿真.综合优化.综合后仿真.实现.布线后仿真.板 ...
- FPGA开发基本流程
转自:https://www.cnblogs.com/synow/p/5498654.html FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程.典型FPGA的开发流程一 ...
- FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程
FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程 很多做过单片机的朋友都知 道,我们在对MCU烧写完程序固件后,那么该程序固件就存储在了该MCU内部.即使MCU断电了再重新上电,程序 ...
- FPGA开发基本流程详解
FPGA是一种可编程逻辑器件,与传统的硬连线电路不同,它具有高度的可编程性和灵活性.FPGA的设计方法包括硬件设计和软件设计两部分,硬件设计包括FPGA芯片电路.存储器.输入输出接口电路等等,软件设计 ...
- ASIC开发设计流程
ASIC开发设计流程 1. 使用语言:VHDL/verilog HDL 2. 各阶段典型软件介绍: a) 输入工具: Summit Summit 公司 b) 仿真工具: VCS, VSS Synops ...
- 【FPGA-F3】阿里云FAAS平台,极大简化FPGA开发部署流程
摘要: 阿里FPGA云服务器平台FaaS(FPGA as a Service)在云端提供统一硬件平台与中间件,可大大降低加速器的开发与部署成本.普惠开发者 FPGA (现场可编程门阵列)由于其硬件并行 ...
最新文章
- 自动类型转换和强制类型转换
- Nginx 虚拟主机配置及负载均衡
- 基于流式的md5计算-多线程下载工具Lwget介绍
- 盘点2021年九大最好用的人脸识别软件
- linux内核网络协议栈--linux网络设备理解(十三)
- 第一阶段个人总结03
- 《C++ Primer 第五版》(第4.1-4.11节) ——运算符的执行顺序问题,负值坐商取余问题,数值的移位操作
- mysql current_MySQL中CURRENT_TIMESTAMP数据类型详解
- centOS安装Ftp
- 360路由器刷openwrt后设置wifi中继
- 对注册表操作的REG函数
- matlab软件及基础实验第8单元,知到高等数学与MATLAB启蒙第八单元章节测试答案...
- 我们该不该在Rust上做点投资?
- JAVA输出希腊字母表
- 计算机应届生的面试经验
- ARM学习笔记:HC-SR501人体红外传感器
- 大数据面试题汇总【有自己的和网上总结的】
- 【论文泛读】ChineseBERT:融合字形与拼音信息的中文预训练模型
- linux认证教程,Linux认证考试:Linux系统的经典技巧
- vue项目打包部署注意点 + 宝塔面板几步部署项目