porcess外的信号赋值出错

2019-07-15 23:24发布

我写了一个实现转置的程序,程序里用到了双口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 从仿真可以看出信号buf并没有赋值给dat_vld_o
这个是我单步仿真到,dat_vld_o <= dat_vld_o_buf这个语句时显示出的调用fushion(actel fpga)窗口,似乎 ... 这个是我单步仿真到,dat_vld_o <= dat_vld_o_buf这个语句时显示出的调用fushion(actel fpga)窗口,似乎 ...
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
asning
1楼-- · 2019-07-16 01:32
确认一下dat_vld_o是否被使用,有可能被优化了
caojianxun
2楼-- · 2019-07-16 06:56
这个仿真是我没有进行综合之前的仿真,应该不会被优化才对。
caojianxun
3楼-- · 2019-07-16 12:39
 精彩回答 2  元偷偷看……

一周热门 更多>