新手求教:altera ep2c5 片上伪双口RAM读写问题
做片上RAM的实验,1bit 输入,8bit输出没有输出寄存器,没有输出使能
仿真无输出,不知为何,错在哪里?
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_692406DS1CKX.jpg
(原文件名:图像 1.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_692408SLWMLD.png
(原文件名:图像 3.png) 上面那个有错,因为写是1位,读是8位,那么应该写8位以后才能读出FF,
所以我让他先写满1,停止写入(拉高wren)再读数据,这时应该全都是FF
这次有输出了,但又有新的问题出现,同样的地址一会读的是00,一会FF。
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_692429KQRJBL.jpg
(原文件名:图像 8.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_692422YJ6KFN.jpg
(原文件名:图像 5.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_692423LJFIE9.jpg
(原文件名:图像 7.jpg) 这次,0,1交替写入,原来是FF的地方变成了AA,但00还是没有变。。
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_692437N6FAJD.jpg
(原文件名:图像 9.jpg)
求解答~~:( 这是一个双口ram的使用吧.可以令WREN一直为1. 也只使用一个CLK,因为双口ram的读和写是可以一起进行的。
disp_ram ram0 ( .data(iDATA),
.wren(1'd1),
.wraddress(iADDR),
.clock(iCLK),
.rdaddress(oADDR),
.q(oDATA));
这是我做的一个实例。
iADDR 写入地址,自加1;
oADDR 读取地址,自加8;
ram的单位设置为bits。
应该就可以了。
页:
[1]