找回密码
 注册
关于网站域名变更的通知
查看: 694|回复: 1
打印 上一主题 下一主题

转——在Qsys工具中配置SOC HPS的方法以及介绍DE1_SOC的GHRD工程

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-22 09:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
转——在Qsys工具中配置SOC HPS的方法以及介绍DE1_SOC的GHRD工程

# H3 Y/ d0 y( H' z. o0 t/ W. w. w- h+ F& ?0 K9 S3 w! o
本文讲述如何在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器件进行众多设定。0 _/ q( C; ?( x; d9 C
说明:Q13 和 Q14中看到的界面不完全一样。$ k( c0 o# D" r
* _4 Q* U7 B. `0 F
HPS与FPGA接口的信号设定:- U6 ~( f% `. ^6 H- X
% H/ ~2 g& T( J. w' Z& c% j, A
   ● 通用接口
9 w* {% a6 T% ]+ j8 ?8 f   MPU standby and event signals ---FPGA通过该信号获取MPU的状态0 M! C/ T2 a9 `3 f3 C
   MPU general purpose signals ----HPS内部的FPGAmanager到FPGA逻辑的单向通用信号# a' Y- n4 I6 m1 A
   FPGA Cross Trigger inteRFace ---FPGA与HPS的交互触发信号。实现了FPGA or  HPS 因为某一事件触发的时候,另外一器件会保存当前的工状态。这个设计比较酷。8 L' Q9 F+ m- _1 J* b: L
   BOOT FROM FPGA signals---配置从FPGA引导preloader时候,确定preloader 是否就绪的交互信号其他为FPGA参与调试的信号
" O  a. k# ?5 p+ D/ m4 z2 @1 d/ Z; @; M9 }* ~1 [; u, J
    ● AXI Bridge8 V  b) X0 O: |- F/ c( i4 s
    AXI Bridge 是HPS与FPGA之间通过L3交互逻辑进行通讯的一组信号。包含了三组不同功能的接口,是使用SoCFPGA协同工作的门户。以后会进行专门的介绍。
7 q/ r* j. e% O7 g) L1 z8 c+ X5 }1 ]$ v/ m9 ^4 D
    ● FPGA-to-HPS SDRAM Interface
- W  V; m- a+ |: P/ Q# U! A* l    这是一组供FPGA逻辑通过HPS的SDRAM控制器访问HPS的DDR3的接口。也需要单独讲述。) X1 l, Y1 ?9 r$ h8 |3 I
+ ?1 J/ d4 y& m- i
    ● Resets 信号2 {/ Q) L! @, x/ Y3 r5 i
    FPGA逻辑申请HPS进入复位状态的信号,HPS进入复位后,会通过HPS-to-FPGA cold reset output 通知FPGA。
, S0 c( u1 E) T! I! S% }2 @  C* S) ~0 v* [1 i. C6 x, _
    ● DMA request. f3 W2 ]$ U. X/ K
    FPGA逻辑请求FPGA内部DMA传输通道接口- D: k# `% i  C# d6 @" [% z

( o0 n, {8 ^" D) z& r    ● Interrupt 接口分为两类,一类为FPGA发起中断到HPS的中断管理器,另一类为HPS的外设中断信号传输到FPGA端
: I+ L$ E( U! w3 Q
0 y* v* x5 o; A- ^# v6 [
外设引脚复用:
8 T; |! q: k% o3 L这个界面针对引脚复用进行设定,根据电路图对HPS内部的各个外设进行相关的设定。
9 S3 D+ J* {/ x  |# M说明:" f9 f7 J! P% A; ?/ I
input only 引脚不需要设定。2 \% D( C0 J% s, }
引脚一旦设定出来,需要在工程底层进行例化,不管管脚在电路上是否真的使用信号需要进行电平约束,不需要进行管脚约束
1 t- W: j/ I1 H$ a$ t9 ]* I: B管脚设定为LOANIO的时候可以把该管脚当作FPGA的pin使用。+ Y2 c+ `- y+ ~# A3 o  q
GPIO管脚必须在顶层设定为 inout 类型,否则适配报错9 o: K6 {* E5 i
0 X* B" f, f, u5 H
HPS Clock 与 SDRAM根据板级进行相关设定,如果板级提供商设定好了,一般不需要修改。/ A* Q4 l3 R$ o. P6 `) u: U
说明:14.0版本的软件中增加了对HPS的MPU Clock 和外设Clock的设定,用户可以通过在这里输入现在对preloader程序的修改。
  M. a2 R& Z. i4 d. X
* g! t/ U8 p% t9 ]: e回到GHRD工程,我们对工程的中的各个组件进行相应的说明:整个GHRD的拓扑结构:

) X$ n4 @3 `8 q' r
  GHRD工程结构
上图标有S的表示Slave 从设备,M表示Master 主设备。在灰绿色部分中间的所有器件都使用Avalon接口进行连接。主设备可以发起访问某个与之相连从设备,从设备可以被多个主设备访问。; r# \# Y+ v6 C  F6 N

* W) p" B" c; Q. }; |
FPGA端各个IP的功用:* g2 \7 \* K8 S
可以在Qsys中查看每个IP的总线、时钟以及中断连接,上图中可以比较直接地显示出各个IP的连接方式,但是时钟和中断没有明确的显示。图中最左边的 64K 的On_chip RAM与HPS2FPGA相连,HPS可以通过HPS2FPGA访问它,On_ChipRAM的主要左右实现从FPGA引导preloader程序!另外On-Chip RMA 与最下面的non-secJTAG MASTER相连,可实现从JTAG读写这部分On-ChipMemory!中间的PIO IP(LED,button,Switch)和sysID与HPS的与轻量级的AXIbridge 相连,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个中断。

2 c# {" j0 W8 |5 M  I

该用户从未签到

2#
发表于 2019-4-22 17:37 | 只看该作者
谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 11:03 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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