mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	aiger: fixes for ports that have start_offset != 0
This commit is contained in:
		
							parent
							
								
									ca3fc3c882
								
							
						
					
					
						commit
						a0afa1787e
					
				
					 3 changed files with 55 additions and 39 deletions
				
			
		| 
						 | 
				
			
			@ -629,30 +629,30 @@ struct AigerWriter
 | 
			
		|||
				int a = aig_map.at(sig[i]);
 | 
			
		||||
 | 
			
		||||
				if (verbose_map)
 | 
			
		||||
					wire_lines[a] += stringf("wire %d %d %s\n", a, i, log_id(wire));
 | 
			
		||||
					wire_lines[a] += stringf("wire %d %d %s\n", a, wire->start_offset+i, log_id(wire));
 | 
			
		||||
 | 
			
		||||
				if (wire->port_input) {
 | 
			
		||||
					log_assert((a & 1) == 0);
 | 
			
		||||
					input_lines[a] += stringf("input %d %d %s\n", (a >> 1)-1, i, log_id(wire));
 | 
			
		||||
					input_lines[a] += stringf("input %d %d %s\n", (a >> 1)-1, wire->start_offset+i, log_id(wire));
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (wire->port_output) {
 | 
			
		||||
					int o = ordered_outputs.at(sig[i]);
 | 
			
		||||
					output_lines[o] += stringf("output %d %d %s\n", o, i, log_id(wire));
 | 
			
		||||
					output_lines[o] += stringf("output %d %d %s\n", o, wire->start_offset+i, log_id(wire));
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (init_inputs.count(sig[i])) {
 | 
			
		||||
					int a = init_inputs.at(sig[i]);
 | 
			
		||||
					log_assert((a & 1) == 0);
 | 
			
		||||
					init_lines[a] += stringf("init %d %d %s\n", (a >> 1)-1, i, log_id(wire));
 | 
			
		||||
					init_lines[a] += stringf("init %d %d %s\n", (a >> 1)-1, wire->start_offset+i, log_id(wire));
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (ordered_latches.count(sig[i])) {
 | 
			
		||||
					int l = ordered_latches.at(sig[i]);
 | 
			
		||||
					if (zinit_mode && (aig_latchinit.at(l) == 1))
 | 
			
		||||
						latch_lines[l] += stringf("invlatch %d %d %s\n", l, i, log_id(wire));
 | 
			
		||||
						latch_lines[l] += stringf("invlatch %d %d %s\n", l, wire->start_offset+i, log_id(wire));
 | 
			
		||||
					else
 | 
			
		||||
						latch_lines[l] += stringf("latch %d %d %s\n", l, i, log_id(wire));
 | 
			
		||||
						latch_lines[l] += stringf("latch %d %d %s\n", l, wire->start_offset+i, log_id(wire));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -725,13 +725,12 @@ struct XAigerWriter
 | 
			
		|||
				if (input_bits.count(b)) {
 | 
			
		||||
					int a = aig_map.at(b);
 | 
			
		||||
					log_assert((a & 1) == 0);
 | 
			
		||||
					input_lines[a] += stringf("input %d %d %s\n", (a >> 1)-1, i, log_id(wire));
 | 
			
		||||
					input_lines[a] += stringf("input %d %d %s\n", (a >> 1)-1, wire->start_offset+i, log_id(wire));
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (output_bits.count(b)) {
 | 
			
		||||
					int o = ordered_outputs.at(b);
 | 
			
		||||
					int init = 2;
 | 
			
		||||
					output_lines[o] += stringf("output %d %d %s %d\n", o - GetSize(co_bits), i, log_id(wire), init);
 | 
			
		||||
					output_lines[o] += stringf("output %d %d %s\n", o - GetSize(co_bits), wire->start_offset+i, log_id(wire));
 | 
			
		||||
					continue;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue