如何防止综合被优化
时间:10-02
整理:3721RD
点击:
用ISE综合,在代码中有些寄存器在自己module里有用到,没有拉到输出口,用chipscope抓取时抓不到,综合时被优化掉了,请问有什么综合约束语句可以防止被优化掉吗?
keep preserve之类的
1、做一个无用的逻辑,和那么信号产生逻辑关系,引到IO或其他接口
2、加上工具可以识别的语言,禁止被优化
综合里有个选项,意思是“保持层级”之类的,把它勾上
如果是内部寄存器的话,(*keep=“yes”*)放在reg前面;如果是输入输出,如3#所说,用assign语句进行连接,然后加(*keep=“yes”*),这个边试边领悟。
尽量用时序逻辑,避免组合逻辑,还有:有可能不是被优化掉了,是被修改名称了,找找相关的或许能够找到
确实是有可能被优化的,有些不用的寄存器可能被化为,DC中有一个命令可以 阻止执行这种优化,具体命令忘了,一般综合时都是需要加上这个命令的,否则被优化的网表和RTL做FORMALITY通不过,
学习了
通常都是拿几个寄存器打拍接到module的port上去
