Fix partial case overlap lint for shared A/Zbb ALU ops
This commit is contained in:
		
							parent
							
								
									e34aa5bb45
								
							
						
					
					
						commit
						e3b3893cdf
					
				| 
						 | 
					@ -162,11 +162,15 @@ always @ (*) begin
 | 
				
			||||||
		{7'bzzzzzzz, ALUOP_SRL    }: result = shift_dout;
 | 
							{7'bzzzzzzz, ALUOP_SRL    }: result = shift_dout;
 | 
				
			||||||
		{7'bzzzzzzz, ALUOP_SRA    }: result = shift_dout;
 | 
							{7'bzzzzzzz, ALUOP_SRA    }: result = shift_dout;
 | 
				
			||||||
		{7'bzzzzzzz, ALUOP_SLL    }: result = shift_dout;
 | 
							{7'bzzzzzzz, ALUOP_SLL    }: result = shift_dout;
 | 
				
			||||||
		// A (duplicates of Zbb)
 | 
							// A or Zbb (written this way to avoid case overlap)
 | 
				
			||||||
		{7'b1zzzzzz, ALUOP_MAX    }: result = lt ? op_b : op_a;
 | 
							{7'b1zzzzzz, ALUOP_MAX    },
 | 
				
			||||||
		{7'b1zzzzzz, ALUOP_MAXU   }: result = lt ? op_b : op_a;
 | 
							{7'b0z1zzzz, ALUOP_MAX    }: result = lt ? op_b : op_a;
 | 
				
			||||||
		{7'b1zzzzzz, ALUOP_MIN    }: result = lt ? op_a : op_b;
 | 
							{7'b1zzzzzz, ALUOP_MIN    },
 | 
				
			||||||
		{7'b1zzzzzz, ALUOP_MINU   }: result = lt ? op_a : op_b;
 | 
							{7'b0z1zzzz, ALUOP_MIN    }: result = lt ? op_a : op_b;
 | 
				
			||||||
 | 
							{7'b1zzzzzz, ALUOP_MAXU   },
 | 
				
			||||||
 | 
							{7'b0z1zzzz, ALUOP_MAXU   }: result = lt ? op_b : op_a;
 | 
				
			||||||
 | 
							{7'b1zzzzzz, ALUOP_MINU   },
 | 
				
			||||||
 | 
							{7'b0z1zzzz, ALUOP_MINU   }: result = lt ? op_a : op_b;
 | 
				
			||||||
		// Zba
 | 
							// Zba
 | 
				
			||||||
		{7'bz1zzzzz, ALUOP_SHXADD }: result = sum;
 | 
							{7'bz1zzzzz, ALUOP_SHXADD }: result = sum;
 | 
				
			||||||
		// Zbb
 | 
							// Zbb
 | 
				
			||||||
| 
						 | 
					@ -176,10 +180,6 @@ always @ (*) begin
 | 
				
			||||||
		{7'bzz1zzzz, ALUOP_CLZ    }: result = {{W_DATA-W_SHAMT-1{1'b0}}, ctz_clz};
 | 
							{7'bzz1zzzz, ALUOP_CLZ    }: result = {{W_DATA-W_SHAMT-1{1'b0}}, ctz_clz};
 | 
				
			||||||
		{7'bzz1zzzz, ALUOP_CTZ    }: result = {{W_DATA-W_SHAMT-1{1'b0}}, ctz_clz};
 | 
							{7'bzz1zzzz, ALUOP_CTZ    }: result = {{W_DATA-W_SHAMT-1{1'b0}}, ctz_clz};
 | 
				
			||||||
		{7'bzz1zzzz, ALUOP_CPOP   }: result = {{W_DATA-W_SHAMT-1{1'b0}}, cpop};
 | 
							{7'bzz1zzzz, ALUOP_CPOP   }: result = {{W_DATA-W_SHAMT-1{1'b0}}, cpop};
 | 
				
			||||||
		{7'bzz1zzzz, ALUOP_MAX    }: result = lt ? op_b : op_a;
 | 
					 | 
				
			||||||
		{7'bzz1zzzz, ALUOP_MAXU   }: result = lt ? op_b : op_a;
 | 
					 | 
				
			||||||
		{7'bzz1zzzz, ALUOP_MIN    }: result = lt ? op_a : op_b;
 | 
					 | 
				
			||||||
		{7'bzz1zzzz, ALUOP_MINU   }: result = lt ? op_a : op_b;
 | 
					 | 
				
			||||||
		{7'bzz1zzzz, ALUOP_SEXT_B }: result = {{W_DATA-8{op_a[7]}}, op_a[7:0]};
 | 
							{7'bzz1zzzz, ALUOP_SEXT_B }: result = {{W_DATA-8{op_a[7]}}, op_a[7:0]};
 | 
				
			||||||
		{7'bzz1zzzz, ALUOP_SEXT_H }: result = {{W_DATA-16{op_a[15]}}, op_a[15:0]};
 | 
							{7'bzz1zzzz, ALUOP_SEXT_H }: result = {{W_DATA-16{op_a[15]}}, op_a[15:0]};
 | 
				
			||||||
		{7'bzz1zzzz, ALUOP_ZEXT_H }: result = {{W_DATA-16{1'b0}}, op_a[15:0]};
 | 
							{7'bzz1zzzz, ALUOP_ZEXT_H }: result = {{W_DATA-16{1'b0}}, op_a[15:0]};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue