如何在Qsys工具中配置HPS以及介绍DE1_SOC的GHRD工程

本文讲述如何在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工程结构
上图标有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个中断。

你可能感兴趣的:(FPGA,fpga,硬件,soc)