mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	memory_libmap: print message about attributes forcing ram kind
This commit is contained in:
		
							parent
							
								
									911a76affa
								
							
						
					
					
						commit
						7542146fc5
					
				
					 1 changed files with 7 additions and 0 deletions
				
			
		|  | @ -431,6 +431,7 @@ void MemMapping::determine_style() { | |||
| 	style = ""; | ||||
| 	if (mem.get_bool_attribute(ID::lram)) { | ||||
| 		kind = RamKind::Huge; | ||||
| 		log("found attribute 'lram' on memory %s.%s, forced mapping to huge RAM\n", log_id(mem.module->name), log_id(mem.memid)); | ||||
| 		return; | ||||
| 	} | ||||
| 	for (auto attr: {ID::ram_block, ID::rom_block, ID::ram_style, ID::rom_style, ID::ramstyle, ID::romstyle, ID::syn_ramstyle, ID::syn_romstyle}) { | ||||
|  | @ -438,6 +439,7 @@ void MemMapping::determine_style() { | |||
| 			Const val = mem.attributes.at(attr); | ||||
| 			if (val == 1) { | ||||
| 				kind = RamKind::NotLogic; | ||||
| 				log("found attribute '%s = 1' on memory %s.%s, disabled mapping to FF\n", log_id(attr), log_id(mem.module->name), log_id(mem.memid)); | ||||
| 				return; | ||||
| 			} | ||||
| 			std::string val_s = val.decode_string(); | ||||
|  | @ -450,15 +452,20 @@ void MemMapping::determine_style() { | |||
| 				// Nothing.
 | ||||
| 			} else if (val_s == "logic" || val_s == "registers") { | ||||
| 				kind = RamKind::Logic; | ||||
| 				log("found attribute '%s = %s' on memory %s.%s, forced mapping to FF\n", log_id(attr), val_s.c_str(), log_id(mem.module->name), log_id(mem.memid)); | ||||
| 			} else if (val_s == "distributed") { | ||||
| 				kind = RamKind::Distributed; | ||||
| 				log("found attribute '%s = %s' on memory %s.%s, forced mapping to distributed RAM\n", log_id(attr), val_s.c_str(), log_id(mem.module->name), log_id(mem.memid)); | ||||
| 			} else if (val_s == "block" || val_s == "block_ram" || val_s == "ebr") { | ||||
| 				kind = RamKind::Block; | ||||
| 				log("found attribute '%s = %s' on memory %s.%s, forced mapping to block RAM\n", log_id(attr), val_s.c_str(), log_id(mem.module->name), log_id(mem.memid)); | ||||
| 			} else if (val_s == "huge" || val_s == "ultra") { | ||||
| 				kind = RamKind::Huge; | ||||
| 				log("found attribute '%s = %s' on memory %s.%s, forced mapping to huge RAM\n", log_id(attr), val_s.c_str(), log_id(mem.module->name), log_id(mem.memid)); | ||||
| 			} else { | ||||
| 				kind = RamKind::NotLogic; | ||||
| 				style = val_s; | ||||
| 				log("found attribute '%s = %s' on memory %s.%s, forced mapping to %s RAM\n", log_id(attr), val_s.c_str(), log_id(mem.module->name), log_id(mem.memid), val_s.c_str()); | ||||
| 			} | ||||
| 			return; | ||||
| 		} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue