FPGA——if else & case语句分析

本文分析了FPGA设计中if-else和case语句的特性及其实现。if-else语句具有优先级,而case语句则没有。多级嵌套的if-else可能导致响应速度降低,影响FPGA的Fmax,而case语句的平行结构不会产生优先级。在需要逻辑优先级时使用if-else,否则可以考虑case语句以优化电路速度。
摘要由CSDN通过智能技术生成

if else & case语句分析

If..else语句特点:具有优先级。If不满足时,才执行else语句。

Case 语句特点:没有优先级。

 

If..else语句FPGA 代码实现:

module test(

                                   input[1:0] sel_C,

                                   input[1:0] data_C,

                                   output reg data_out_C

                            );

always@(*)   //组合逻辑  用“=”不用“<=”

begin

       if(sel_C[1])

              data_out_C = data_C[1]; 

       else if(sel_C[0])

              data_out_C = data_C[0];

       else

              data_out_C = 0;

end

endmodule

 

软件编译,查看RTL视图,QuartusII: Tools-Netlist Viewers-RTL Viewer如图1所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值