FPGA的防止被综合语句总结

对于fpga的开发人员来说,经常会使用到signaltap或者ChipScope这类调试工具,但是有些信号在调试工具中,添加失败。所以这里就需要用到防止综合的语句了。

在代码中添加了防止综合语句,就可以正常的使用调试工具抓取信号了。话不多说。直接开搞。

转载:

对于intel或者altera来说。

一般是使用quartus自带的综合器或者使用Synplify综合器。

对于wire型语句:

quartus自带的综合器使用:/* synthesis keep = 1 */和/*synthesis syn_keep = 1*/

Synplify综合器使用:/*synthesis syn_keep = 1*/。

对于reg型语句:

使用:/* synthesis preserve = 1 */或者/*synthesis noprune */,这两个貌似都可以。

使用的例子:都是在“;”之前加入语句的 。

reg [7:0]cnt/*synthesis noprune */;

wire [7:0]cnt/*synthesis noprune */;

 

对于xilinx来说:

当使用xilinx自带的XST的综合器:

(* KEEP = “TRUE” ) 或者 ( keep= “true” *)这样就可以实现ChipScope的观察而不被优化掉了。eg:(* KEEP = “TRUE” ) reg [10:0] cnt ,或者 ( keep= “true” *) reg [10:0] cnt;

当使用Synplify Pro综合

Synplify Pro对wire、reg类型的信号有着不同的综合属性。

(1) 对于wire型信号,使用/* synthesis syn_keep=1 */综合属性,例如下面的语句:

wire [7:0] data_in /* synthesis syn_keep=1 */;

(2) 对于reg型信号,使用/* synthesis preserve = 1 */综合属性,例如下面的语句:

reg [7:0] data_in /* synthesis preserve = 1 */;

当然,我使用的时候,一般使用(*mark_debug = "true"*)也可以防止被综合。

ed:(*mark_debug = "true"*)wire   cnt ;

 

笔记,免得以后忘记了。

嘻嘻嘻。

 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值