mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	Add "real" keyword to ilang format
Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
		
							parent
							
								
									c7f2e93024
								
							
						
					
					
						commit
						1cd1b5fc1a
					
				
					 3 changed files with 12 additions and 2 deletions
				
			
		|  | @ -160,7 +160,10 @@ void ILANG_BACKEND::dump_cell(std::ostream &f, std::string indent, const RTLIL:: | ||||||
| 	} | 	} | ||||||
| 	f << stringf("%s" "cell %s %s\n", indent.c_str(), cell->type.c_str(), cell->name.c_str()); | 	f << stringf("%s" "cell %s %s\n", indent.c_str(), cell->type.c_str(), cell->name.c_str()); | ||||||
| 	for (auto &it : cell->parameters) { | 	for (auto &it : cell->parameters) { | ||||||
| 		f << stringf("%s  parameter%s %s ", indent.c_str(), (it.second.flags & RTLIL::CONST_FLAG_SIGNED) != 0 ? " signed" : "", it.first.c_str()); | 		f << stringf("%s  parameter%s%s %s ", indent.c_str(), | ||||||
|  | 				(it.second.flags & RTLIL::CONST_FLAG_SIGNED) != 0 ? " signed" : "", | ||||||
|  | 				(it.second.flags & RTLIL::CONST_FLAG_REAL) != 0 ? " real" : "", | ||||||
|  | 				it.first.c_str()); | ||||||
| 		dump_const(f, it.second); | 		dump_const(f, it.second); | ||||||
| 		f << stringf("\n"); | 		f << stringf("\n"); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -53,6 +53,7 @@ USING_YOSYS_NAMESPACE | ||||||
| "attribute"	{ return TOK_ATTRIBUTE; } | "attribute"	{ return TOK_ATTRIBUTE; } | ||||||
| "parameter"	{ return TOK_PARAMETER; } | "parameter"	{ return TOK_PARAMETER; } | ||||||
| "signed"	{ return TOK_SIGNED; } | "signed"	{ return TOK_SIGNED; } | ||||||
|  | "real"		{ return TOK_REAL; } | ||||||
| "wire"		{ return TOK_WIRE; } | "wire"		{ return TOK_WIRE; } | ||||||
| "memory"	{ return TOK_MEMORY; } | "memory"	{ return TOK_MEMORY; } | ||||||
| "width"		{ return TOK_WIDTH; } | "width"		{ return TOK_WIDTH; } | ||||||
|  |  | ||||||
|  | @ -61,7 +61,7 @@ USING_YOSYS_NAMESPACE | ||||||
| %token TOK_CELL TOK_CONNECT TOK_SWITCH TOK_CASE TOK_ASSIGN TOK_SYNC | %token TOK_CELL TOK_CONNECT TOK_SWITCH TOK_CASE TOK_ASSIGN TOK_SYNC | ||||||
| %token TOK_LOW TOK_HIGH TOK_POSEDGE TOK_NEGEDGE TOK_EDGE TOK_ALWAYS TOK_GLOBAL TOK_INIT | %token TOK_LOW TOK_HIGH TOK_POSEDGE TOK_NEGEDGE TOK_EDGE TOK_ALWAYS TOK_GLOBAL TOK_INIT | ||||||
| %token TOK_UPDATE TOK_PROCESS TOK_END TOK_INVALID TOK_EOL TOK_OFFSET | %token TOK_UPDATE TOK_PROCESS TOK_END TOK_INVALID TOK_EOL TOK_OFFSET | ||||||
| %token TOK_PARAMETER TOK_ATTRIBUTE TOK_MEMORY TOK_SIZE TOK_SIGNED TOK_UPTO | %token TOK_PARAMETER TOK_ATTRIBUTE TOK_MEMORY TOK_SIZE TOK_SIGNED TOK_REAL TOK_UPTO | ||||||
| 
 | 
 | ||||||
| %type <rsigspec> sigspec_list_reversed | %type <rsigspec> sigspec_list_reversed | ||||||
| %type <sigspec> sigspec sigspec_list | %type <sigspec> sigspec sigspec_list | ||||||
|  | @ -241,6 +241,12 @@ cell_body: | ||||||
| 		free($4); | 		free($4); | ||||||
| 		delete $5; | 		delete $5; | ||||||
| 	} | | 	} | | ||||||
|  | 	cell_body TOK_PARAMETER TOK_REAL TOK_ID constant EOL { | ||||||
|  | 		current_cell->parameters[$4] = *$5; | ||||||
|  | 		current_cell->parameters[$4].flags |= RTLIL::CONST_FLAG_REAL; | ||||||
|  | 		free($4); | ||||||
|  | 		delete $5; | ||||||
|  | 	} | | ||||||
| 	cell_body TOK_CONNECT TOK_ID sigspec EOL { | 	cell_body TOK_CONNECT TOK_ID sigspec EOL { | ||||||
| 		if (current_cell->hasPort($3)) | 		if (current_cell->hasPort($3)) | ||||||
| 			rtlil_frontend_ilang_yyerror(stringf("ilang error: redefinition of cell port %s.", $3).c_str()); | 			rtlil_frontend_ilang_yyerror(stringf("ilang error: redefinition of cell port %s.", $3).c_str()); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue