我写了一个实现转置的程序,程序里用到了双口RAM。写的程序主要是,将A口设置为写,B口设置为读。这些都没什么问题。 程序中用到了三个process,其中一个process如下,这个程序将dat_vld_o_buf信号赋值给dat_vld_o。没有语法错误。但是
仿真时出错。单步仿真时的错误也截图了。到底哪里出了问题。
-----------结构体---------------------
process(clk_i,rst)
begin
IF(rst='0')THEN
dat_vld_o_buf<='0';
ELSIF(RISING_EDGE(CLK_I)) then
if(cnt="10001")then
dat_vld_o_buf<='1';
end if;
END IF;
end process;
addra_ram<=addra;-----这个可以赋值
addrb_ram<=addrb;--这个可以赋值
dat_vld_o <= dat_vld_o_buf;--这个完蛋了可以看modelsim中dat_vld_o一直为U.
-------------------------------------------
-
从仿真可以看出信号buf并没有赋值给dat_vld_o
-
这个是我单步仿真到,dat_vld_o <= dat_vld_o_buf这个语句时显示出的调用fushion(actel fpga)窗口,似乎 ...
一周热门 更多>