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 |