mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-03 21:09:12 +00:00 
			
		
		
		
	cxxrtl: avoid unused variable warning for transparent $memrd ports. NFC.
This commit is contained in:
		
							parent
							
								
									9d0f1aa222
								
							
						
					
					
						commit
						8d70f7abf9
					
				
					 1 changed files with 23 additions and 21 deletions
				
			
		| 
						 | 
				
			
			@ -1134,31 +1134,33 @@ struct CxxrtlWorker {
 | 
			
		|||
				f << indent << "if(" << valid_index_temp << ".valid) {\n";
 | 
			
		||||
				inc_indent();
 | 
			
		||||
					if (writable_memories[memory]) {
 | 
			
		||||
						std::string addr_temp = fresh_temporary();
 | 
			
		||||
						f << indent << "const value<" << cell->getPort(ID::ADDR).size() << "> &" << addr_temp << " = ";
 | 
			
		||||
						dump_sigspec_rhs(cell->getPort(ID::ADDR));
 | 
			
		||||
						f << ";\n";
 | 
			
		||||
						std::string lhs_temp = fresh_temporary();
 | 
			
		||||
						f << indent << "value<" << memory->width << "> " << lhs_temp << " = "
 | 
			
		||||
						            << mangle(memory) << "[" << valid_index_temp << ".index];\n";
 | 
			
		||||
						std::vector<const RTLIL::Cell*> memwr_cells(transparent_for[cell].begin(), transparent_for[cell].end());
 | 
			
		||||
						std::sort(memwr_cells.begin(), memwr_cells.end(),
 | 
			
		||||
							[](const RTLIL::Cell *a, const RTLIL::Cell *b) {
 | 
			
		||||
								return a->getParam(ID::PRIORITY).as_int() < b->getParam(ID::PRIORITY).as_int();
 | 
			
		||||
							});
 | 
			
		||||
						for (auto memwr_cell : memwr_cells) {
 | 
			
		||||
							f << indent << "if (" << addr_temp << " == ";
 | 
			
		||||
							dump_sigspec_rhs(memwr_cell->getPort(ID::ADDR));
 | 
			
		||||
							f << ") {\n";
 | 
			
		||||
							inc_indent();
 | 
			
		||||
								f << indent << lhs_temp << " = " << lhs_temp;
 | 
			
		||||
								f << ".update(";
 | 
			
		||||
								dump_sigspec_rhs(memwr_cell->getPort(ID::DATA));
 | 
			
		||||
								f << ", ";
 | 
			
		||||
								dump_sigspec_rhs(memwr_cell->getPort(ID::EN));
 | 
			
		||||
								f << ");\n";
 | 
			
		||||
							dec_indent();
 | 
			
		||||
							f << indent << "}\n";
 | 
			
		||||
						if (!memwr_cells.empty()) {
 | 
			
		||||
							std::string addr_temp = fresh_temporary();
 | 
			
		||||
							f << indent << "const value<" << cell->getPort(ID::ADDR).size() << "> &" << addr_temp << " = ";
 | 
			
		||||
							dump_sigspec_rhs(cell->getPort(ID::ADDR));
 | 
			
		||||
							f << ";\n";
 | 
			
		||||
							std::sort(memwr_cells.begin(), memwr_cells.end(),
 | 
			
		||||
								[](const RTLIL::Cell *a, const RTLIL::Cell *b) {
 | 
			
		||||
									return a->getParam(ID::PRIORITY).as_int() < b->getParam(ID::PRIORITY).as_int();
 | 
			
		||||
								});
 | 
			
		||||
							for (auto memwr_cell : memwr_cells) {
 | 
			
		||||
								f << indent << "if (" << addr_temp << " == ";
 | 
			
		||||
								dump_sigspec_rhs(memwr_cell->getPort(ID::ADDR));
 | 
			
		||||
								f << ") {\n";
 | 
			
		||||
								inc_indent();
 | 
			
		||||
									f << indent << lhs_temp << " = " << lhs_temp;
 | 
			
		||||
									f << ".update(";
 | 
			
		||||
									dump_sigspec_rhs(memwr_cell->getPort(ID::DATA));
 | 
			
		||||
									f << ", ";
 | 
			
		||||
									dump_sigspec_rhs(memwr_cell->getPort(ID::EN));
 | 
			
		||||
									f << ");\n";
 | 
			
		||||
								dec_indent();
 | 
			
		||||
								f << indent << "}\n";
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
						f << indent;
 | 
			
		||||
						dump_sigspec_lhs(cell->getPort(ID::DATA));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue