mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	Add handling of verific OPER_NTO1MUX and OPER_WIDE_NTO1MUX
Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
		
							parent
							
								
									d1cb5150aa
								
							
						
					
					
						commit
						9cd9f5fc78
					
				
					 1 changed files with 25 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -544,6 +544,31 @@ bool VerificImporter::import_netlist_instance_cells(Instance *inst, RTLIL::IdStr
 | 
			
		|||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (inst->Type() == OPER_NTO1MUX) {
 | 
			
		||||
		module->addShr(inst_name, IN2, IN1, net_map_at(inst->GetOutput()));
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (inst->Type() == OPER_WIDE_NTO1MUX)
 | 
			
		||||
	{
 | 
			
		||||
		SigSpec data = IN2, out = OUT;
 | 
			
		||||
 | 
			
		||||
		int wordsize_bits = ceil_log2(GetSize(out));
 | 
			
		||||
		int wordsize = 1 << wordsize_bits;
 | 
			
		||||
 | 
			
		||||
		SigSpec sel = {IN1, SigSpec(State::S0, wordsize_bits)};
 | 
			
		||||
 | 
			
		||||
		SigSpec padded_data;
 | 
			
		||||
		for (int i = 0; i < GetSize(data); i += GetSize(out)) {
 | 
			
		||||
			SigSpec d = data.extract(i, GetSize(out));
 | 
			
		||||
			d.extend_u0(wordsize);
 | 
			
		||||
			padded_data.append(d);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		module->addShr(inst_name, padded_data, sel, out);
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (inst->Type() == OPER_WIDE_TRI) {
 | 
			
		||||
		module->addMux(inst_name, RTLIL::SigSpec(RTLIL::State::Sz, inst->OutputSize()), IN, net_map_at(inst->GetControl()), OUT);
 | 
			
		||||
		return true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue