mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 13:29:12 +00:00 
			
		
		
		
	Also rename cells with _TECHMAP_REPLACE_. prefix, as per @cliffordwolf
This commit is contained in:
		
							parent
							
								
									a4f2f7d23c
								
							
						
					
					
						commit
						265a655ef9
					
				
					 1 changed files with 8 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -384,6 +384,8 @@ struct TechmapWorker
 | 
			
		|||
 | 
			
		||||
			if (techmap_replace_cell)
 | 
			
		||||
				c_name = orig_cell_name;
 | 
			
		||||
			else if (it.second->name.begins_with("\\_TECHMAP_REPLACE_."))
 | 
			
		||||
				c_name = stringf("%s%s", orig_cell_name.c_str(), c_name.c_str() + strlen("\\_TECHMAP_REPLACE_"));
 | 
			
		||||
			else
 | 
			
		||||
				apply_prefix(cell->name, c_name);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1204,10 +1206,12 @@ struct TechmapPass : public Pass {
 | 
			
		|||
		log("\n");
 | 
			
		||||
		log("A cell with the name _TECHMAP_REPLACE_ in the map file will inherit the name\n");
 | 
			
		||||
		log("and attributes of the cell that is being replaced.\n");
 | 
			
		||||
		log("A wire with a name of the form `_TECHMAP_REPLACE_.<suffix>` in the map file will\n");
 | 
			
		||||
		log("cause a new wire alias to be created with its name set to the original but with\n");
 | 
			
		||||
		log("its `_TECHMAP_REPLACE_' prefix to be substituted with the name of the cell being\n");
 | 
			
		||||
		log("replaced.\n");
 | 
			
		||||
		log("A cell with a name of the form `_TECHMAP_REPLACE_.<suffix>` in the map file will\n");
 | 
			
		||||
		log("be named thus but with the `_TECHMAP_REPLACE_' prefix substituted with the name\n");
 | 
			
		||||
		log("of the cell being replaced.\n");
 | 
			
		||||
		log("Similarly, a wire named in the form `_TECHMAP_REPLACE_.<suffix>` will cause a\n");
 | 
			
		||||
		log("new wire alias to be created and named as above but with the `_TECHMAP_REPLACE_'\n");
 | 
			
		||||
		log("prefix also substituted.\n");
 | 
			
		||||
		log("\n");
 | 
			
		||||
		log("See 'help extract' for a pass that does the opposite thing.\n");
 | 
			
		||||
		log("\n");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue