MyFPGA Forum

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 7321|回复: 13

HPS组件和GHRD工程

[复制链接]
发表于 2014-8-12 15:48:33 | 显示全部楼层 |阅读模式
本帖最后由 matthew_wang 于 2014-8-13 14:00 编辑

本文讲述如何在Qsys工具中配置HPS以及介绍GHRD工程。GHRD是Altera首先提出的一个基于Qsys的HPS硬件参考设计工程,一般由板商提供的最基本的HPS硬件工程,开发人员可以根据要求在此基础上添加或者删除FPGA端IP器件,也可以使能或者失能HPS的部分外设,配置HPS DDR3的时钟参数。GHRD作为SoCFPGA开发的最初参考设计原型,有必要对其进行一些介绍!这里使用DE1_SoC的GHRD工程进行相应的讲解(其他的GHRD都是根据Altera的GHRD进行的改动,内容大同小异):打开DE1_SoC_ghrd工程的Qsys后,双击hps_0,弹出参数设定窗口,可以对HPS器件进行众多设定。
说明:Q13 和 Q14中看到的界面不完全一样。

■HPS与FPGA接口的信号设定:

   ● 通用接口
   MPU standby and event signals ---FPGA通过该信号获取MPU的状态
   MPU general purpose signals ----HPS内部的FPGA manager到FPGA逻辑的单向通用信号
   FPGA Cross Trigger interface ---FPGA与HPS的交互触发信号。实现了FPGA or  HPS 因为某一事件触发的时候,另外一器件会保存当前的工状态。这个设计比较酷。
   BOOT FROM FPGA signals---配置从FPGA引导preloader时候,确定preloader 是否就绪的交互信号其他为FPGA参与调试的信号

    ● AXI Bridge
    AXI Bridge 是HPS与FPGA之间通过L3交互逻辑进行通讯的一组信号。包含了三组不同功能的接口,是使用SoCFPGA协同工作的门户。以后会进行专门的介绍。

    ● FPGA-to-HPS SDRAM Interface
    这是一组供FPGA逻辑通过HPS的SDRAM控制器访问HPS的DDR3的接口。也需要单独讲述。

    ● Resets 信号
    FPGA逻辑申请HPS进入复位状态的信号,HPS进入复位后,会通过HPS-to-FPGA cold reset output 通知FPGA。

    ● DMA request
    FPGA逻辑请求FPGA内部DMA传输通道接口

    ● Interrupt 接口分为两类,一类为FPGA发起中断到HPS的中断管理器,另一类为HPS的外设中断信号传输到FPGA端

■ 外设引脚复用:
这个界面针对引脚复用进行设定,根据电路图对HPS内部的各个外设进行相关的设定。
说明:
input only 引脚不需要设定。
引脚一旦设定出来,需要在工程底层进行例化,不管管脚在电路上是否真的使用信号需要进行电平约束,不需要进行管脚约束
管脚设定为LOANIO的时候可以把该管脚当作FPGA的pin使用。
GPIO管脚必须在顶层设定为 inout 类型,否则适配报错


■HPS Clock 与 SDRAM根据板级进行相关设定,如果板级提供商设定好了,一般不需要修改。
说明:14.0版本的软件中增加了对HPS的MPU Clock 和外设Clock的设定,用户可以通过在这里输入现在对preloader程序的修改。

回到GHRD工程,我们对工程的中的各个组件进行相应的说明:整个GHRD的拓扑结构:
                GHRD_top_副本.png
                        GHRD工程结构
上图标有S的表示Slave 从设备,M表示Master 主设备。在灰绿色部分中间的所有器件都使用Avalon接口进行连接。主设备可以发起访问某个与之相连从设备,从设备可以被多个主设备访问。

■FPGA端各个IP的功用:
可以在Qsys中查看每个IP的总线、时钟以及中断连接,上图中可以比较直接地显示出各个IP的连接方式,但是时钟和中断没有明确的显示。图中最左边的64K 的On_chip RAM与HPS2FPGA相连,HPS可以通过HPS2FPGA访问它,On_Chip RAM的主要左右实现从FPGA引导preloader程序!另外On-Chip RMA 与最下面的non-sec JTAG MASTER相连,可实现从JTAG读写这部分On-Chip Memory!中间的PIO IP(LED,button,Switch)和sysID与HPS的与轻量级的AXI bridge 相连,HPS可以从轻量级的AXI Bridge访问到HPS的IP。当然也可以使用JTAG实现从non-sec JTAG来访问到这几个IP。JTAP Master Secure这个IP连接到了FPGA2HPS Bridge。这里FPGA作为了主设备来访问HPS内部的资源。用户设计时在FPGA中使用了Master IP都需要连接FPGA2HPS。另外还有一个Interrupt Capture IP,这个IP是收集中断的作用,即检测到某个IP中断,就会有寄存器发生相应改变。FPGA这边的IP的中断资源不只是连接到了这个IP上,也连接到了HPS,这样即可以实现HPS响应FPGA的中断。。HPS为FPGA分配的中断号从72到135共64个中断。后面会介绍在嵌入式linux和baremetal 下实现HPS 响应FPGA中断的实验

