mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 13:29:12 +00:00 
			
		
		
		
	techmap: Support dynamic cell types
This commit is contained in:
		
							parent
							
								
									dd2195543b
								
							
						
					
					
						commit
						fc82251105
					
				
					 2 changed files with 9 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -222,6 +222,8 @@ X(_TECHMAP_REPLACE_)
 | 
			
		|||
X(techmap_simplemap)
 | 
			
		||||
X(_techmap_special_)
 | 
			
		||||
X(techmap_wrap)
 | 
			
		||||
X(_TECHMAP_PLACEHOLDER_)
 | 
			
		||||
X(techmap_chtype)
 | 
			
		||||
X(T_FALL_MAX)
 | 
			
		||||
X(T_FALL_MIN)
 | 
			
		||||
X(T_FALL_TYP)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -337,6 +337,9 @@ struct TechmapWorker
 | 
			
		|||
			if (c->type.begins_with("\\$"))
 | 
			
		||||
				c->type = c->type.substr(1);
 | 
			
		||||
			
 | 
			
		||||
			if (c->type == ID::_TECHMAP_PLACEHOLDER_ && tpl_cell->has_attribute(ID::techmap_chtype))
 | 
			
		||||
				c->type = RTLIL::escape_id(tpl_cell->get_string_attribute(ID::techmap_chtype));
 | 
			
		||||
 | 
			
		||||
			vector<IdString> autopurge_ports;
 | 
			
		||||
 | 
			
		||||
			for (auto &conn : c->connections())
 | 
			
		||||
| 
						 | 
				
			
			@ -1135,6 +1138,10 @@ struct TechmapPass : public Pass {
 | 
			
		|||
		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("A cell with the type _TECHMAP_PLACEHOLDER_ in the map file will have its type\n");
 | 
			
		||||
		log("changed to the content of the techmap_chtype attribute. This allows for choosing\n");
 | 
			
		||||
		log("the cell type dynamically.\n");
 | 
			
		||||
		log("\n");
 | 
			
		||||
		log("See 'help extract' for a pass that does the opposite thing.\n");
 | 
			
		||||
		log("\n");
 | 
			
		||||
		log("See 'help flatten' for a pass that does flatten the design (which is\n");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue