EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
cyclone v使用报告——内存控制器
# f( l/ m3 l5 X- O. i6 e' T3 ?6 x7 Q( V& H* [& n
使用Altera的UniPHY控制器,采用软核和硬核两种模式,使用的时候一般是PHY跟controller一起使用,例化的时候已经将两者合为一体了。使用软核或硬核的区别只是下图的一个check box是否选上。 本来还好好的,默认没有选上,一点击使用硬核之后,图表 11 I5 S! Z7 S; H H. Z
* d( G# M% ]: l1 R' h. [1 G$ @
图表1
$ @% {1 _9 e. a& e' x3 d K8 U* w o5 d6 f" ]( y9 q: d! v
一大推错误就出来了,图表 2,着实吓了一跳,仔细看看图表 3所说的参数含义,你就知道问题在哪了。
+ W2 j4 F+ l& M+ t; i, f; V
* C4 K# t, n# _' @图表2
5 B) V4 S \, c
' p6 m! G3 u) @# V% z+ x8 P1 a
图表3
! |& ]. G. \2 Y' n8 y# H* V
( ]3 X7 T+ a6 h. \这里稍微吐槽一下,quartusII对于不同的屏幕尺寸的兼容性不好,这一点在调用megafunction的时候最为明显,表现为弹出的显示框大小不一,且不能一次全部显示画面,比如,图表 4是在16:9的19寸显示器的画面,而我以前用的17寸显示器能在显示全部的信息。 ; k( N: ?1 l @4 W- j
: O7 a. r2 K4 d3 O
图表4
: |5 t- D; n7 e( ]1 Q. J; \( I$ f* h4 N; }8 c
言归正传,对于cyclone v里面的内存硬核配置,没有独立的设置参数的页面,用的仍然是原来UniPHY的设置界面,软件还没来得及更新,图表 5
1 Y' f0 ~/ R1 ^6 m6 S @/ _( G' b图表5 . a% P @* Y% n) i2 G0 u7 {
而且,对于这个ip各个参数的含义,也没有一分user guide来说明,用户能参考的,只是旁边的帮组窗口,图表 6。个人认为,从这两点来说,altera比xilinx慢了一拍。
7 M6 ]0 v" y5 I& G- M9 i4 S. b图表6 ! o+ a8 E }! c' W! D: D/ U
9 T0 w6 E0 u9 ^$ e) T$ t) g图表7 4 T7 `: U+ r1 L3 H; x. o3 e
这里说一下这个ip的接口。内存硬核的接口是avalon的slave类型,也就是说你要写一个master的控制器来读写数据,以前的UniPHY用户接口如图表 9。其实个人认为,使用的时候差别不大只是名字变了点,以前是local开头,现在是avl开头。反而是datasheet里面把这俩说复杂了。
1 w( _7 Z1 V4 u+ i7 M图表8 0 V6 d, B7 v# V. H) o2 j2 M9 R
9 a1 x" f2 H* x1 F图表9 2 o7 M! n9 u1 _/ q/ }+ k2 ~3 U
& H/ _3 N6 y; H |