EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
cyclone v使用报告——内存控制器
6 V" |9 ~0 W6 Y R. i
; i2 n, D. C3 q使用Altera的UniPHY控制器,采用软核和硬核两种模式,使用的时候一般是PHY跟controller一起使用,例化的时候已经将两者合为一体了。使用软核或硬核的区别只是下图的一个check box是否选上。 本来还好好的,默认没有选上,一点击使用硬核之后,图表 1
+ `. L. W( `6 V1 Y. M2 V0 H! B # w: r2 p( f" m
图表1
, h& S6 |# D4 t1 n# Y2 Z* P$ o$ `2 d1 s$ h5 M9 V
一大推错误就出来了,图表 2,着实吓了一跳,仔细看看图表 3所说的参数含义,你就知道问题在哪了。 4 q! f2 P; h0 t. @! v7 m
# N2 y: p8 `7 f" j" W
图表2 # t! g! y3 z% y. y v
+ E8 R# y* d$ j- j$ q( q% M2 ~* Y
图表3
, f9 T8 F1 J$ T e; }; c
) m7 O5 `$ S1 n2 d0 p8 ~1 c这里稍微吐槽一下,quartusII对于不同的屏幕尺寸的兼容性不好,这一点在调用megafunction的时候最为明显,表现为弹出的显示框大小不一,且不能一次全部显示画面,比如,图表 4是在16:9的19寸显示器的画面,而我以前用的17寸显示器能在显示全部的信息。 " |$ t8 Y' I1 Y
+ b/ u# p% x4 r; `' j! G# L图表4 2 O* C+ j5 G7 b$ o. i$ n
: S! k* {5 }6 j# t& ?: [
言归正传,对于cyclone v里面的内存硬核配置,没有独立的设置参数的页面,用的仍然是原来UniPHY的设置界面,软件还没来得及更新,图表 5 & x6 F1 ~/ x. ^
图表5
" }* G# f2 x4 ^) X# @" N而且,对于这个ip各个参数的含义,也没有一分user guide来说明,用户能参考的,只是旁边的帮组窗口,图表 6。个人认为,从这两点来说,altera比xilinx慢了一拍。
$ a8 z- ]8 a5 G7 M1 O/ J
图表6
& |# i" O) F j& Z, B5 a7 k
1 v: r2 K! `! ~图表7
2 {6 P8 S$ m/ G* C 这里说一下这个ip的接口。内存硬核的接口是avalon的slave类型,也就是说你要写一个master的控制器来读写数据,以前的UniPHY用户接口如图表 9。其实个人认为,使用的时候差别不大只是名字变了点,以前是local开头,现在是avl开头。反而是datasheet里面把这俩说复杂了。
N+ _1 V$ E5 j图表8 & a. X3 z/ g |! p
8 U! K' L$ i8 q, v% J
图表9 , w% z. k, i3 E- R8 H
b4 j) H3 }. y+ V" j9 O# A) k
|