ALTERA SOC开发流程(1)——基础设置篇

    接触ALTERA SOC已有一年有余,现在有时间便将一些走过的弯路和一些经验分享给大家。

    大家手上一般都是淘宝的开发板或者第三方的开发板,一般都配有详细的文档,但是文档使能体现ALTERA SOC性能的一部分,有些细节上的东西可能照顾的不是很周全,闲话到此为止,开始我们的SOC之旅吧。

   我手上使用的是Cyclone V SOC,具体型号是5CSEMA5U23C8,其他型号的Cyclone V SOC只是FPGA逻辑资源的大小区别,ARM端资源都是一样的,当然更高端的Arria 10或者其他的SOC 平台可能ARM端资源就更多,频率也会更高。Altera公司喜欢把ARM端叫做HPS端,可能想和赛灵思区分开来吧,哈哈哈。

首先我们需要新建一个工程,就叫ALTERA_SOC吧,博主使用的是quartus 18.1版本,有些IP core可能已经更新。

ALTERA SOC开发流程(1)——基础设置篇

 

点击finish新建工程,新建完工程之后我们肯定需要开始对ARM的外设进行配置,这个时候就必须参考你所使用的的开发板或者你设计的板卡的原理图。在QUARTUS 界面下点击tools ->platform designer,由于我使用的是较为高等级的18.1版本,老版本此功能叫做QSYS,如果之前使用过nosii软核应该对此比较了解。

ALTERA SOC开发流程(1)——基础设置篇

点击进去之后便可以进入到我们的连线阶段,其实这个功能和赛灵思的block design功能很像,当然有可能先入为主,我觉得赛灵思的更好用一点,图形化界面做的相对来说较为美观,ALTERA感觉就好像直男的审美一样,说的就是我了,哈哈哈哈哈。

ALTERA SOC开发流程(1)——基础设置篇

进入到此界面之后我们可以看到左侧有很多 IP core可供我们选择,此时我们搜索HPS,添加ARM的硬核IP,双击此选项即可

ALTERA SOC开发流程(1)——基础设置篇

接下来就进入到ARM端的一些详细配置界面了,是不是感觉花里胡哨,配置贼多,其实不用担心,里面有好多设置我也没怎么用过,正常设计也只会用到一些关键部分,大多数功能都不需要开启。如图所示左侧,显示的是你的ARM硬核对外的一些借口,包括DDR、存储芯片、网口、AXI总线之类的,右侧则是对ARM端的一些详细配置,更改设置,左侧的对外接口也会有所变化,点击左侧的show signals即可看到详细内容。

ALTERA SOC开发流程(1)——基础设置篇

由于版幅有限,我只推荐一个我所经常使用的设置,如果需要定制化的设置,可能需要各位理解后再进行尝试,工程我会在最后提供。我们可以看到,从左至右依次有四个设置,分别是FPGA和ARM互联的接口设置(包括DDR、AXI总线等),第二个是ARM的外设设置(包括对外的网口、存储芯片等,也可以使用FPGA扩展ARM端接口,这个后面再将),第三个是ARM端和ARM端外设的一些时钟设置(包括ARM主时钟、QPSI和NAND的时钟频率等),第四个是DDR的一些相关配置,具体时序请参考所在板卡的DDR文档。

设置完成后,我们便可以点击finish,退回到platform design 的主界面,此时会有很多错误在下方提示,不需要担心,因为很多线还没有连接,时钟复位之类的。写到这里突然就不想写了,写文档好累啊,哈哈哈哈哈。害,还是继续吧。

ALTERA SOC开发流程(1)——基础设置篇

如图所示我已经将线都已经连接完毕,我添加了一个clock bridge 的IP将ARM的100M时钟引出作为我的FPGA主时钟,箭头所指向的地方可以看到这种白色小箭头的东西,这个就是对外的一些借口,可以看到我的SD卡(不仅限于SD卡,也支持EMMMC)也是使用FPGA进行扩展的。所有的对外例话信息均可点击generate->show instantiation template

ALTERA SOC开发流程(1)——基础设置篇

ALTERA SOC开发流程(1)——基础设置篇

此时我们将此代码复制,在QUARTUS 界面下新建顶层文件,将此例话,具体内容参考工程文件。但是现在我们还没有生成这个硬核的IP core,我们需要点击generate HDL生成verilog 代码。

ALTERA SOC开发流程(1)——基础设置篇

这样整个工程的基础框架就算搭建完毕了,后续还需要调试ARM与FPGA的通信、对外的一些接口,下一版再讲,哈哈哈哈哈,真的写不动了,如果那些地方不是很明白的或者想交流下技术的可以私信留言我看到都会回复,哪些地方有错误也请指正,我也很菜,哈哈哈哈哈。

下面是工程文件可自行下载

链接:https://pan.baidu.com/s/1zA9dKRLCOX-kohf-TOtgSg 
提取码:jlh9