评分

1

查看全部评分

发表于 2014-8-13 10:11:23 | 显示全部楼层
你的讲解非常好啊!看了有种豁然开朗的感觉!对于我这种刚解除SoC FPGA的新手来说简直就是福音!
希望可以详细介绍AXI Bridge这三个桥的使用范围,注意事项以及相关例程!
还有就是baremetal下实现HPS响应FPGA中断试验!这个最近要用到!
 楼主| 发表于 2014-8-13 10:23:32 | 显示全部楼层
linjionghui 发表于 2014-8-13 10:11
你的讲解非常好啊!看了有种豁然开朗的感觉!对于我这种刚解除SoC FPGA的新手来说简直就是福音!
希望可以 ...

谢谢支持  目前是在边写边贴,保持定期更新,所以提出来的要求都会考虑到的  
只是进度可能会有些缓慢,请原谅
发表于 2014-8-13 16:07:00 | 显示全部楼层
楼主辛苦了!

非常感谢!
发表于 2014-8-13 16:12:45 | 显示全部楼层
matthew_wang 发表于 2014-8-13 10:23
谢谢支持  目前是在边写边贴,保持定期更新,所以提出来的要求都会考虑到的  
只是进度可能会有些缓慢, ...

不急,你慢慢写慢慢更新!保证质量才对的!
还有个问题,就是哪里能找到Embedded_Command_Shell的命令说明文档?
比如像这个生成HPS硬核头文件的命令是怎么来的?
sopc-create-header-files $SOPCINFO_FILE --module $HPS_MODULE_NAME --single $SYSTEM_HEADER_FILE

对于GHRD
sopc-create-header-files soc_system.sopcinfo --module hps_0 --single system.h

有这方面的说明文档吗
 楼主| 发表于 2014-8-13 17:12:53 | 显示全部楼层
Frank 发表于 2014-8-13 16:07
楼主辛苦了!

非常感谢!

应该应该  记得给分啊  
发表于 2014-9-20 16:30:13 | 显示全部楼层
"HPS为FPGA分配的中断号从72到135共64个中断。后面会介绍在嵌入式linux和baremetal 下实现HPS 响应FPGA中断的实验"这个介绍在哪里?
 楼主| 发表于 2014-11-24 17:38:37 | 显示全部楼层
za1905 发表于 2014-9-20 16:30
"HPS为FPGA分配的中断号从72到135共64个中断。后面会介绍在嵌入式linux和baremetal 下实现HPS 响应FPGA中断 ...

中断号查阅 HPS 的handbook 就好  
发表于 2015-7-7 21:38:47 | 显示全部楼层

楼主辛苦了!赞一个
发表于 2016-11-29 16:08:30 | 显示全部楼层
你好,请问您有关于baremetal的例程吗?现在急需要这方面的参考例程,谢谢!!!
发表于 2016-11-29 16:18:26 | 显示全部楼层
linjionghui 发表于 2014-8-13 10:11
你的讲解非常好啊!看了有种豁然开朗的感觉!对于我这种刚解除SoC FPGA的新手来说简直就是福音!
希望可以 ...

你好,你有baremetal下实现hps的例程吗?
 楼主| 发表于 2016-11-30 10:21:33 | 显示全部楼层
冰原狼 发表于 2016-11-29 16:08
你好,请问您有关于baremetal的例程吗?现在急需要这方面的参考例程,谢谢!!! ...

baremental altera 官网的example 中有提供, 找SoC的设计可以看到
 楼主| 发表于 2016-11-30 10:21:43 | 显示全部楼层
冰原狼 发表于 2016-11-29 16:08
你好,请问您有关于baremetal的例程吗?现在急需要这方面的参考例程,谢谢!!! ...

baremental altera 官网的example 中有提供, 找SoC的设计可以看到
发表于 2017-12-27 23:00:53 | 显示全部楼层
楼主辛苦了毛塞頓開
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2020-10-24 11:08 , Processed in 0.066007 second(s), 23 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表