//synophys parallel_case和//synophys full_case

本文介绍了Synopsys综合器中的两个重要指令://synopsys parallel_case和//synopsys full_case。//synophys parallel_case用于消除case语句的优先级逻辑,减小硬件规模,但要求设计者确保不同case不会同时发生。//synophys full_case则用于避免产生隐含的latch,要求所有case覆盖所有可能情况,防止不确定性。正确使用这两个指令能优化FPGA或ASIC设计的逻辑资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//synophys parallel_case和//synophys full_case是综合指令,用来控制综合器把case语句综合成什么硬件逻辑。

 

1、//synophys parallel_case

eg:

case (CASE_SIGNAL)

    begin

      CASE1: A = B;

      CASE2: A = C;

      default:   A = D;

    end
endcase

在这个case语句中,如果没有//synophys parallel_case的限制,case的条件是有优先级的,CASE1的优先级最高,CASE2次之,default最后(case语句从上至下进行判断与执行)。产生这样的优先级,是要用相应的硬件产生的。但是有些设计中,case语句不需要优先级,不同的case不会同时产生,那么综合器生成的优先级逻辑就是冗余的了。为了去除这些冗余逻辑,就用  // synopsys parallel_case来告诉综合器,不需要产生优先级逻辑,而缩小了硬件的规模。但产生的副作用是,设计者要保证CASE1和CASE2不会同时发生,否则A会被赋予一个不确定的值。

case (CASE_SIGNAL) // synopsys parallel_case

    begin

      CASE1: A = B;

      CASE2: A = C;

      default:   A = D;

    end
endcase

 

 

2、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值