【Verilog】强基础,if else 语句,以及综合RTL

对比两种写法,以及其RTL

写法1

bash 复制代码
module zaza(
    input              clk	 ,
	input              rst   ,
	output  [7:0]      a     ,
	output reg [1:0]   b
    );
    
   always @(posedge clk or posedge rst)begin 
	  if(rst)begin
	   b<=2'd0;
	  end
	  else if(a>'d6)begin
	    b<=2'd1;
	  end
	  else if(a>'d200)begin
	     b<=2'd2;
	  end
	  else begin
	     b<=2'd0;
	  end
	end
    
endmodule
bash 复制代码
因此,如果几个条件不互斥,RTL是这样处理的,其实是有优先级的。
第一个if满足后,立马就出第一个条件满足后的结果。
其实是if 有优先级的。

写法2

bash 复制代码
module zaza(
    input              clk	 ,
	input              rst   ,
	output  [7:0]      a     ,
	output reg [1:0]   b
    );
    
   always @(posedge clk or posedge rst)begin
      if(rst)begin
	   b<=2'd0;
	  end
	  else begin
	   if(a>'d6)begin
	        b<=2'd1;
	   end
	   else begin
	       if(a>'d200)begin
	           b<=2'd2;
	       end
	       else begin
	           b<=2'd0;  
	       end
	   end
	  end  
   end

endmodule

综上

综上,两种写法,综合出的电路是一样的。

其他阅读推荐:

【数字图像处理与FPGA实现】00 绪,建立"算法思维"与"硬件思维"的桥梁

相关推荐
做一个快乐的小傻瓜1 小时前
XCKU5P引脚约束
fpga开发
水云桐程序员7 小时前
FPGA开发需要的环境配置
fpga开发
LCMICRO-133108477468 小时前
长芯微LPS6288完全P2P替代TPS61288,是一款具有 15A 开关电流的全集成同步升压转换器
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·同步升压转换器
Soari11 小时前
FPGA开发:Vivado 打开工程的两种方式详解(.xpr vs Tcl)
fpga开发
星华云12 小时前
[FPGA] ISE DDS IP核简单记录使用
fpga开发
Kong_199414 小时前
芯片开发学习笔记·二十五——UCIe
fpga开发·芯片开发
发发就是发15 小时前
I2C适配器与算法:从一次诡异的时序问题说起
服务器·驱动开发·单片机·嵌入式硬件·算法·fpga开发
ALINX技术博客1 天前
【黑金云课堂】FPGA技术教程FPGA基础:流水灯实验
fpga开发·fpga
化屾为海1 天前
FPGA制造与测试全流程
fpga开发·制造
Aaron15881 天前
RFSOC+VU13P+RK3588的核心优势与应用场景分析
嵌入式硬件·算法·matlab·fpga开发·信息与通信·信号处理·基带工程