完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我写了一个实现转置的程序,程序里用到了双口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. ------------------------------------------- |
|
相关推荐
3个回答
|
|
确认一下dat_vld_o是否被使用,有可能被优化了
|
|
|
|
这个仿真是我没有进行综合之前的仿真,应该不会被优化才对。
|
|
|
|
终于发现了原因,我再modelsim中仿真时的警告如下Uninitialized out port has no driver ,我仔细查看了发现我的testbench 文件中在例化模块时没有将port map()写完整。特此结贴。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-9 18:20 , Processed in 0.610729 second(s), Total 76, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号