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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

& h2 P9 t: J$ v) Y; x" M. F6 \- a1 p: q* B5 Q
本文讲述如何在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器件进行众多设定。
' K: S, D2 A* Z7 R2 s0 f说明:Q13 和 Q14中看到的界面不完全一样。
3 \  W5 @! }( Z2 \6 H: c# f% c' B7 r! f2 W9 ^; Y0 _" u' b: _$ N
HPS与FPGA接口的信号设定:1 ~, U) r3 P  X, A) `) v1 N
( F$ A- W2 M, [
   ● 通用接口
1 [: U$ K' S0 N  |" F   MPU standby and event signals ---FPGA通过该信号获取MPU的状态; ?" y9 Q4 |* {. `+ l# q7 {
   MPU general purpose signals ----HPS内部的FPGAmanager到FPGA逻辑的单向通用信号0 d! `" d- V$ S$ k0 i4 P
   FPGA Cross Trigger inteRFace ---FPGA与HPS的交互触发信号。实现了FPGA or  HPS 因为某一事件触发的时候,另外一器件会保存当前的工状态。这个设计比较酷。
1 V/ {+ |& F% w# t- o" Q) [   BOOT FROM FPGA signals---配置从FPGA引导preloader时候,确定preloader 是否就绪的交互信号其他为FPGA参与调试的信号
( b6 O4 S" p1 f2 S, C5 q# m1 H; s- h+ W
    ● AXI Bridge# Z; t( L8 l0 I3 O, l+ Y* c' @7 k+ z, q
    AXI Bridge 是HPS与FPGA之间通过L3交互逻辑进行通讯的一组信号。包含了三组不同功能的接口,是使用SoCFPGA协同工作的门户。以后会进行专门的介绍。
& |$ Y) B; g, l& ]# R0 e* ]2 _3 d7 D/ r& y4 D6 m6 c3 }' R1 K3 w+ p& k
    ● FPGA-to-HPS SDRAM Interface
2 P0 i+ z7 k! x5 l: h    这是一组供FPGA逻辑通过HPS的SDRAM控制器访问HPS的DDR3的接口。也需要单独讲述。
: O# ?* O; K) c+ q+ ]  v* ^& x3 j. @
    ● Resets 信号+ b9 C* q. ]+ W, ]" ^* R- a
    FPGA逻辑申请HPS进入复位状态的信号,HPS进入复位后,会通过HPS-to-FPGA cold reset output 通知FPGA。
* K+ `' g) A  L
1 L1 i* f* O+ d0 |4 s. h9 T    ● DMA request
/ [) f, v+ `( C$ ^+ y7 u& _* ?' z    FPGA逻辑请求FPGA内部DMA传输通道接口
* A- h6 q: C3 u9 r
( t5 \; B/ ~' r. ]+ I    ● Interrupt 接口分为两类,一类为FPGA发起中断到HPS的中断管理器,另一类为HPS的外设中断信号传输到FPGA端4 |5 U( {# \' V; X3 l' A2 K' E

. ^7 K7 ]# }% e: {
外设引脚复用:1 D( \1 i) J/ [1 {4 P+ J8 u( l" b* I
这个界面针对引脚复用进行设定,根据电路图对HPS内部的各个外设进行相关的设定。6 @2 |4 W& N, U- W4 R/ H
说明:
0 `$ N3 L+ g  \% x$ M8 Rinput only 引脚不需要设定。
# k; _9 w9 @- B引脚一旦设定出来,需要在工程底层进行例化,不管管脚在电路上是否真的使用信号需要进行电平约束,不需要进行管脚约束
7 t1 m  ^& ^' [2 ]" A管脚设定为LOANIO的时候可以把该管脚当作FPGA的pin使用。9 i; Z, G2 ]& p3 C( H
GPIO管脚必须在顶层设定为 inout 类型,否则适配报错
7 `. J( @; h# d) p( y9 ?6 T6 l: A0 n( c9 u. T4 E4 W; [! k
HPS Clock 与 SDRAM根据板级进行相关设定,如果板级提供商设定好了,一般不需要修改。6 m1 \% \, P5 d% ]
说明:14.0版本的软件中增加了对HPS的MPU Clock 和外设Clock的设定,用户可以通过在这里输入现在对preloader程序的修改。
7 o% d- v" U1 ?1 G, |
( A2 l& a( i1 l2 A' i/ \( @回到GHRD工程,我们对工程的中的各个组件进行相应的说明:整个GHRD的拓扑结构:
& Z7 t0 W5 F$ H6 j
  GHRD工程结构
上图标有S的表示Slave 从设备,M表示Master 主设备。在灰绿色部分中间的所有器件都使用Avalon接口进行连接。主设备可以发起访问某个与之相连从设备,从设备可以被多个主设备访问。
* o4 b" G( D; j5 J
, O& p2 e% j% P8 q. `
FPGA端各个IP的功用:
: J! ^( X) _( \" F  P3 ~3 w  h可以在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个中断。

$ ^( \0 Z) Y  K" O0 ?# D, `

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-31 00:36 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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