单口RAM中的wea信号线只是用来控制写使能的(即clk上升沿检测到wea==1,则会根据输入的数据dina写入到addra对应的地址块,wea==0的话,就不会对内存进行写操作);而对于读数据来说,每次clk上升沿到来时,douta就输出addra地址对于的数据——可以这么说,读是一直使能的,与wea没半点关系。看图更直观,下面附上仿真图。
我用的是Altera下的,不过原理应该都一样吧,Altera的单口RAm,有一个wren使能,如果为1则是写ram,为0则是读ram,也就是说,你要么读要么写,不写的时候就读,只要不改变地址,输出的值就不变,不会对系统产生影响,所以一般情况下,如果不写,那么就把wren置0,也就是一直处于读状态。这个是altera下的,我没有用过ISE的,但是感觉原理应该一样