mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	Fold loop
This commit is contained in:
		
							parent
							
								
									7f0914a408
								
							
						
					
					
						commit
						da51492dbc
					
				
					 1 changed files with 3 additions and 6 deletions
				
			
		| 
						 | 
					@ -189,6 +189,7 @@ struct XAigerWriter
 | 
				
			||||||
					if (bit != wirebit)
 | 
										if (bit != wirebit)
 | 
				
			||||||
						alias_map[bit] = wirebit;
 | 
											alias_map[bit] = wirebit;
 | 
				
			||||||
					input_bits.insert(wirebit);
 | 
										input_bits.insert(wirebit);
 | 
				
			||||||
 | 
										undriven_bits.erase(bit);
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				if (wire->port_output || keep) {
 | 
									if (wire->port_output || keep) {
 | 
				
			||||||
| 
						 | 
					@ -196,6 +197,8 @@ struct XAigerWriter
 | 
				
			||||||
						if (bit != wirebit)
 | 
											if (bit != wirebit)
 | 
				
			||||||
							alias_map[wirebit] = bit;
 | 
												alias_map[wirebit] = bit;
 | 
				
			||||||
						output_bits.insert(wirebit);
 | 
											output_bits.insert(wirebit);
 | 
				
			||||||
 | 
											if (!wire->port_input)
 | 
				
			||||||
 | 
												unused_bits.erase(bit);
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
					else
 | 
										else
 | 
				
			||||||
						log_debug("Skipping PO '%s' driven by 1'bx\n", log_signal(wirebit));
 | 
											log_debug("Skipping PO '%s' driven by 1'bx\n", log_signal(wirebit));
 | 
				
			||||||
| 
						 | 
					@ -203,12 +206,6 @@ struct XAigerWriter
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		for (auto bit : input_bits)
 | 
					 | 
				
			||||||
			undriven_bits.erase(sigmap(bit));
 | 
					 | 
				
			||||||
		for (auto bit : output_bits)
 | 
					 | 
				
			||||||
			if (!bit.wire->port_input)
 | 
					 | 
				
			||||||
				unused_bits.erase(bit);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		// TODO: Speed up toposort -- ultimately we care about
 | 
							// TODO: Speed up toposort -- ultimately we care about
 | 
				
			||||||
		//       box ordering, but not individual AIG cells
 | 
							//       box ordering, but not individual AIG cells
 | 
				
			||||||
		dict<SigBit, pool<IdString>> bit_drivers, bit_users;
 | 
							dict<SigBit, pool<IdString>> bit_drivers, bit_users;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue