【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 绪,建立"算法思维"与"硬件思维"的桥梁

相关推荐
FPGA小c鸡6 小时前
FPGA DSP与AI加速应用案例集合:从入门到精通的完整指南
人工智能·fpga开发
Fpga_User6 小时前
关于selectio IP的一些问题
fpga开发·ip
minglie110 小时前
AXI UART_LITE linux测试
fpga开发
Terasic友晶科技13 小时前
2-DE10-Nano的HDMI彩条显示案例(分辨率可切换)—— VGA显示控制器模块设计
fpga开发·de10-nano·hdmi彩条显示·vga显示控制·terasic开发板
kanhao10014 小时前
电平交叉采样 (Level-Crossing Sampling)
算法·fpga开发·fpga
忙什么果1 天前
上位机、下位机、FPGA、算法放在哪层合适?
算法·fpga开发
博览鸿蒙1 天前
从迷茫自学到稳定入行:我的 FPGA 上岸全过程
fpga开发
芯门1 天前
FPGA商用级ISP(二):镜头阴影校正(LSC)的网格增益插值与并行硬件架构实现
图像处理·fpga开发·isp
Felven2 天前
corundum 40G开源网卡测试结果
fpga开发·性能测试·dds·开源网卡·mqnic