java怎么拦截某个对象
260
2022-10-30
Cyclone V FPGA在高带宽存储接口中的应用
存储器接口的底层架构
图1 存储器接口的底层架构和外部接口图
从图1可见,整个存储接口是由三部分组成的,Controller单元、PHY单元及一些相关接口。其中主要的便是Controller单元、PHY单元。Controller单元主要负责控制初始化、刷新等Memory的命令操作,还能够完成访问地址和数据的组织排序,支持大带宽、较高的工作频率。另外,Controller单元还支持数据重排,能够降低访问冲突,增加系统工作的效率。PHY单元工作在Controller单元和外部Memory之间,主要负责完成物理层的数据路径及数据路径的时序处理。
MPFE的功能及底层架构
图2 MPFE底层架构图
MPFE可以使得FPGA的多个处理进程共享一个Memory的命令队列。这样不同的端口都可以访问Memory接口,完成对Memory的读写操作。MP FE都是基于Avalon总线的时序进行地址、命令和数据的交互的。在实际有效带宽一定的情况下,MPFE可以将带宽按照不同的需求分配到相应的端口。
如果前端的数据位宽比较大,也可以将FIFO拼接起来,组合为128bit或256bit位宽的FIFO,128bit位宽情况下,会调用2个读或写FIFO 256bit位宽情况下,会调用4个读或写FIFO。如果一个Port设置为256bit位宽,同时设置为双向FIFO.则该Port会消耗全部的读写FIFO,此时也就相当于将多端口前端作为单端口前端来使用了。
如果前端的数据位宽比较小,也可以将64bit位宽的FIFO设置为32bit位宽,此时仍会占用1个FIFO,高32bit的数据位宽则会闲置。
由此可见,MPFE在使用上十分灵活,能够适应不同的应用方式,满足FPGA内部不同逻辑模块对Memory的读写访问。
多端口前端的调度策略
优先级参数可以在1~7之间任意指定,优先级参数值越大,代表该端口的优先级越高。高优先级的端口相对于低优先级的端口会被优先调度。优先级是一个绝对的参数,如果一个端口的优先级设置为7,则这个端口享有最高优先级,它在任何情况下都会被优先调度,这样另外的优先级为6或更低优先级的端口必须等待优先级为7的端口工作完成之后才会被调度。
图3 指定端口的优先级和权重
在端口的优先级参数都一样的情况下,权重参数能够决定端口间相对的带宽分配,如图3所示,端口0和端口1的优先级均为1,权重参数值分別为4和6,则端口0和端口1分別会占用大致40%和60%的Memory接口总带宽。
HMC的ModelSim功能仿真
仿真过程不仅能够观察到HMC内部工作的时序,还能够大致测箅出HMC工作时的有效带宽。在系统设计开始阶段,可以用于评估Memory接口实际有效带宽是否满足设计需求。如图4和图5所示。
图4 HMC的ModelSim仿真图
图5 HMC的ModelSim仿真图
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~