使用Altera的UniPHY控制器,采用软核和硬核两种模式,使用的时候一般是PHY跟controller一起使用,例化的时候已经将两者合为一体了。使用软核或硬核的区别只是下图的一个check box是否选上。
本来还好好的,默认没有选上,一点击使用硬核之后,图表 1
图表1
一大推错误就出来了,图表 2,着实吓了一跳,仔细看看图表 3所说的参数含义,你就知道问题在哪了。
图表2
图表3
这里稍微吐槽一下,quartusII对于不同的屏幕尺寸的兼容性不好,这一点在调用megafunction的时候最为明显,表现为弹出的显示框大小不一,且不能一次全部显示画面,比如,图表 4是在16:9的19寸显示器的画面,而我以前用的17寸显示器能在显示全部的信息。
图表4
言归正传,对于cyclone v里面的内存硬核配置,没有独立的设置参数的页面,用的仍然是原来UniPHY的设置界面,软件还没来得及更新,图表 5
图表5
而且,对于这个ip各个参数的含义,也没有一分user guide来说明,用户能参考的,只是旁边的帮组窗口,图表 6。个人认为,从这两点来说,altera比xilinx慢了一拍。
图表6
图表7
这里说一下这个ip的接口。内存硬核的接口是avalon的slave类型,也就是说你要写一个master的控制器来读写数据,以前的UniPHY用户接口如图表 9。其实个人认为,使用的时候差别不大只是名字变了点,以前是local开头,现在是avl开头。反而是datasheet里面把这俩说复杂了。
图表8
图表9