微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求教vivado优化掉了我需要的memory

求教vivado优化掉了我需要的memory

时间:10-02 整理:3721RD 点击:
有一个memory,在用vivado跑完synthesis过后,被莫名其妙的优化掉了,用dont_touch,发现输出端口接地。不是代码问题,已经跑了很久的工程。
1、以为是ila的问题,最开始有ila,出现过该memory被优化过的现象,SVN上的版本在删除掉ila后,该memory没有被优化掉,但是目前有ila,也没有被优化掉。
2、本地版本,没有ila。一直被优化掉。


你的memory读写都有吗?之前貌似遇到过,只写memory不读memory,然后就被优化掉的情况……



   读写都有的,我换版本2015.2的编译没有被优化,2015.3和2015.4的均被优化掉了



   我memory是直接调用xinlinx原语生成的。


原语我倒没用过,我都是直接从IP生成的,不过应该是一样的吧。可以试试以下两种方法?
1.综合选项中keep_hierarchy改成Yes;
2.RAM的输入输出信号,都标记上(*KEEP = “TRUE”*);
不知道管不管用,可以试试看。

試試看 用KEEP

1. 可以尝试加综合约束(*keep = "true"*)
2. 将memory接口经过异或门的组合逻辑输出到其他pad上。
3.检查代码,一般这个还是代码有些不合理之处。

学习了

是不是没关联到输出?如果这个memory和输出无关就会被优化吧

http://bbs.eetop.cn/?fromuid=170088

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top